60742v75im 发表于 2023-4-19 07:08:50

传奇中NPC系统如何设置的脚本制作

什么是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      468226   比奇老兵       0         126         0
传送员\盟重老兵      1      253248   盟重老兵       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其它参数参数名 含义说明
当前Npc可购买库存物品列表,不能写在[@main]前面
想要实现 点开Npc 的<&购买物品〖金币〗/@buy> 或 <&购买物品〖绑定金币〗/@BindBuy> 然后出现的 可购买的物品的列表,
除了需要加上 (@buy @BindBuy) 的头部外,还需要在Npc的脚本后面加入下面的参数:


;物品名称 数量 刷新时间(分钟) 摆放位置
回城卷   50      5            0   //(提示:5分钟刷新50个回城卷在第一个格子里)
回城卷包   60      6            1   //(提示:6分钟刷新60个回城卷包在第二个格子里)
随机传送卷 80      8            5   //(提示:8分钟刷新80个随机传送卷在第六个格子里)

显示效果如下图:(每行5个格子)

当前Npc可打造装备列表,不能写在[@main]前面
想要实现 点开NPC 的 <&打造装备/@Makedrug>然后出现的 可打造装备的物品的列表,除了需要加上 (@Makedrug) 的头部外,
还需要在NPC的脚本后面加入下面的参数:


$项链 $战士专用 雷霆项链
$项链 $战士专用 虎啸项链
$项链 $战士专用 狂雷项链



使用示例(@buy @BindBuy @sell @repair @makedrug@storage @getback)
%100
+10
+11
+15
+58
+81
[@main]
 挑选一件你喜欢的首饰吧。\
 你知道吗?你可以在我这里出售任何物\
品和修理任何装备\ \
<&购买首饰〖{金币=FCO=251}〗/@Buy>\
<&购买首饰〖{绑定金币=FCO=251}〗/@BindBuy>\
<&出售物品/@Sell>\
<&修理装备/@Repair>\
<&特殊修理/@S_Repair>\
<&{打造首饰=FCO=243}/@MakeDrug>\
<&打开仓库/@storage>\
<&修改仓库密码/@Storagepass>\
<&关闭/@exit>\


;物品名称 数量 刷新时间(分钟) 摆放位置
圣战项链   50      5             0
圣战手镯   50      5             5
圣战戒指   50      5             10
法神项链   50      5             2
法神手镯   50      5             7
法神戒指   50      5             12
天尊项链   50      5             4
天尊手镯   50      5             9
天尊戒指   50      5             14


$项链 $战士专用 雷霆项链
$项链 $战士专用 虎啸项链
$项链 $战士专用 狂雷项链
$项链 $战士专用 王者项链
$项链 $法师专用 烈焰项链
$项链 $法师专用 聚魔项链
$项链 $法师专用 逆火项链
$项链 $法师专用 领袖项链
$项链 $道士专用 光芒项链
$项链 $道士专用 暗咒项链
$项链 $道士专用 通云项链
$项链 $道士专用 至尊项链
$手镯 $战士专用 雷霆护腕
$手镯 $战士专用 虎啸护腕
$手镯 $战士专用 狂雷护腕
$手镯 $战士专用 王者护腕
$手镯 $法师专用 烈焰护腕
$手镯 $法师专用 聚魔护腕
$手镯 $法师专用 逆火护腕
$手镯 $法师专用 领袖护腕
$手镯 $道士专用 光芒护腕
$手镯 $道士专用 暗咒护腕
$手镯 $道士专用 通云护腕
$手镯 $道士专用 至尊护腕
$戒指 $战士专用 雷霆战戒
$戒指 $战士专用 虎啸战戒给
$戒指 $战士专用 狂雷战戒力
$戒指 $战士专用 王者战戒引
$戒指 $法师专用 烈焰魔戒擎
$戒指 $法师专用 聚魔魔戒
$戒指 $法师专用 逆火魔戒
$戒指 $法师专用 领袖魔戒魔
$戒指 $道士专用 光芒道戒豆
$戒指 $道士专用 暗咒道戒工
$戒指 $道士专用 通云道戒作
$戒指 $道士专用 至尊道戒室

天天宠物 发表于 2023-11-20 16:47:48

在这里可以学到很多传奇一条龙开区时遇到的问题。

鸿蒙神器 发表于 2023-11-20 18:44:21

传奇论坛里面相对来说比较好的一个!感谢站长分享的技术教程。

独家迷失 发表于 2023-11-20 22:52:39

楼主发贴辛苦了,谢谢楼主分享!

帝王火龙 发表于 2023-11-21 04:17:25

感谢站长分享传奇教程,让我学习到很多知识。

幻想大陆 发表于 2023-11-21 09:47:55

感谢站长分享传奇教程,让我学习到很多知识。

青妖专属 发表于 2023-11-21 13:26:31

感谢楼主提供这么好的论坛!

帝尊大陆 发表于 2023-11-21 18:57:27

这个帖子不回对不起自己!

天封专属 发表于 2023-11-22 00:24:05

楼主发贴辛苦了,谢谢楼主分享!

专属合击 发表于 2023-11-22 06:19:49

这东西我收了!
页: [1] 2
查看完整版本: 传奇中NPC系统如何设置的脚本制作