iverson119 发表于 2018-6-23 10:24
请问一下大神,我想实现这么一个效果。
几个人一起攻击一个npc,在npc死亡的时候,结算时每个人都有是杀死 ...
你可以选择用TempData
有这么几个个方法
- public java.lang.Object getTempData(java.lang.String key)
- public void setTempData(java.lang.String key, java.lang.Object value)
- public boolean hasTempData(java.lang.String key)
- public void removeTempData(java.lang.String key)
要么就是维护一个容器了
至于脱战……tick里面循环,超过1s都没有攻击目标大概就是脱战了吧
本帖最后由 iverson119 于 2018-6-23 18:37 编辑
对啊,如果是A打一下,B打一下,A再打一下,这样会不会记录了2个A?再请问下高手,如果我就希望输出的结果是,伤害过这个npc的玩家,都能完成对应任务ID的任务。这个完成任务我会做,但是怎样输出这个玩家的名单?
@@Leo 发表于 2018-6-23 17:11
你可以选择用TempData
有这么几个个方法不过具体维护起来很繁琐,尤其是攻击的人多的时候判断重复很麻烦
...
对啊,如果是A打一下,B打一下,A再打一下,这样会不会记录了2个A?再请问下高手,如果我就希望输出的结果是,伤害过这个npc的玩家,都能完成对应任务ID的任务。这个完成任务我会做,但是怎样输出这个玩家的名单?
iverson119 发表于 2018-6-23 18:35
对啊,如果是A打一下,B打一下,A再打一下,这样会不会记录了2个A?再请问下高手,如果我就希望输出的结果 ...
所以要检查很麻烦啊
你可以从1~n这样子保存
然后保存和读取的时候都要这样子按照引索来
本帖最后由 粘兽sama 于 2018-6-27 06:16 编辑
1.12.2如何实现1.7.10"event.setCancelled(true)"的效果,
我没有找到对应的API......
摸索了一会,找到方法了!
我没有找到对应的API......

摸索了一会,找到方法了!

大佬 想请教一下 1.7.10
如何让npc在被杀时发送一条全服都能看到的公告
复活时发送另一条全服都能看到的公告呢?
如何让npc在被杀时发送一条全服都能看到的公告
复活时发送另一条全服都能看到的公告呢?
123crs 发表于 2018-7-1 01:10
大佬 想请教一下 1.7.10
如何让npc在被杀时发送一条全服都能看到的公告
复活时发送另一条全服都能看到的公 ...
在'死亡'和'复活'的监听里加一个执行指令的脚本即可。
粘兽sama 发表于 2018-7-1 05:33
在'死亡'和'复活'的监听里加一个执行指令的脚本即可。
具体应该怎么执行呢 qwq
有方法让NPC死亡后,不掉落物品吗。(用代码实现)
或者让NPC死亡后所在的区块暂停两秒再卸载
或者让NPC死亡后所在的区块暂停两秒再卸载
很棒的作品!
谢谢版主大人提供的教程

请问下怎么给范围内同一个阵营/敌对阵营的npc上药水效果
当任务被激活时,或者红石被激活,或者群体对话完成后,A士兵和B士兵去攻击一个农民npc,怎么写啊
DJMC 发表于 2018-7-18 18:40
当任务被激活时,或者红石被激活,或者群体对话完成后,A士兵和B士兵去攻击一个农民npc,怎么写啊 ...
可以用脚本。
任务执行完后,让他执行某段脚本,让A和B走到某个位置,然后把这两个阵营设置成敌对就对开打了
请问下大佬。如果用脚本来改变职业里傀儡的动作参数会有0.5s延迟(从脚本执行到动作改变之间有0.5S)。大佬有没有什么想法或者方法来去掉这0.5s
本帖最后由 粘兽sama 于 2018-8-6 20:45 编辑
楼主有意向做高版本的CustomNpcs教程么
楼主有意向做高版本的CustomNpcs教程么

粘兽sama 发表于 2018-8-6 20:43
楼主有意向做高版本的CustomNpcs教程么
粘受大佬
我来这里请教了awa
对于获取附魔list后返回数组
想知道这个[0:{"lvl":1s,"id":16s}]的数组是如何定义的

对于获取附魔list后返回数组
想知道这个[0:{"lvl":1s,"id":16s}]的数组是如何定义的

@TGL 发表于 2018-7-3 10:47
有方法让NPC死亡后,不掉落物品吗。(用代码实现)
或者让NPC死亡后所在的区块暂停两秒再卸载 ...
一个月后的回复awa
让NPC不掉落物品的办法倒是没有(1.7.10)
让NPC掉物品的办法倒是有……
区域暂停应该做不到(或者放个两秒死亡的区域加载者awa)
如果让整个服务器的主线程暂停倒是可以使用sleep方法
你想做到什么样的效果
本帖最后由 skpsk自己家 于 2018-8-7 23:56 编辑
没人回答你呢
两个月后我看见了呢awa
瞬移可以在伤害钩子中(1.7.10)
使用代码
复制代码
死亡钩子可以使用scriptWorld类里面的一个方法
这里就不写代码了 因为懒啊
582558781 发表于 2018-6-10 00:55
能办到npc累计受到多少次攻击之后tp攻击最多的玩家嘛...
另外,能不能像东方那样子设置npc死亡后换成另一个 ...
没人回答你呢
两个月后我看见了呢awa
瞬移可以在伤害钩子中(1.7.10)
使用代码
- var time;
- for(var i=0;i<1;i++){if(time>=1)break;time=0;}
- time++;
- if(time==10){
- event.getSource().setRider(npc);
- event.getSource().setRider(null);
- time=null;
- }
- //为什么用setRider方法 因为刚好有就复制过来了 懒癌晚期
- //为什么是time 因为我从之前的定时代码拿的awa
死亡钩子可以使用scriptWorld类里面的一个方法
这里就不写代码了 因为懒啊
本帖最后由 luomu丶夕阳 于 2018-8-9 01:06 编辑
请问下,怎么右键NPC实现打开bs菜单 不做任务 直接右键NPC打开菜单
请问下,怎么右键NPC实现打开bs菜单 不做任务 直接右键NPC打开菜单
npc.setAttackTarget(这里应该填什么(试了很多都不行))
luomu丶夕阳 发表于 2018-8-8 23:52
请问下,怎么右键NPC实现打开bs菜单 不做任务 直接右键NPC打开菜单
交互钩子下用脚本执行指令
- npc.executeCommand("bs open <shop> "player.name"")
- <shop> 改为你想打开的菜单 其余不用更改
粘兽sama 发表于 2018-8-12 02:57
交互钩子下用脚本执行指令
没效果呀 显示这个<eval>:1:40 Expected , but found player
npc.executeCommand("bossShop open Menu "player.name"")
^ in <eval> at line number 1 at column number 40
luomu丶夕阳 发表于 2018-8-12 21:48
没效果呀 显示这个:1:40 Expected , but found player
npc.executeCommand("bossShop open Menu "playe ...
哦 不好意思 写错了
- npc.executeCommand("bs open <shop> "+player.name)
- <shop> 改为你想打开的菜单 其余不用更改
很好的教程,谢谢了
一看到脚本两个字,就头疼
请问下为什么一对npc在damaged钩子里用knockback就闪退
本帖最后由 iverson119 于 2018-8-25 17:00 编辑
再次请教大神。
我使用了这条命令<npc> owner [玩家] ---------------------- 设置npc跟随的玩家
发现他并不会跟随玩家。
有没有什么方法是可以令npc不需要雇佣也跟随玩家的?
如果玩家在雇佣过程中下线了,超过了雇佣时间还不上线,是不是这个雇佣的npc会自动消失?
再次请教大神。
我使用了这条命令<npc> owner [玩家] ---------------------- 设置npc跟随的玩家
发现他并不会跟随玩家。
有没有什么方法是可以令npc不需要雇佣也跟随玩家的?
如果玩家在雇佣过程中下线了,超过了雇佣时间还不上线,是不是这个雇佣的npc会自动消失?
skpsk自己家 发表于 2018-8-7 23:55
没人回答你呢
两个月后我看见了呢awa
瞬移可以在伤害钩子中(1.7.10)
这个用骑乘来代替tp的方法很棒!层主有试过有用吗?如果有用的话那真是太强了,这思路好开阔
iverson119 发表于 2018-8-25 16:45
这个用骑乘来代替tp的方法很棒!层主有试过有用吗?如果有用的话那真是太强了,这思路好开阔 ...
用过 为什么用setRider 因为用setPosition比较长
大佬啊awa
因为我太懒了 不想在脚本教程再加个NPC基础教程
所以你来接盘下行吧qwq

因为我太懒了 不想在脚本教程再加个NPC基础教程
所以你来接盘下行吧qwq

iverson119 发表于 2018-8-25 16:45
这个用骑乘来代替tp的方法很棒!层主有试过有用吗?如果有用的话那真是太强了,这思路好开阔 ...
我今天在你那个setTimeout帖子下面回复了整理好的 不知道你看见没有
本帖最后由 @@Leo 于 2018-8-25 21:32 编辑
可以可以可以可以,谢谢谢谢谢谢谢谢
终于有个像样的教程了2333
我也可以把你的链接挂在帖子里面么
skpsk自己家 发表于 2018-8-25 17:12
大佬啊awa
因为我太懒了 不想在脚本教程再加个NPC基础教程
所以你来接盘下行吧qwq
可以可以可以可以,谢谢谢谢谢谢谢谢
终于有个像样的教程了2333
我也可以把你的链接挂在帖子里面么
@@Leo 发表于 2018-8-25 21:31
可以可以可以可以,谢谢谢谢谢谢谢谢
终于有个像样的教程了2333
我也可以把你的链接挂在帖子里面么
好的 谢谢
(我已经托更一天了awa 然后放出了几个干货)
平凡的行者 发表于 2017-2-8 15:13
给NPC调用navigateTo()方法,可以令NPC朝某个座标点走去
这可以让NPC自动搜索路径后走过去:
我经过试验,这个方法和用路径魔杖一样,最远的移动距离是32格,目标距离超过32格的话,npc就会不动了
本帖最后由 iverson119 于 2018-8-28 18:00 编辑
还有个事请教下大神们..对话关闭的isClosing()应该怎么用?在对话的钩子里写
if(dialog.isClosing(678)){
npc.setRider(player);
}
报错了。我想做到ID678的对话关闭之后,让玩家骑乘npc
再问个问题。怎样在和npc对话之后让npc移动到指定地方?我是想先用路径魔杖设定路径,对话之后改变他的ai,变成路径移动。但是在文档里找不到有关ai的api
还有个事请教下大神们..对话关闭的isClosing()应该怎么用?在对话的钩子里写
if(dialog.isClosing(678)){
npc.setRider(player);
}
报错了。我想做到ID678的对话关闭之后,让玩家骑乘npc
再问个问题。怎样在和npc对话之后让npc移动到指定地方?我是想先用路径魔杖设定路径,对话之后改变他的ai,变成路径移动。但是在文档里找不到有关ai的api
本帖最后由 iverson119 于 2018-8-29 13:15 编辑
请问一下,这个ai的源码,是在哪里查的?请问一下,可以用脚本更改npc的移动模式吗?譬如从站立改成路径移动这样
npc.getMCEntity().ai.movingType = 1
npc.getMCEntity().ai.movingType = "movingpath"
都不行啊..
平凡的行者 发表于 2018-2-11 13:53
脚本中没有可以直接修改移动速度的方法,所以得查源码看看如何修改
不过幸运的是,查完后发现修改起来也 ...
请问一下,这个ai的源码,是在哪里查的?请问一下,可以用脚本更改npc的移动模式吗?譬如从站立改成路径移动这样
npc.getMCEntity().ai.movingType = 1
npc.getMCEntity().ai.movingType = "movingpath"
都不行啊..
很实用的教程很感谢楼主
问一下有时候用一些api就必定闪退是什么个情况呀。
请问一下:创造出的NPC,想让他在攻击范围内,看到玩家就自动攻击,该怎么设置?
我心不变 发表于 2018-8-31 07:05
请问一下:创造出的NPC,想让他在攻击范围内,看到玩家就自动攻击,该怎么设置? ...
设置与玩家敌对就好了,不需要脚本的说
本帖最后由 skpsk自己家 于 2018-9-25 22:08 编辑
复制代码
请叫我雷锋
iverson119 发表于 2018-8-28 18:01
请问一下,这个ai的源码,是在哪里查的?请问一下,可以用脚本更改npc的移动模式吗?譬如从站立改成路径移 ...
- var EnumMovingType=Java.type("noppes.npcs.constants.EnumMovingType")
- function setMovingType(type){
- switch(type){
- case 0:
- npc.getMCEntity().ai.movingType = EnumMovingType.Standing//站立
- return
- case 1:
- npc.getMCEntity().ai.movingType = EnumMovingType.Wandering//游荡
- return
- case 2:
- npc.getMCEntity().ai.movingType = EnumMovingType.MovingPath//路径移动
- return
- }
- }
请叫我雷锋
问一下1.12里面就没有开关傀儡部位的api了。这个怎么回事呀
太好了正好需要 谢谢粒
咳咳,这个帖子好像冷好久了,我就来提个问题啦。 如果让一个NPC能够使用手持物品的附魔效果或者该武器的属性该怎么写脚本?
为什么我弄了还是没用。。。
谢谢教程 这两天在研究这个
感谢教程,正好服务器需要