查看: 1291|回复: 9

如何在事件中自动触发npc对话....

[复制链接]
  • TA的每日心情

    2023-3-30 10:06
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    5

    主题

    40

    回帖

    257

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    257
    发表于 2022-11-20 11:59:10 | 显示全部楼层 |阅读模式
    是的...我又来了....
    在事件的学习中,遇到了一个新的问题,那就是,如何自动触发npc的对话

    这有一个下位的替代,那就是在事件地图内召唤一个npc,但是我感觉,这个似乎不能达成我希望的效果,特来请教....



    1.     var map = eim.createInstanceMapS(eventmapid);//这就是设定一个事件地图
    2.     map.toggleDrops();//这句我其实不知道啥意思,但是找到的模板中有这句,直译应该为转换掉落?不理解
    3.     map.spawnNpc(9209101, new java.awt.Point(854, -24));//这就是在这个地图内召唤一个ID为“9209101”的npc
    复制代码




    回复

    使用道具 举报

  • TA的每日心情

    2023-3-30 10:06
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    5

    主题

    40

    回帖

    257

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    257
     楼主| 发表于 2022-11-20 12:04:41 | 显示全部楼层
    想了一下使用环境,应该是需要队长触发,而不是所有人触发
    不过这个影响也不大,getPlayers().iter().isLeader()应该就行了
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-19 01:51
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    31

    主题

    47

    回帖

    2223

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    2223
    发表于 2022-11-20 13:40:03 | 显示全部楼层

    回帖奖励 +5 冒险币

    先取得事件里所有注册玩家,再循环获取的方法,实现打开NPC对话框

    1. //事件里指定队长触发NPC对话框
    2. function xmduizhangnpc(eim) {
    3.     var players = eim.getPlayers();//取得事件里的注册玩家
    4.         var NPCScriptManager = Packages.scripting.NPCScriptManager;
    5.     for (var i = 0; i < players.size(); i++) {//循环玩家
    6.         var mch = players.get(i);//获取到个玩家信息
    7.         if (mch.getParty() != null) {//判断组队信息是否存在
    8.                         if (mch.getParty().getLeader().getId() == mch.getId()) {//判断是否为队长
    9.                                 NPCScriptManager.getInstance().sendstart(mch.getClient(),9900004,0);//触发NPC对话框
    10.                         }
    11.                 }
    12.         
    13.     }
    14. }
    复制代码

    开服订制/脚本订制/ ---小米QQ526703257
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-19 01:51
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    31

    主题

    47

    回帖

    2223

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    2223
    发表于 2022-11-20 13:42:11 | 显示全部楼层
    admin 发表于 2022-11-20 13:40
    先取得事件里所有注册玩家,再循环获取的方法,实现打开NPC对话框

    这个方法不止在事件里能用,大家有兴趣可以开发出更多玩法
    开服订制/脚本订制/ ---小米QQ526703257
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-11-28 00:27
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    1

    主题

    9

    回帖

    173

    积分

    版主

    Xms工作室

    Rank: 7Rank: 7Rank: 7

    积分
    173
    发表于 2022-11-27 16:29:21 | 显示全部楼层

    回帖奖励 +5 冒险币

    map.toggleDrops();

    这段代码的指向是掉落权限, 在管理员权限下,可以通过!toggleDrops 用true/false 或者打开/关闭, 来调整当前地图的掉落物品权限开关, 根据不同作者习惯,表达式也有所不同.
    Xms工作室
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2024-4-7 21:20
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    3

    主题

    60

    回帖

    274

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    274
    发表于 2024-4-4 02:58:54 | 显示全部楼层

    回帖奖励 +5 冒险币

    1111111111111111111111111
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2024-4-7 21:20
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    3

    主题

    60

    回帖

    274

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    274
    发表于 2024-4-4 02:59:15 | 显示全部楼层
    222222222222222
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2024-4-7 21:20
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    3

    主题

    60

    回帖

    274

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    274
    发表于 2024-4-4 02:59:37 | 显示全部楼层
    111111111111
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2024-4-7 21:20
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    3

    主题

    60

    回帖

    274

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    274
    发表于 2024-4-4 03:01:05 | 显示全部楼层
    11111111111111111
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2024-4-7 21:20
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    3

    主题

    60

    回帖

    274

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    274
    发表于 2024-4-4 03:01:21 | 显示全部楼层
    dddddddddddd
    回复

    使用道具 举报

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

    本版积分规则

    快速回复 返回顶部 返回列表