本帖最后由 @@Leo 于 2018-8-25 21:33 编辑
脚本
希望有大神来帮帮我。
命令与脚本哈哈,各位伙伴大家好,我Leo回来啦!到了最蛋疼的命令与脚本部分我就不知道拖了多久了(众人:半年了才**回来)声明一下:好多好多来自z25096708
指令
HELP帮助:eg: /noppes help faction --- 查看派系类指令的帮助
Script 脚本:eg: /noppes script reload --- 重载脚本
Config 配置:Guns [true/false] ------------------------- 启用/停用枪支(是否能射击)Freezenpcs [true/false] ----------------- 冻结/解冻NPCVinegrowth [true/false] ----------------- 允许/禁止藤蔓生长LeavesDecay [true/false] --------------- 启用/禁用树叶自动消失Chunkloaders [num] -------------------- 设置区块加载者(职业)活动间隔(默认为: 20)(单位: s)Icemelts [true/false/semi] --------------- 冰是否会融化成水.Font [字体] [大小] ----------------------- 改变NPCmod的字体. 默认字体大小为18,默认字体为os字体。eg: /noppes config icemelts false 这样旁边有光冰也不会融化
NPC:<npc> home [x] [y] [z] ------------------ 设置NPC的重生点<npc> create ------------------------------ 创建一个NPC<npc> delete-------------------------------- 删除NPC<npc> visible ------------------------------- 设置NPC是否可见<npc> owner [玩家] ---------------------- 设置npc跟随的玩家<npc> name <name> -------------------- 更改NPC名称eg: /noppes npc what create 创造一个名为what的NPC
Slay 击杀:all [范围]------------------------ 杀掉以玩家为中心的范围内所有不是npc的实体items [范围]-------------------- 移除范围内所有凋落物animals [范围]------------------ 杀死所有范围内的动物mobs [范围]-------------------- 杀死所有范围内的怪物<实体名> [范围]--------------- 移除范围内指定实体eg: /noppes slay all 60 移除60格方块内的所有不是npc的实体
Clone 克隆:List <tab> ------------------------------------------------ 列出在标签tab的NPCAdd <npc> <tab> [克隆名] --------------------------- 克隆npc到指定标签Del <name> <tab> ------------------------------------- 从指定标签移除指定的npcSpawn <name> <tab> [world:] [x,y,z] [新名称] --- 从标签生成一个NPC. 世界变量:(0:全世界, 1:地狱, -1:末地)如果未给出, 则自动生成在玩家所在世界.eg: /noppes clone spawn name 1 0 50,50,50 SB在主世界 50,50,50的位置,生成一个位于标签1的,现在在叫SB的,在标签中叫name的NPC
Faction 派系:<player> <faction> add <点数> ------------- 增加玩家对指定派系指定点数<player> <faction> subtract <点数> ------- 减少玩家对指定派系指定点数<player> <faction> set <点数> -------------- 设置玩家派系点数<player> <faction> reset ---------------------- 设置玩家对指定派系点数为默认值<player> <faction> drop ---------------------- 使玩家不认识指定派系eg: /noppes faction Leo friendly add 100 给玩家Leo与派系friendly的关系加100
Quest 任务:Start <玩家> <任务ID> -------------- 让玩家开始指定任务Finish <玩家> <任务ID> ------------- 设置玩家完成指定任务Stop <玩家> <任务ID> -------------- 停止玩家正在进行指定任务Remove <玩家> <任务ID> ---------- 移除玩家正在进行/已完成的指定任务eg: /noppes quest start Leo 1 给玩家Leo任务编号为1的任务(编号可以在设置任务的地方查看)
Dialog 对话:Read <玩家> <对话id>----------------- 为玩家设置指定对话为已阅Unread <玩家r> <对话id>------------- 为玩家设置指定对话为未读Reload ------------------------------------- 从世界文件夹中重载所有对话. eg: /noppes dialog reload重载对话
END
脚本这个是最难啃的一块,没有编程基础的勿入最新版Java默认可以支持JavaScript. 但是一样可以加载其他的脚本语言通过下载他们的库并让Forge将其加载(同理bukkit)我这里搬运4种:http://pan.baidu.com/s/1dECYRgHECMAScript(一般叫做JavaScript),一种常见的脚本,最新版的java8已经自动支持。如果你安装了jre1.8依旧不可用, 去"java/jre/lib/ext"目录复制"nashorn.jar"文件到你的mods文件夹Python,简称py,java关于它的脚本引擎又叫做Jython。Php,很常见的一种网页语言Lua,轻量高效,可以多平台运行,有完整的库和工具(反正官网就这个意思)使用方法:下载扔进mods
现在又要提及脚本魔杖了用这个东西右键NPC,就会跳出一个GUI,你可以在“语言”那一项来切换你使用的语言
1.8.8之前的:在左上角的“脚本”那里点击一下左边那一溜是监听,中间那里是输入代码用的加载代码那个按钮,用来加载代码文件夹里面的代码跟直接输在里面差不多……"编辑"怎么用我就不知道了(我反正我用一次卡一次)
1.8.8及之后的:初始的调控界面还是差不多的你要写代码,用左上角的"+"来添加新的代码现在开始代码可以在各个监听之间穿起来了呢
那么问题又来了:代码格式是什么呢看doc去:http://www.kodevelopment.nl/customnpcs/api/然后我举个例子JavaScript:
Python
都是输出"呵呵"的具体其他代码格式怎么样?看doc去,都说了没编程基础勿入……(好吧我当初自己都看不懂doc)
HOOKS(即监听,方便写代码用的)(抄袭而来):
这里都是NPC监听233。
没啦没啦没啦我的脚本代码也都是半会不会呢~~~希望有大神来帮帮我。某大佬的教程贴假如你们有问题不会的可以来问我,让我积累一点exp当然假如你很急的话,去问平凡的行者吧~
外国人视频:https://www.youtube.com/user/MrToady2000/videos外国人论坛:http://www.minecraftforge.net/forum/index.php?board=122.0外国人聊天频道:https://discord.gg/0qZ6X3cHl8Pupttr
END
引索:
Custom Npcs 教程
命令与脚本
哈哈,各位伙伴大家好,我Leo回来啦!
为了避免指令冲突, 全部指令都以/noppes开头. 对于大多数的自动完成的东西, 你可以轻松地使用TAB键完成.命令参数中, <>为必填项, []则为可选项. 命令默认不加/
脚本
这个是最难啃的一块,没有编程基础的勿入
没啦没啦没啦
我的脚本代码也都是半会不会呢~~~
假如你们有问题不会的可以来问我,让我积累一点exp
当然假如你很急的话,去问平凡的行者吧~
END
2021.12 数据,可能有更多内容
Custom Npcs 教程命令与脚本哈哈,各位伙伴大家好,我Leo回来啦!到了最蛋疼的命令与脚本部分我就不知道拖了多久了(众人:半年了才**回来)声明一下:好多好多来自z25096708
指令
为了避免指令冲突, 全部指令都以/noppes开头. 对于大多数的自动完成的东西, 你可以轻松地使用TAB键完成.命令参数中, <>为必填项, []则为可选项. 命令默认不加/
HELP帮助:
代码:
- help <子命令> ------- 查看帮助
Script 脚本:
代码:
- reload ------------------- 重载
Config 配置:Guns [true/false] ------------------------- 启用/停用枪支(是否能射击)Freezenpcs [true/false] ----------------- 冻结/解冻NPCVinegrowth [true/false] ----------------- 允许/禁止藤蔓生长LeavesDecay [true/false] --------------- 启用/禁用树叶自动消失Chunkloaders [num] -------------------- 设置区块加载者(职业)活动间隔(默认为: 20)(单位: s)Icemelts [true/false/semi] --------------- 冰是否会融化成水.Font [字体] [大小] ----------------------- 改变NPCmod的字体. 默认字体大小为18,默认字体为os字体。eg: /noppes config icemelts false 这样旁边有光冰也不会融化
NPC:<npc> home [x] [y] [z] ------------------ 设置NPC的重生点<npc> create ------------------------------ 创建一个NPC<npc> delete-------------------------------- 删除NPC<npc> visible ------------------------------- 设置NPC是否可见<npc> owner [玩家] ---------------------- 设置npc跟随的玩家<npc> name <name> -------------------- 更改NPC名称eg: /noppes npc what create 创造一个名为what的NPC
Slay 击杀:all [范围]------------------------ 杀掉以玩家为中心的范围内所有不是npc的实体items [范围]-------------------- 移除范围内所有凋落物animals [范围]------------------ 杀死所有范围内的动物mobs [范围]-------------------- 杀死所有范围内的怪物<实体名> [范围]--------------- 移除范围内指定实体eg: /noppes slay all 60 移除60格方块内的所有不是npc的实体
Clone 克隆:List <tab> ------------------------------------------------ 列出在标签tab的NPCAdd <npc> <tab> [克隆名] --------------------------- 克隆npc到指定标签Del <name> <tab> ------------------------------------- 从指定标签移除指定的npcSpawn <name> <tab> [world:] [x,y,z] [新名称] --- 从标签生成一个NPC. 世界变量:(0:全世界, 1:地狱, -1:末地)如果未给出, 则自动生成在玩家所在世界.eg: /noppes clone spawn name 1 0 50,50,50 SB在主世界 50,50,50的位置,生成一个位于标签1的,现在在叫SB的,在标签中叫name的NPC
Faction 派系:<player> <faction> add <点数> ------------- 增加玩家对指定派系指定点数<player> <faction> subtract <点数> ------- 减少玩家对指定派系指定点数<player> <faction> set <点数> -------------- 设置玩家派系点数<player> <faction> reset ---------------------- 设置玩家对指定派系点数为默认值<player> <faction> drop ---------------------- 使玩家不认识指定派系eg: /noppes faction Leo friendly add 100 给玩家Leo与派系friendly的关系加100
Quest 任务:Start <玩家> <任务ID> -------------- 让玩家开始指定任务Finish <玩家> <任务ID> ------------- 设置玩家完成指定任务Stop <玩家> <任务ID> -------------- 停止玩家正在进行指定任务Remove <玩家> <任务ID> ---------- 移除玩家正在进行/已完成的指定任务eg: /noppes quest start Leo 1 给玩家Leo任务编号为1的任务(编号可以在设置任务的地方查看)
Dialog 对话:Read <玩家> <对话id>----------------- 为玩家设置指定对话为已阅Unread <玩家r> <对话id>------------- 为玩家设置指定对话为未读Reload ------------------------------------- 从世界文件夹中重载所有对话. eg: /noppes dialog reload重载对话
END
脚本这个是最难啃的一块,没有编程基础的勿入最新版Java默认可以支持JavaScript. 但是一样可以加载其他的脚本语言通过下载他们的库并让Forge将其加载(同理bukkit)我这里搬运4种:http://pan.baidu.com/s/1dECYRgHECMAScript(一般叫做JavaScript),一种常见的脚本,最新版的java8已经自动支持。如果你安装了jre1.8依旧不可用, 去"java/jre/lib/ext"目录复制"nashorn.jar"文件到你的mods文件夹Python,简称py,java关于它的脚本引擎又叫做Jython。Php,很常见的一种网页语言Lua,轻量高效,可以多平台运行,有完整的库和工具(反正官网就这个意思)使用方法:下载扔进mods
现在又要提及脚本魔杖了用这个东西右键NPC,就会跳出一个GUI,你可以在“语言”那一项来切换你使用的语言
1.8.8之前的:在左上角的“脚本”那里点击一下左边那一溜是监听,中间那里是输入代码用的加载代码那个按钮,用来加载代码文件夹里面的代码跟直接输在里面差不多……"编辑"怎么用我就不知道了(我反正我用一次卡一次)
1.8.8及之后的:初始的调控界面还是差不多的你要写代码,用左上角的"+"来添加新的代码现在开始代码可以在各个监听之间穿起来了呢
那么问题又来了:代码格式是什么呢看doc去:http://www.kodevelopment.nl/customnpcs/api/然后我举个例子JavaScript:
npc.say("呵呵");
Python
npc.say("呵呵")
都是输出"呵呵"的具体其他代码格式怎么样?看doc去,都说了没编程基础勿入……(好吧我当初自己都看不懂doc)
HOOKS(即监听,方便写代码用的)(抄袭而来):
功能 |
事件 |
说明 |
init |
NpcEvent.InitEvent |
当NPC被生成(创建或者复活) |
tick |
NpcEvent.UpdateEvent |
当更新tick时(每10tick一循环. 建议操作在10tick内完成) |
interact |
NpcEvent.InteractEvent |
当玩家与NPC互动 |
dialog |
DialogEvent.OpenEvent |
当玩家打开与NPC的对话框时 |
dialog_option |
DialogEvent.OptionEvent |
当玩家选择了对话选项或者关闭了对话框 |
damaged |
NpcEvent.DamagedEvent |
当NPC被攻击时. 可取消 |
died |
NpcEvent.DiedEvent |
当NPC被杀时 |
meleeAttack |
NpcEvent.MeleeAttackEvent |
当NPC将要进行攻击 |
rangedLaunched |
NpcEvent.RangedLaunchedEvent |
当NPC开火(发射东西吧) |
target |
NpcEvent.TargetEvent |
当NPC选定目标时 |
targetLost |
NpcEvent.TargetLostEvent |
当NPC丢失目标时 |
kill |
NpcEvent.KilledEntityEvent |
当NPC杀掉了某个实体时 |
role |
RoleEvent.* |
被某些NPC角色调用 |
collide |
NpcEvent.CollideEvent |
当NPC与实体发生碰撞 |
timer |
NpcEvent.TimerEvent |
当计时器结束(ICustomNpc.getTimers()) |
没啦没啦没啦我的脚本代码也都是半会不会呢~~~
外国人视频:https://www.youtube.com/user/MrToady2000/videos外国人论坛:http://www.minecraftforge.net/forum/index.php?board=122.0外国人聊天频道:https://discord.gg/0qZ6X3cHl8Pupttr
END
引索:
先前排,赞个楼主,我一直想知道脚本怎么搞