499628539
本帖最后由 499628539 于 2019-12-30 12:06 编辑

我和几个朋友正在准备一个周目,因为人数较少而且我们也不会搭服务器所以是用本地链接的方式于是各种插件没办法用,能找到的功能最全面的编辑类mod就是in control了,但他无法让怪物的攻击附带debuff,我也找不到其他类似功能的mod,只能来求助了
解决方法:http://www.kodevelopment.nl/minecraft/customnpcs/downloads/ 1.7以上的版本用这个mod可以解决
使用脚本魔杖右键选择players输入
function damaged(event){
    try{
        if(event.source.getName() == "僵尸");
        event.player.addPotionEffect(17,2,125,true);
        }
        catch(event){
        }
}这一串代码表示 玩家被攻击时如果攻击者是僵尸就会给予被攻击的玩家持续2秒等级125的饥饿效果

addPotionEffect的参数代表(药水id,持续时间,等级,是否隐藏粒子效果)

粘兽
可以加一个CustomNpcs模组
使用其脚本功能来实现这一效果
http://www.kodevelopment.nl/minecraft/customnpcs/downloads/

[NSS][BGM][NPC][图文][干货]RE:CNPC-自定义NPC 脚本教程[复活连载]
https://www.mcbbs.net/thread-816677-1-1.html


499628539
粘兽 发表于 2019-12-28 15:20
可以加一个CustomNpcs模组
使用其脚本功能来实现这一效果
http://www.kodevelopment.nl/minecraft/customnp ...

他只能作用于npc,我想让他可以作用于所有的怪物上,甚至是mod里面的生物

粘兽
499628539 发表于 2019-12-28 15:37
他只能作用于npc,我想让他可以作用于所有的怪物上,甚至是mod里面的生物 ...

在1.7.10脚本只能写在npc里 但如果你的版本是1.7.10+ 就可以在玩家监听里实现了

499628539
粘兽 发表于 2019-12-28 15:53
在1.7.10脚本只能写在npc里 但如果你的版本是1.7.10+ 就可以在玩家监听里实现了
...

版本是1.12.2,命令方块可以实现我知道,不过我对这个东西的理解停止在1.7,我只是知道可以用命令方块检测玩家受伤然后判断伤害来源实现功能,但我找不到相关的指令和帖子

499628539
粘兽 发表于 2019-12-28 15:53
在1.7.10脚本只能写在npc里 但如果你的版本是1.7.10+ 就可以在玩家监听里实现了
...

我好像理解错了,npcmod的脚本可以应用到玩家上?那应该可以做到 我试试

粘兽
499628539 发表于 2019-12-28 16:19
我好像理解错了,npcmod的脚本可以应用到玩家上?那应该可以做到 我试试

可以的 使用玩家监听中的受伤监听
判断攻击玩家的生物类型
然后赋予玩家对应的buff

499628539
本帖最后由 499628539 于 2019-12-28 17:13 编辑
粘兽 发表于 2019-12-28 16:20
可以的 使用玩家监听中的受伤监听
判断攻击玩家的生物类型
然后赋予玩家对应的buff ...

我在脚本魔杖里找不到接口,而且我已经安装了nashorn,是我设置有什么东西没开么

粘兽
499628539 发表于 2019-12-28 17:06
我在脚本魔杖里找不到接口,而且我已经安装了nashorn,是我设置有什么东西没开么 ...

在新版本用的是函数

例如:
  1. function init(e){
  2.     e.npc.say('init');
  3. }
复制代码

499628539
粘兽 发表于 2019-12-29 00:41
在新版本用的是函数

例如:

瞎折腾2天终于弄明白了,说真的这种处于伪代码和真正的编程语言之间的东西是真的让人头大,接口在c++里面只是单纯的重载函数,npc里面接口的用法居然根本不需要对上参数表只需要一个函数名而且参数就是类本身的指针,检测怪物id用的字符串还是中文的,我拿英文名对了半天都不行 各种教程还含糊不清,地狱级的编程体验 ue4都没有这么难受,不过问题最终还是解决了 另外以上只是单纯对npc脚本这方面的不满对你没有带有恶意
我当初为什么要偷这个懒,明明有编程基础 老老实实学一下java语法自己写可能还好受点

粘兽
499628539 发表于 2019-12-30 11:46
瞎折腾2天终于弄明白了,说真的这种处于伪代码和真正的编程语言之间的东西是真的让人头大,接口在c++里面 ...

这是脚本语言哦 不是伪代码
另外你可以善用print或e.npc.say来输出返回值啥的
这也就不用对半天了

第一页 上一页 下一页 最后一页