[服务端教程] 天堂2 如何写区域脚本方法

6
回复
5447
查看
打印 上一主题 下一主题
[复制链接]

微信扫一扫 分享朋友圈

  • TA的每日心情
    开心
    2018-5-17 15:44
  • 签到天数: 1 天

    [LV.1]安纳金

     成长值: 85395

    303

    主题

    430

    帖子

    13万

    祝福币

    管理员

    L2CN创建者

    Rank: 9Rank: 9Rank: 9

    积分
    135893
    楼主
    发表于 2018-5-17 21:56:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    天堂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 如何从数据库修改商店物品
    收藏
    收藏0
    全新论坛.全新开始.感谢大家这10多年来一直默默支持者L2CN!祝各位游戏愉快!!
    回复

    使用道具 举报

  • TA的每日心情

    2022-1-10 03:53
  • 签到天数: 87 天

    [LV.6]斯佩西亚

    1

    主题

    109

    帖子

    291

    祝福币

    L2CN战士

    Rank: 2

    积分
    291
    沙发
    发表于 2021-1-8 05:42:56 | 只看该作者
    學習了!! 不過還是不太理解! 希望能出更全面的教學
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-5-9 19:28
  • 签到天数: 103 天

    [LV.6]斯佩西亚

    4

    主题

    132

    帖子

    502

    祝福币

    L2CN斗士

    Rank: 3Rank: 3

    积分
    502
    板凳
    发表于 2021-3-2 12:51:25 | 只看该作者
    不清楚具体什么作用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-10-2 15:41
  • 签到天数: 1 天

    [LV.1]安纳金

    0

    主题

    4

    帖子

    7

    祝福币

    L2CN新兵

    Rank: 1

    积分
    7
    地板
    发表于 2021-10-2 15:56:35 | 只看该作者
    完全看不懂啊~~~~~~~~~~~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-10-16 10:17
  • 签到天数: 2 天

    [LV.1]安纳金

    0

    主题

    6

    帖子

    0

    祝福币

    L2CN新兵

    Rank: 1

    积分
    0
    5#
    发表于 2021-10-9 10:55:43 | 只看该作者
    大神牛叉  好好学习  天天向上
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-11-3 17:44
  • 签到天数: 28 天

    [LV.4]伊丝蒂娜

    3

    主题

    80

    帖子

    50

    祝福币

    L2CN新兵

    Rank: 1

    积分
    50
    6#
    发表于 2021-10-9 16:47:06 | 只看该作者
    大神牛叉  好好学习  天天向上
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-12-8 18:33
  • 签到天数: 13 天

    [LV.3]巴洛克

    0

    主题

    30

    帖子

    76

    祝福币

    L2CN新兵

    Rank: 1

    积分
    76
    7#
    发表于 2021-10-21 11:26:35 | 只看该作者
    這個可能要略懂程式設計才能看得比較懂 哈..
    敬收
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    赞助我们:L2CN与您快乐分享

    支付宝-月付

    微信-月付

    论坛唯一Q群:

    398-120-010

    地址:www.l2cn.com

    邮箱:850111905@qq.com

    Powered by L2CN单机论坛 © 2018-2019 Inc.   版权所有   

    L2CN单机论坛  沪ICP备15020893号-1