当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇脚本常用命令与代码示例解析

热度:
传奇脚本基于事件驱动,通过#IF、#ACT等命令控制游戏逻辑。以下是脚本核心结构与常用命令的详细说明,可直接用于编写NPC对话、任务或功能脚本。

一、脚本基础框架与流程控制

所有脚本都遵循“条件判断→执行动作→跳转对话”的结构,主要标签如下:

•#IF:表示“如果”,用于判断条件是否成立。可并列多个条件,用空格分隔表示“与”,用#OR分隔表示“或”。

•#ACT:表示“则执行”,当#IF条件全部满足时,执行其后的命令。

•#SAY:输出文本内容,通常配合#IF使用,当条件满足时显示对话。

•#ELSESAY:与#IF配合,当#IF条件不满足时,执行此处的对话。

•Break:结束当前脚本段,防止命令顺序执行。

示例:简单的元宝检测与扣费
#IF
CheckGameGold>99;检测元宝是否大于99
#ACT
TakeGameGold100;扣除100元宝
Give屠龙1;给予屠龙一把
SendMsg5“购买成功!”
#ELSESAY
你的元宝不足100个,无法购买屠龙。\\
\<返回/@main>


二、人物属性检测命令

检测玩家当前的状态或数值,通常放在#IF后面。

命令格式作用说明示例

CheckLevel检测人物等级CheckLevel>34(等级大于34)

CheckJob检测职业CheckJobWarrior(是否为战士)

CheckGold检测金币数量CheckGold1000000(金币是否≥100万)

CheckGameGold检测元宝数量CheckGameGold500(元宝是否≥500)

CheckItem检测背包物品CheckItem金条1(是否有1个金条)

CheckBagSize检测背包空位CheckBagSize5(空位是否≥5)

CheckLuck检测幸运值CheckLuck>6(幸运是否大于6)

三、物品与货币操作命令

执行给予、扣除、消耗等操作,通常放在#ACT后面。

命令格式作用说明示例

Give给予物品Give裁决之杖1(给1把裁决)

Take扣除物品Take沃玛号角1(收回1个号角)

AddGold增加金币AddGold1000000(增加100万金币)

TakeGold扣除金币TakeGold500000(扣除50万金币)

GameGold增加元宝GameGold+50(增加50元宝)

TakeGameGold扣除元宝TakeGameGold200(扣除200元宝)

GiveEx给予绑定物品GiveEx绑定金币1000000

四、实用功能命令

实现传送、广播、技能学习等常见功能。

命令格式作用说明示例

MapMove地图传送MapMove3330330(传送到土城坐标)

MonClear清理当前地图怪物MonClear(清场)

Param1设置变量MOVP11(设置变量P1=1)

#CALL调用外部脚本#CALL[\任务\初级任务.txt]@任务开始

SendMsg发送消息SendMsg5“欢迎来到沙巴克!”

AddSkill学习技能AddSkill半月弯刀(学习半月技能)

ChangeExp增加经验ChangeExp+1000000(增加100万经验)

五、综合脚本实例

以下是一个完整的NPC脚本,包含条件判断、物品交换和随机奖励。
[@main]
欢迎来到装备回收站。\\
用**祖玛装备x3**可兑换**100元宝**,有几率额外获得**祝福油**。\\
\<兑换/@兑换祖玛>\<离开/@exit>

[@兑换祖玛]
#IF
CheckItem绿色项链3
CheckItem紫碧螺3
CheckItem泰坦戒指3
#ACT
Take绿色项链3
Take紫碧螺3
Take泰坦戒指3
GameGold+100
MOVRN$随机数100
#IF
SMALLN$随机数20
#ACT
Give祝福油1
SendMsg5“兑换成功n外获得祝福油。”
#ELSESAY
兑换成功,获得100元宝。\\
\<返回/@main>
#ELSESAY
祖玛装备数量不足,每种都需要3个。\\
\<返回/@main>


关键点解析:
1.MOVRN$随机数100:生成一个0-99的随机数,赋值给变量N$随机数。
2.SMALLN$随机数20:判断变量是否小于20,即20%概率。

六、脚本存放与调试

1.存放路径:NPC脚本在MirServer\Mir200\Envir\Market_Def目录,文件名对应Merchant.txt中的NPC编号。
2.编码格式:必须使用ANSI编码保存,否则游戏内显示乱码。
3.调试方法:修改脚本后,在M2引擎控制台点击“重新加载NPC”即可生效,无需重启服务器。若报错,检查命令拼写、参数数量及变量格式。
[顶部]