什么是NPC
NPC就是英文(Non-Player-Controlled Character)“非玩家控制角色”的缩写,这个概念最早起源于单机版游戏,逐渐延伸到整个游戏领域。
举个最简单的例子,您在买卖物品的时候需要点击的那个商人就是NPC,还有做任务时需要对话的人物等等都属于NPC。
NPC相关的配置文件
和NPC配置相关的文件有两个,分别是服务端 \Mir200\Envir\ 里面的 Npcs.txt 和 Merchant.txt 文件!
1、"Npcs.txt"文件:
此文件主要用来设置存放管理类NPC 比如 国王、沙城管理员 等 参数比较少不太灵活,一般不用来做交易类的NPC!
绝大多数的NPC
都是做到Merchant.txt 文件里的,只有 管理城堡,比如带有 开关城门、修理城墙 等 功能的NPC 必须放到 这个文件内设置!
Npcs.txt 对应的文件存放在 .\Mir200\Envir\ Npc_def\ 文件夹中,文件格式为: NPC名字-地图号.txt
Npcs.txt 的内容格式为:
;Npc名称 代码 地图 x y 标志 外观代码
比齐官员 1
0122 26 26 0 147
沙巴克官员 2 0150 9 12 0 147
2、"Merchant.txt"文件:
此文件主要用来设置存放交易类NPC!
绝大多数的NPC 都可以做到做到Merchant.txt 文件里的!
Merchant.txt 对应的文件存放在 .\Mir200\Envir\ Market_def\ 文件夹中,文件格式为: NPC名字-地图号.txt
Merchant.txt 的内容格式为:
;调用的文件 地图号 X Y NPC的名字
标志 外观 索引号
传送员\比奇老兵 0 468 226 比奇老兵
0 126 0
传送员\盟重老兵 1 253 248 盟重老兵
0 126 0
魔豆提示:索引号为 1 时 代表这个NPC 是沙城的 NPC
在这种NPC购买物品或修理装备都会根据引擎上的参数收取税收。
沙城员在这些NPC使用服务还可享受相关折扣,在开始攻沙战争的时候这些npc 会自动消失,等攻城战结束再出现。
3、变量<$SELFNAME>用来显示当前对话NPC的名字
NPC开头参数
想要实现NPC卖卖物品、修理装备等功能,需要在NPC文件的头部加上相关的参数。
例如:(@fastbuy @buy @sell @repair @s_repair) 那么这个NPC 就支持 买、卖、普修、特修、快速买卖的功能了。
参数名 | 含义 |
---|---|
@Repair | 普通修理 |
@S_repair | 特殊修理 |
@Buy | 普通金币购买东西 |
@BindBuy | 绑定金币购买东西 |
@Sell | 出售东西 |
@Makedrug | 打造装备 |
@Storage | 保管物品 |
@Getback | 取回物品 |
@Upgradenow | 升级武器 |
@Getbackupgnow | 取回武器 |
@ArmStrengthen | 装备强化 |
@ArmUnseal | 装备开光 |
@ArmRemoveStone | 装备卸下宝石 |
@ArmAbilityMove | 装备属性转移 [详细说明] |
@@InputInteger | 弹出输入数字框 |
@@InputString | 弹出输入文字框 |
@@sendmsg | 发送公告 |
NPC固定命令
说明:<购买物品/@buy> 固定用法 点相应连接就会弹出相应的功能脚本;
命令 | 命令格式或含义 |
---|---|
@Repair | <&普通修理/@repair> |
@S_repair | <&特殊修理/@s_repair> |
@Buy | <&购买物品〖金币〗/@Buy> |
@BindBuy | <&购买物品〖绑定金币〗/@BindBuy> |
@Sell | <&出售物品/@Sell> |
@Makedrug | <&打造装备/@Makedrug> |
@Storage | <&保管物品/@Storage> |
@Getback | <&取回物品/@Getback> |
@Upgradenow | 升级武器 |
@Getbackupgnow | 取回武器 |
@ArmStrengthen | <&装备强化/@ArmStrengthen> |
@ArmUnseal | <&装备开光/@ArmUnseal> |
@ArmRemoveStone | <&装备卸下宝石/@ArmRemoveStone> |
@ArmAbilityMove | <&装备属性转移/@ArmAbilityMove> |
@@InputInteger | <&弹出输入数字框/@@InputInteger1> 注:输入确定后触发 [@@InputInteger1] 输入的值保存在 N1 变量中 |
@@InputString | <&弹出输入文字框/@@InputString1> 注:输入确定后 触发 [@@InputString1] 输入的值保存在 S1 变量中 |
@@sendmsg | 发送公告 |
@Storagepass | 修改仓库密码 |
NPC可销售购买物品分类列表
参数名 | 含义 |
---|---|
%100 | 表示该NPC出售的物品价格,%100是原始物价,%150是1.5倍物价 //无效 |
+19 +20 +21 | 是项链店,所有项链可以在这里维修和交易 //无效 |
+22 +23 | 是戒指店,所有戒指可以在这里维修和交易 //无效 |
+24 +26 | 是手镯店,所有手镯可以在这里维修和交易 //无效 |
+3 +25 +30 | 是杂货店,所有杂货可以在这里维修和交易 //无效 |
+3 +4 | 是书 店,所有图书可以在这里交易 //无效 |
+0 +42 | 是药 店,所有药剂可以在这里交易 //无效 |
+10 +11 +58 +81 | 是衣服店,所有衣服、腰带和靴子可以在这里维修和交易 //无效 |
+15 | 是头盔店,所有头盔可以在这里维修和交易 //无效 |
+5 +6 +43 | 是兵器店,所有兵器可以在这里维修和交易 //无效 |
+1 +40 | 是肉 店,所有肉可以在这里交易 //无效 |
NPC其它参数
参数名 | 含义说明 |
---|---|
[goods] | 当前Npc可购买库存物品列表,不能写在[@main]前面 想要实现 点开Npc 的<&购买物品〖金币〗/@buy> 或 <&购买物品〖绑定金币〗/@BindBuy> 然后出现的 可购买的物品的列表, 除了需要加上 (@buy @BindBuy) 的头部外,还需要在Npc的脚本后面加入下面的参数: [goods] ;物品名称 数量 刷新时间(分钟) 摆放位置 回城卷 200 5 0 //(提示:5分钟刷新200个回城卷在第一个格子里) 随机传送卷 100 5 1 随机传送卷包 500 5 2 护身符 100 10 3 //(提示:10分钟刷新100个护身符在第四个格子里) 护身符(大) 100 10 4 地牢逃脱卷 10 10 5 行会回城卷 50 10 6 灰色药粉(少量) 100 10 7 黄色药粉(少量) 100 10 8 灰色药粉(中量) 100 10 9 灰色药粉(大量) 100 10 10 黄色药粉(中量) 100 10 11 黄色药粉(大量) 100 10 12 显示效果如下图:(每行5个格子) |
- 本文固定链接: http://www.520kf.com/ChuanQi_JiaoBen/779.html
- 转载请注明: 传奇爱好者 于 【520开服网】 发表