NPC制作 商店创建 - GreenChennai/InsertRPack GitHub Wiki

自定义NPC指令,包括附属


命令               参数                      介绍
                                                 
/npc               Null                      查看该NPC的信息                  
/npc create        [ID]                      创建一个NPC                      
/npc remove        [ID]                      删除一个NPC                      
/npc rename        [NewName]                 重命名一个NPC                    
/npc select        Null                      切换你现在编辑的NPC为你身边的NPC 
/npc age           [adult, baby, integer]    更改他的年龄                     
/npc anchor        save/assume/remove        更改或显示NPC的位置              
/npc behaviour     behaviour [scripts]       设计此NPC脚本                    
/npc copy          [此NPC] [另一个NPC]       复制NPC                          
/npc gamemode      [0,1]                     更改一个玩家NPC的模式            
/npc equip         Null                      更改颜色                         
/npc look          Null                      让NPC看着附近的玩家              
/npc mount         Null                      让NPC可以被骑乘                  
/npc path                                    左/右键地面设置/删除点 设置路径点
/npc playerlist    Null                      设置玩家为true[加载区块]         
/npc speed         [数值]                    更改NPC的移动速度                
/npc tphere        [ID]                      把一个NPC传送到你所在的位置      
/npc tp            [ID]                      把你传送到一个NPC所在的位置      
/npc equip         Null                      更换NPC的装备输入之后可以拿着装备右键,取下来蹲下右键
完成之后需要再次输入/npc equip    

  • 注意当你编辑NPC的寻路点的时候,如果你编辑错误了
  • 记得要删除NPC重新编辑,否则NPC会出现瞬移的情况
  • 然后我们可以给一个NPC换上皮肤,不然全部都是史蒂夫啥的
  • 这个命令/npc skin 玩家ID必须是正版的当然也是有地方可以获取的
  • 前往这个地方 点我
  • 只需要复制头顶的名字即可
  • 当然这样子的NPC就是只能够看看,没有其他功能
  • 想让NPC有交♂易功能,我们还需要一个附属插件,当然我已经安装了

原始的RPG商店

  • 创建一个商店
  • 创建一个管理员商店,只需要准对一个方块输入指令/shopkeeper [生物类型]一个该类型的生物商店会生成在你所看着的方块上面
  • 如果单单输入/shopkeeper则默认生存村民NPC

设置交易

  • 按住Shift右击你的商店来修改交易项目,这样会打开一个看起来像箱子一样的东西,不过会有一些特殊的图标在右边

  • 第一行和第二行:被购买的物品
  • 第三行:购买这个物品的所需物品
  • 结束一个商店的编辑,只需要关掉这个GUI,然后点击你的商店来看你设置的交易!
  • 它可以交易任何物品,包括附魔物品和写好的书。
  • 点击编辑GUI里面最右行第一个图标,然后在聊天栏里面输入商店的名字即可设置商店名字。
  • 点击编辑GUI里最右行第二个图标来选择选择商店的外观。
  • 如果你想删掉这个商店,就点击最右行第三个的图标
  • (注意点,这个是不能撤销的!)

支持插件版自定义NPC的商店

  • 按住Shift+右键一个NPC可以创建商店

  • 具体可以看:https://www.mcbbs.net/thread-899046-1-1.html

  • 下面是用指令打开的创建方法

  • 输入指令/rpgshop create [商店编号] [商店名字] [商店大小 9的倍数] 创建一个商店

  • 输入完毕后会自动跳出编辑物品页面

  • 先把物品放进去可以拿出来

  • 放进去的物品右键点击之后可以设置需要交易的物品和交易的金钱支持多个,这个是经典商店没有的

  • 下面是这个插件的全部指令


指令                 说明
/rpgshop enable  开启/关闭对NPC进行编辑
/rpgshop list    查看所有的商店名字以及编号
/rpgshop create  <商店编号1> <商店名称2> <商店大小3>    创建商店
/rpgshop edit    <商店编号>    编辑指定的商店
/rpgshop copy    <商店编号1> <商店编号2>    将商店1的所有设置覆盖到商店2
/rpgshop remove  <商店编号>    移除指定商店
/rpgshop trade   <商店编号>    与指定商店进行交易
/rpgshop reload  重载插件
後台/rpgshop trans指令改為/rpgshop gui trans

  • 之后我们需要让自定义NPC支持右键打开这个商店

  • 首先你需要知道这3个指令

  • /npcall player <NPC编号> <指令>添加玩家指令

  • /npc list 查询NPC编号名字前面的就是

  • /rpgshop trade <商店编号>与指定商店进行交易

  • 比如说我们要让一个NPC编号为2的NPC绑定打开一个编号为1的商店

  • 就有指令

  • 范例/npcall player 2 rpgshop trade 1

  • 这个插件的全部命令

/npcall removeall <NPC编号> 删除指定npc绑定的所有内容
/npcall player <NPC编号> <指令>  添加玩家指令
  如:/npcall player 1 gamemode 1  给标号为1的npc绑定gamemode 1指令 
/npcall console <NPC编号> <指令>  添加后台指令(玩家变量:%p%)
  如:/npcall console 1 gamemode 1 %p% 给标号为1的npc绑定gamemode 1 %p% 指令
/npcall msg <NPC编号> <信息>  添加旁白词
  如:/npcall msg 1 PFCraft  给标号为1的npc添加旁白:PFCraft

NPC对话

  • 使用方法
先用/npc select <ID> 选中一个NPC
然后输入/text add <消息> 即可添加一句对话,其余对话以此类推
如果输入的消息有错,输入/text remove <消息ID> 来移除,可以用/text insert 在一句话后插入一条消息
/text cmd add <指令> 来给某一句话添加指令,比如给最后一句话添加其他任务插件的完成任务指令
右键NPC测试成果
/text help 帮助指令
/text insert <id> 插入一条对话
/text add <内容> 添加一条对话
/text remove 移除一条消息
/text cmd <add/remove/auto> 给文本添加指令
/text convert 从Citizens的文本编辑器中导入文本
/text random 随机显示一条消息
/text list 对话列表
/text clear 删除所有消息
/text reload 重载插件

其他杂项

  • 完成愉快的交♂易之后你是不是觉得这样还不够好?还想要?
  • 作者也是想到了,这个作者做的附属插件可以弄出自定义NPCmod的功能
  • 免费的插件,依赖主要的公民插件,没有公民插件不能用 公民插件64RMB
  • 然后就是他的命令
/sentinel help - 显示帮助信息
/sentinel addtarget TYPE -增加目标
/sentinel removetarget TYPE - 移除目标
/sentinel addignore TYPE - 忽略目标
/sentinel removeignore TYPE - 删除目标
/sentinel range RANGE - 允许锁定目标
/sentinel damage DAMAGE - 设置NPC最大攻击范围
/sentinel armor ARMOR - 设置NPC的攻击伤害
/sentinel health HEALTH - 设置NPC的血量
/sentinel attackrate RATE ['ranged'] - 改变NPC攻击的速率
/sentinel healrate RATE - 改变NPC回血的速率。
/sentinel respawntime TIME - 设置NPC复活时间间隔<以秒为单位>
/sentinel chaserange RANGE - 改变NPC在检测运行的最大距离。(如果目标进入了NPC范围内,NPC就会主动过去打他)
/sentinel guard (PLAYERNAME) -使NPC后卫成为特定的玩家。不要指定玩家停止守卫。
/sentinel invincible NPC无敌
/sentinel fightback - NPC会反击(你打他,他会来打你)
/sentinel safeshot -切换NPC避免目标伤害
/sentinel chaseclose - 提示NPC会追逐而“近距离的战斗。
/sentinel chaseranged - 切换NOC在远程战斗中追逐。
/sentinel drops - 切换NPC掉落物品
/sentinel spawnpoint - 改变NPC的复活点点到它当前的位置,或者移除它,如果它已经存在。
/sentinel forgive - 不攻击所有目标
/sentinel enemydrops - 是否这个NPC掉落的物品。
/sentinel info - 显示NPC信息
/sentinel stats - 显示当前NPC的统计信息。
/sentinel targets - 显示当前NPC的目标
/sentinel kill -杀死这个NPC
/sentinel respawn - 复活这个NPC
/sentinel targettime TIME - 设置NPC复活时间
/sentinel speed - 设置NPC的移动速度
/sentinel autoswitch - ???
/sentinel targettime TIME - 设置NPC敌人目标的距离
/sentinel greeting GREETING - 为NPC设置一个问候信息。
/sentinel warning WARNING - 设置一个警告信息
/sentinel greetrange RANGE - 设置一个玩家可以从NPC多玩能接触到
/sentinel accuracy OFFSET -设置NPC的准确性。
/sentinel squad SQUAD - 设置NPC的小队名称(NULL为空)
  • 设置方法:/sentry 参数 值
  • 查看当前值并显示相关帮助:/sentry 参数
  • 显示各方面的详情:/sentry info
  • health 20 1-2000000 生命值,MC默认20点。
  • armor 0 0-2000000 护甲,减少(吸收)所受伤害。 [10点护甲就将会变得非常肉, 这个和装备无关] [PS~举个栗子,钻石剑7点伤害,我设置2,那实际受到只有5点]
  • strength 1 0-2000000 攻击力~,每次攻击所造成的伤害点数, 与武器和对象无关。 [PS:1点=半格血]
  • range 10 1-100 范围,这是NPC所能够识别目标的范围。过高容易影响服务器性能。它与射击范围一类的无关。
  • speed 1.0 0.0-1.5 移动速度~ 使用命令 /npc speed 来设置 [PS:玩家默认速度是1,过高影响服务器性能,官方推荐0.7,适中0.8-0.9]
  • attackrate 2.0 0.0-30.0 每次射击间隔,对近战武器无效。最高效果为 0.5 (一秒两次).
  • healrate 0.0 0.0-300.0 自动治疗点数,少于1还勉强可以接受。设置为0关闭。
  • nightvision 16 0-16 夜视,在黑暗中观察目标的效率。默认值16 就已经意味着他的夜视效率很高了。以此类,越低就越夜盲. 如果玩家偷偷的过去(shift?),那么会更难被发现。
  • respawn 10 -1-2000000 死亡自动复活秒数,设置为0会阻碍正常复活,设置为-1则不会复活。 [PS:不知为何我这边默认的是-1,而且也会自动复活,而且感觉不是以秒计算的(更长),欢迎反馈]
  • warningrange 0 0-50 NPC自动警告/打招呼的范围,不能超越 range 的范围。 设置0禁用。
附表(是 / 否  =  true / false)
参数
默认值
备注
drops false  是否掉落身着物品 和 少量经验。
killdrops true  NPC击杀怪物后,怪物是否掉落物品和经验
invincible false  开启此项NPC将进入无敌模式(无限血), 被攻击会回击、同时显示被攻击动画。
retaliate true  开启此项 NPC会对任何攻击他的实体 进行回击。如果他作为保镖,但是他人主人攻击了他,他仍然会去攻击主人。
criticals true  控制NPC是否能暴击和躲避(miss),设置为false 代表仅运用普通伤害。
mount false  骑乘控制。 具体请看mount条目(待译)
targetable true  设置NPC是否会被周围的怪物生物攻击

最后一个指令 因为这个条目比较长

  • /npc type 设置生物的种类
  • 有如下品种

烈焰人 
Blaze
鸡 
chicken
小僵尸猪人 
zombie_pigman
小僵尸 
zombie
小僵尸村民
zombie_villager
村民
villager
苦力怕 
creeper
守卫者
guardian
远古守护者 
elder_guardian
蠹虫 
silverfish
僵尸
zombie
僵尸村民
zombie_villager
尸壳 也是非洲僵尸(脸黑)
husk
僵尸猪人
zombie_pigman
骷髅弓箭手 
skeleton
凋零骷髅
wither_skeleton
蜘蛛
spider
洞穴蜘蛛
cave_spider
女巫
witch
末影螨
endermite
末影人
enderman
唤魂者
evocation_illager
恶魂
ghast
岩浆怪
magma_cube
潜影贝
shulker
恼鬼
vex
马
horse
驴
donkey
骡
mule
僵尸马
zombie_horse
骷髅马
skeleton_horse
羊驼
llama
史莱姆
slime
豹猫
ocelot
鹦鹉
parrot
狼 or 狗
wolf
铁傀儡
villager_golem
雪傀儡
snow_golem
北极熊
polar_bear
凋零
wither
末影龙
ender_dragon
蝙蝠
bat
牛
cow
哞菇
mooshroom
猪
pig
兔子
rabbit
羊
sheep

⚠️ **GitHub.com Fallback** ⚠️