| 
 
                
TA的每日心情|  | 开心 2018-5-17 15:44
 | 
|---|
 签到天数: 1 天 [LV.1]安纳金 
 管理员 L2CN创建者   
 
	积分146377 
 | 
 
| 天堂II单机群号:398120010 欢迎爱好天堂II朋友一起来学习交流! 
 
 什么叫区域脚本 , 区域脚本就是当有玩家进入区域时系统会自动执行的脚本
 l2j将天堂2世界分成了无数个不同的区域,每个区域都有不同的编号
 具体需要设置DP里
 zone 文件夹下的 zone.xml文件 和 数据库 zone_vertices
 这样一个新的区域就出现了。。。并且新区域还拥有相应的编号 ~。那怎么写区域脚本呢 ?。
 其实区域脚本和一般的脚本大体相同。
 举个例子吧。
 在DP中加入 data/scripts/custom/MuteZone/MuteZone.java文件
 MuteZone.java内容为
 ==============================================================================
 
 
 package custom.MuteZone;
 
 
 import net.sf.l2j.gameserver.model.actor.L2Character;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
 import net.sf.l2j.gameserver.model.quest.Quest;
 import net.sf.l2j.gameserver.model.zone.L2ZoneType;
 public class MuteZone extends Quest
 {
 private static final String qn = "MuteZone";//任务名
 private static final int[] ZONES = {zoneid1,zoneid2};//区域ID
 //玩家进入该区域的作用
 public String onEnterZone(L2Character character, L2ZoneType zone)
 {
 if (character instanceof L2PcInstance)
 {
 switch(zone.getId())
 case zoneid1:
 //这个设置了 当玩家进入该区域时将会收到系统信息
 character.sendMessage("哇,进入了SZLY区域,你开心了。。");
 action...//这里写你想要的其他功能。。
 break;
 case zoneid2:
 character.sendMessage("走错地方了吧,你完蛋了。。");
 action...//这里写你想要的其他功能。。
 break;
 default:
 return super.onEnterZone(character,zone);
 }
 return super.onEnterZone(character,zone);
 }
 //玩家离开区域时的作用
 public String onExitZone(L2Character character, L2ZoneType zone)
 {
 switch(zone.getId())
 case zoneid1:
 //这个设置了 当玩家离开该区域时将会收到系统信息
 character.sendMessage("你已经离开了SZLY区域,欢迎下次再来。。");
 action...//这里写你想要的其他功能。。
 break;
 case zoneid2:
 character.sendMessage("算你走运,跑的到快。。");
 action...//这里写你想要的其他功能。。
 break;
 default:
 return super.onExitZone(character,zone);
 }
 return super.onExitZone(character,zone);
 }
 public MuteZone(int questId, String name, String descr)
 {
 super(questId, name, descr);
 for (int zones : ZONES)
 {
 addEnterZoneId(zones);
 addExitZoneId(zones);
 }
 }
 public static void main(String[] args)
 {
 new MuteZone(-1,qn,"custom");
 }
 }
 到此你的区域脚本就写完了吧MuteZone.java放到data/scripts/custom/下面设置scripts.cfg文件就可以用了
 当玩家进入这个区域的时候就会激活脚本,但是值得注意的是 脚本执行只会是一次即进入时和离开时~
 
 
 | 
 上一篇:天堂2 数据库翻译简介 下一篇:天堂2 如何从数据库修改商店物品 |