Custom Npcs 教程
命令与脚本
哈哈,各位伙伴大家好,我Leo回来啦!
为了避免指令冲突, 全部指令都以/noppes开头. 对于大多数的自动完成的东西, 你可以轻松地使用TAB键完成.命令参数中, <>为必填项, []则为可选项. 命令默认不加/
HELP帮助:
eg: /noppes help faction --- 查看派系类指令的帮助 Script 脚本:
eg: /noppes script reload --- 重载脚本 Config 配置: Guns [true/false] ------------------------- 启用/停用枪支(是否能射击) Freezenpcs [true/false] ----------------- 冻结/解冻NPC Vinegrowth [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的NPC Add <npc> <tab> [克隆名] --------------------------- 克隆npc到指定标签 Del <name> <tab> ------------------------------------- 从指定标签移除指定的npc Spawn <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/1dECYRgH ECMAScript(一般叫做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及之后的: 初始的调控界面还是差不多的 你要写代码,用左上角的"+"来添加新的代码 现在开始代码可以在各个监听之间穿起来了呢 那么问题又来了:代码格式是什么呢 然后我举个例子 JavaScript: npc.say("呵呵"); Python npc.say("呵呵") 都是输出"呵呵"的 具体其他代码格式怎么样?看doc去,都说了没编程基础勿入…… (好吧我当初自己都看不懂doc) HOOKS(即监听,方便写代码用的)(抄袭而来):
|
没啦没啦没啦
我的脚本代码也都是半会不会呢~~~
假如你们有问题不会的可以来问我,让我积累一点exp
当然假如你很急的话,去问平凡的行者吧~
END