本帖最后由 等枫亭丶烟雨阁 于 2022-3-26 18:01 编辑
服务端1.16.5LoliServer,我用CustomNPC做了几个NPC,但并没有打死之后奖励金币(vault)的选项,请问各位大佬如何做到打死npc后获得金币(vault)奖励
服务端1.16.5LoliServer,我用CustomNPC做了几个NPC,但并没有打死之后奖励金币(vault)的选项,请问各位大佬如何做到打死npc后获得金币(vault)奖励
这个脚本是放在npc身上的复制代码如果你服务器给金币用的指令是eco give,那就这么写,如果不是就自己换成别的指令
如果不想看到指令的执行结果(只有管理员能看到),可以输入指令复制代码
- function died(e){if(e.source!=null)if(e.source.getType()==1)e.npc.executeCommand("eco give "+e.source.getName()+" 10")}
如果不想看到指令的执行结果(只有管理员能看到),可以输入指令
- /gamerule commandBlockOutput false
- /gamerule sendCommandFeedback false
无敌三脚猫 发表于 2022-3-19 23:33
这个脚本是放在npc身上的如果你服务器给金币用的指令是eco give,那就这么写,如果不是就自己换成别的指令
...
已实测没有指令输出
等枫亭丶烟雨阁 发表于 2022-3-20 00:15
已实测没有指令输出
啊等等,你是不是没有开启命令方块啊,server.properties里的enable-command-block要设为true,不然npc无法执行指令
无敌三脚猫 发表于 2022-3-20 11:30
啊等等,你是不是没有开启命令方块啊,server.properties里的enable-command-block要设为true,不然npc无 ...
之前开服server.properties文件一生成就把命令方块启用了
等枫亭丶烟雨阁 发表于 2022-3-20 21:53
之前开服server.properties文件一生成就把命令方块启用了
嗯?那先写个简单的指令,看看有反应吗
- function died(e){if(e.source!=null)if(e.source.getType()==1)e.npc.executeCommand("say 测试")}
本帖最后由 等枫亭丶烟雨阁 于 2022-3-20 23:46 编辑
杀死npc的方式很多都试过了,枪械打死,近战砍死都有,但就像没反应
这个新的脚本我再试试
经过测试发现这个测试用的脚本可以正常运行,聊天栏输出了测试这两个字
无敌三脚猫 发表于 2022-3-20 22:21
嗯?那先写个简单的指令,看看有反应吗还有就是,你是用什么杀死的npc? ...
杀死npc的方式很多都试过了,枪械打死,近战砍死都有,但就像没反应
这个新的脚本我再试试
经过测试发现这个测试用的脚本可以正常运行,聊天栏输出了测试这两个字
等枫亭丶烟雨阁 发表于 2022-3-20 23:31
杀死npc的方式很多都试过了,枪械打死,近战砍死都有,但就像没反应
这个新的脚本我再试试
那在/gamerule sendCommandFeedback true的情况下,脚本里写eco指令,杀死npc的时候游戏里或者服务器后台会显示什么报错吗?
无敌三脚猫 发表于 2022-3-21 17:38
那在/gamerule sendCommandFeedback true的情况下,脚本里写eco指令,杀死npc的时候游戏里或者服务器后台 ...
后台在很久以前就开始一直刷如下内容
[WARNING/CustomNPCs][noppes.npcs.api.wrapper.WrapperEntityData:64] Unable to get EntityData for BatEntity['Bat'/2609, l='ServerLevel[world]', x=0.00, y=0.00, z=0.00]
[18:39:31][WARNING/CustomNPCs][noppes.npcs.api.wrapper.WrapperEntityData:64] Unable to get EntityData for BatEntity['Bat'/2610, l='ServerLevel[world]', x=0.00, y=0.00, z=0.00]
[18:39:31][WARNING/CustomNPCs][noppes.npcs.api.wrapper.WrapperEntityData:64] Unable to get EntityData for BatEntity['Bat'/2611, l='ServerLevel[world]', x=0.00, y=0.00, z=0.00]
[18:39:31][WARNING/CustomNPCs][noppes.npcs.api.wrapper.WrapperEntityData:64] Unable to get EntityData for BatEntity['Bat'/2612, l='ServerLevel[world]', x=0.00, y=0.00, z=0.00]
[18:39:31][WARNING/CustomNPCs][noppes.npcs.api.wrapper.WrapperEntityData:64] Unable to get EntityData for BatEntity['Bat'/2613, l='ServerLevel[world]', x=0.00, y=0.00, z=0.00]
[18:39:31][WARNING/CustomNPCs][noppes.npcs.api.wrapper.WrapperEntityData:64] Unable to get EntityData for BatEntity['Bat'/2614, l='ServerLevel[world]', x=0.00, y=0.00, z=0.00]
[18:39:31][WARNING/CustomNPCs][noppes.npcs.api.wrapper.WrapperEntityData:64] Unable to get EntityData for BatEntity['Bat'/2615, l='ServerLevel[world]', x=0.00, y=0.00, z=0.00]
[18:39:31][WARNING/CustomNPCs][noppes.npcs.api.wrapper.WrapperEntityData:64] Unable to get EntityData for BatEntity['Bat'/2616, l='ServerLevel[world]', x=0.00, y=0.00, z=0.00]
[18:39:31][WARNING/CustomNPCs][noppes.npcs.api.wrapper.WrapperEntityData:64] Unable to get EntityData for BatEntity['Bat'/2617, l='ServerLevel[world]', x=0.00, y=0.00, z=0.00]
[18:39:31][WARNING/CustomNPCs][noppes.npcs.api.wrapper.WrapperEntityData:64] Unable to get EntityData for BatEntity['Bat'/2618, l='ServerLevel[world]', x=0.00, y=0.00, z=0.00]
[18:39:31][WARNING/CustomNPCs][noppes.npcs.api.wrapper.WrapperEntityData:64] Unable to get EntityData for BatEntity['Bat'/2619, l='ServerLevel[world]', x=0.00, y=0.00, z=0.00]
[18:39:31][WARNING/CustomNPCs][noppes.npcs.api.wrapper.WrapperEntityData:64] Unable to get EntityData for BatEntity['Bat'/2620, l='ServerLevel[world]', x=0.00, y=0.00, z=0.00]
[18:39:31][WARNING/CustomNPCs][noppes.npcs.api.wrapper.WrapperEntityData:64] Unable to get EntityData for BatEntity['Bat'/2621, l='ServerLevel[world]', x=0.00, y=0.00, z=0.00]
只有['Bat'/2621,里的数字在改变,其他的都没有变化,导致后台被大量的此类无用信息填满,极难从后台中判断是否有报错
我也在之前发过一个帖子询问也没有什么可以屏蔽这类无用信息的插件,但效果并不是很好现在看来这个后台信息的问题已经影响到这个问题了,只能请教大佬怎么解决这个问题了
https://www.mcbbs.net/thread-1314645-1-1.html
无敌三脚猫 发表于 2022-3-21 17:38
那在/gamerule sendCommandFeedback true的情况下,脚本里写eco指令,杀死npc的时候游戏里或者服务器后台 ...
后台十分干净,什么都没有
等枫亭丶烟雨阁 发表于 2022-3-24 23:14
后台十分干净,什么都没有
- function died(e){if(e.source!=null)if(e.source.getType()==1){
- var server=e.source.getMCEntity().func_184102_h()
- server.func_195571_aL().func_197059_a(server.func_195573_aM().func_197031_a(),"eco give "+e.source.getName()+" 10")}
- }
可以添加vault奖励了,能不能考虑添加一个提示语毕竟直接塞钱会很别扭,金粒可以加多一些
等枫亭丶烟雨阁 发表于 2022-3-25 19:24
可以添加vault奖励了,能不能考虑添加一个提示语毕竟直接塞钱会很别扭,金粒可以加多一些 ...
- var bukkit=Java.type("org.bukkit.Bukkit")
- var BigDecimal=Java.type("java.math.BigDecimal")
- function died(e){if(e.source!=null)if(e.source.getType()==1){
- var server=e.source.getMCEntity().func_184102_h()
- server.func_195571_aL().func_197059_a(server.func_195573_aM().func_197031_a(),'tellraw '+e.source.getName()+' {"text":"§1这§2里§3就§4随便\\n你写什么§k啦§b10金币balabalaba"}')
- var p=bukkit.getPluginManager().getPlugin("Essentials").getUser(e.source.getName())
- p.setMoney(p.getMoney().add(new BigDecimal(10)))
- }
- }