一、传奇脚本代码基础:核心命令格式与逻辑
传奇脚本代码以“条件判断-执行操作”为核心逻辑,常用命令由前缀标识功能,语法简洁且针对性强,适配主流GOM、GEE、HERO等引擎。掌握#IF(条件判断)、#ACT(执行操作)两大核心前缀,是编写和修改脚本的基础。
1.核心前缀:#IF与#ACT的基础作用
#IF为条件判断前缀,用于设定脚本执行的前提,紧跟其后的是具体检测条件,如元宝数量、角色等级、物品持有情况等,只有当条件成立时,#ACT后的执行命令才会生效。#ACT为执行操作前缀,用于定义条件满足后触发的具体行为,如发放道具、扣除资源、传送地图等。
基础格式示例:
#IF//条件判断开始
CheckGameGold>99//检测角色元宝数量是否大于99个
#ACT//条件成立后执行操作开始
GiveGold10//给予角色10个元宝
SendMsg6恭喜!元宝数量达标,获得额外奖励//在游戏内发送提示信息
该示例中,只有当角色元宝数超过99时,才会触发“给予10元宝”和“发送提示”两个操作,逻辑清晰且执行高效。
2.常用检测命令:与#IF搭配的核心条件
检测命令是#IF的核心组成,需根据需求选择对应命令,确保条件判断精准。以下为高频检测命令及用法,适配多数传奇引擎:
-资源检测:除CheckGameGold(检测元宝)外,CheckGold(检测金币)、CheckBaoShi(检测宝石)也常用,格式均为“命令比较符号数值”,如CheckGold>1000(金币大于1000)、CheckBaoShi=5(宝石数量等于5)。
-角色信息检测:CheckLevel(检测等级)格式为CheckLevel>30(等级大于30级);CheckJob(检测职业)对应战士1、法师2、道士3,如CheckJob=1(战士职业);CheckSex(检测性别)1为男、2为女,如CheckSex=2(女性角色)。
-物品检测:CheckItem(检测是否持有物品)格式为CheckItem屠龙1(持有至少1把屠龙);CheckItemCount(检测物品数量)如CheckItemCount强效红药>20(强效红药超过20个)。
-状态检测:CheckSlayCount(检测杀怪数量)如CheckSlayCount僵尸10(已击杀10只僵尸);CheckMap(检测当前地图)如CheckMap蜈蚣洞(当前处于蜈蚣洞地图)。
3.条件组合:多前提的逻辑关联方式
实际脚本中常需多条件判断,通过“&&”(与)、“||”(或)实现逻辑关联,满足复杂场景需求。“&&”代表所有条件同时成立才生效,“||”代表任意一个条件成立即可生效。
#IF//多条件“与”逻辑
CheckLevel>40//等级超40级
&&CheckJob=2//法师职业
&&CheckItem骨玉权杖1//持有骨玉权杖
#ACT
Give法神头盔1//发放法神头盔
SendMsg6法师强者专属奖励已发放//发送职业专属提示
#IF//多条件“或”逻辑
CheckGameGold>500//元宝超500
||CheckItem金砖3//持有3块金砖
#ACT
MapMove沙巴克320330//传送至沙巴克指定坐标
SendMsg6已传送至沙巴克,准备攻城!
二、高频执行命令:#ACT后的核心操作代码
#ACT后的执行命令直接对应游戏内行为,涵盖资源变动、地图传送、物品操作等核心功能,不同引擎命令格式略有差异,以下以通用格式为主,适配多数场景。
1.资源操作命令:元宝、金币的增减与转换
资源操作是脚本核心功能之一,命令需明确操作类型(增加/扣除)、资源类型及数量,避免出现数据异常。
-增加资源:GiveGold数值(增加金币)、GiveGameGold数值(增加元宝),如GiveGold5000(增加5000金币)、GiveGameGold20(增加20元宝)。
-扣除资源:TakeGold数值(扣除金币)、TakeGameGold数值(扣除元宝),如TakeGameGold50(扣除50元宝),需注意扣除前需用#IF检测资源充足。
-资源转换:ConvertGold1000GameGold1(1000金币转换为1元宝),转换比例可根据脚本需求调整。
2.物品操作命令:发放、回收与属性修改
物品操作需精准对应物品名称(与游戏内完全一致),避免因名称错误导致操作失效,部分命令支持批量操作。
-发放物品:Give物品名称数量,如Give强效红药50(发放50个强效红药)、Give裁决之杖1(发放1把裁决之杖)。
-回收物品:Take物品名称数量,如Take白色装备10(回收10件白色装备),可搭配CheckItemCount实现“有则回收”逻辑。
-物品属性修改:ChangeItemAttr物品名称属性数值,如ChangeItemAttr屠龙攻击5(将屠龙攻击属性+5),仅部分引擎支持该命令。
3.地图与角色操作:传送、等级与状态调整
这类命令直接影响角色在游戏内的位置和状态,是任务脚本、挂机脚本的核心组成部分。
-地图传送:MapMove地图名称X坐标Y坐标,如MapMove猪洞七层250260(传送至猪洞七层对应坐标),坐标需通过游戏内F12地图功能查看。
-等级调整:ChangeLevel数值(直接设置等级)、AddLevel数值(等级增加),如AddLevel3(等级+3),常用于新手任务奖励。
-状态附加:AddBuff状态ID持续时间,如AddBuff1300(附加1号状态,持续300秒),状态ID需参考引擎状态列表。
4.信息提示命令:游戏内反馈与引导
提示命令用于向玩家传递脚本执行结果,提升操作体验,支持不同颜色和显示位置的设置。
-普通提示:SendMsg颜色代码提示内容,颜色代码1-255对应不同颜色,常用6为黄色、14为红色,如SendMsg6任务已完成,前往NPC处领奖(黄色提示)。
-顶部提示:SendTopMsg提示内容持续时间,如SendTopMsg恭喜获得稀有装备!5(顶部显示提示5秒)。
-对话框提示:OpenDialog对话框ID,调用游戏内预设对话框,需提前在引擎中配置对话框内容。
三、实战脚本代码实例:覆盖日常与核心玩法
结合传奇核心玩法,以下实例涵盖日常任务、资源兑换、BOSS奖励等高频场景,代码可直接修改参数后使用,适配GOM、GEE引擎。
1.日常签到脚本:等级达标领奖励
功能:等级≥30级的角色签到,可领取金币、药水奖励,每日限1次(通过检测变量实现)。
#IF//签到条件
CheckLevel>=30//等级达标
&&CheckVar签到变量0//未签到(变量初始为0,签到后设为1)
#ACT//执行签到奖励
GiveGold10000//1万金币
Give强效红药30//30个红药
Give强效蓝药20//20个蓝药
SetVar签到变量1//标记为已签到
SendMsg6今日签到成功,奖励已发放至背包!
#ELSEACT//条件不成立时执行
SendMsg14签到失败!等级不足30级或今日已签到
2.元宝兑换装备脚本:精准扣除与发放
功能:消耗指定数量元宝兑换对应职业装备,支持战士、法师、道士三职业区分。
#IF//战士兑换条件
CheckJob=1//战士职业
&&CheckGameGold>=200//元宝≥200
#ACT
TakeGameGold200//扣除200元宝
Give圣战套装1//发放圣战套装
SendMsg6战士专属圣战套装兑换成功!
#ELSEIF//法师兑换条件
CheckJob=2//法师职业
&&CheckGameGold>=200//元宝≥200
#ACT
TakeGameGold200
Give法神套装1
SendMsg6法师专属法神套装兑换成功!
#ELSEIF//道士兑换条件
CheckJob=3//道士职业
&&CheckGameGold>=200//元宝≥200
#ACT
TakeGameGold200
Give天尊套装1
SendMsg6道士专属天尊套装兑换成功!
#ELSEACT//条件不成立
SendMsg14兑换失败!职业不符或元宝不足
3.BOSS击杀奖励脚本:触发式资源发放
功能:击杀指定BOSS(如沃玛教主)后,自动发放元宝、稀有材料奖励,支持多角色共享检测。
#IF//BOSS击杀条件
CheckSlayCount沃玛教主1//已击杀1只沃玛教主
&&CheckMap沃玛寺庙//在沃玛寺庙地图
#ACT
GiveGameGold50//50元宝奖励
Give沃玛号角1//稀有材料
ClearSlayCount沃玛教主//清空杀怪计数(避免重复领奖)
SendMsg6成功击杀沃玛教主,获得丰厚奖励!
MapMove土城300320//自动传送回土城
#ELSEACT
SendMsg14未满足奖励条件,请先击杀沃玛教主
四、脚本代码编写与调试技巧:避免常见错误
传奇脚本代码对格式和逻辑要求严格,微小错误可能导致脚本失效,掌握编写规范和调试方法可大幅提升效率。
1.编写规范:格式与细节把控
-命令大小写统一:脚本命令不区分大小写,但建议全大写(如#IF、#ACT),避免与变量混淆,提升可读性。
-物品名称精准:物品名称需与游戏内完全一致,包括特殊符号(如“裁决之杖”不可写为“裁决”),可通过引擎“物品列表”复制名称。
-注释清晰:用“//”添加注释,标注条件和操作目的,如//检测等级与职业,后续修改时便于理解逻辑。
-变量初始化:使用变量(如签到变量)前,需在引擎“变量管理”中设置初始值,避免变量未定义导致脚本报错。
2.调试技巧:快速定位错误
-分段测试:复杂脚本按“条件-执行”分段测试,先单独测试#IF条件是否生效(可通过SendMsg提示),再测试#ACT操作,逐步缩小错误范围。
-引擎日志查看:在引擎“日志管理”中开启“脚本日志”,脚本执行失败时,日志会显示错误原因(如“物品名称错误”“变量未定义”)。
-简化测试:将复杂条件简化为单一条件(如仅检测元宝数量),确认基础逻辑生效后,再添加多条件组合,避免多因素干扰。
-坐标与地图验证:地图传送命令调试时,先在游戏内到达目标位置,记录坐标后填入脚本,避免坐标错误导致传送失败。
五、不同引擎代码差异:适配GOM、GEE、HERO核心区别
主流传奇引擎脚本核心逻辑一致,但部分命令格式存在差异,编写时需根据服务器所用引擎调整,避免功能失效。
功能需求
GOM引擎命令
GEE引擎命令
HERO引擎命令
检测元宝
CheckGameGold>数值
CheckYB>数值
CheckYuanBao>数值
增加元宝
GiveGameGold数值
GiveYB数值
GiveYuanBao数值
地图传送
MapMove地图名XY
@MapMove地图IDXY
MoveMap地图名XY
设置变量
SetVar变量名数值
@SetVar变量名数值
VarSet变量名数值
引擎差异可通过官方文档查询,或在脚本平台筛言应引擎的脚本模板,修改参数后使用,降低适配难度。
传奇脚本代码以“条件判断-执行操作”为核心逻辑,常用命令由前缀标识功能,语法简洁且针对性强,适配主流GOM、GEE、HERO等引擎。掌握#IF(条件判断)、#ACT(执行操作)两大核心前缀,是编写和修改脚本的基础。
1.核心前缀:#IF与#ACT的基础作用
#IF为条件判断前缀,用于设定脚本执行的前提,紧跟其后的是具体检测条件,如元宝数量、角色等级、物品持有情况等,只有当条件成立时,#ACT后的执行命令才会生效。#ACT为执行操作前缀,用于定义条件满足后触发的具体行为,如发放道具、扣除资源、传送地图等。
基础格式示例:
#IF//条件判断开始
CheckGameGold>99//检测角色元宝数量是否大于99个
#ACT//条件成立后执行操作开始
GiveGold10//给予角色10个元宝
SendMsg6恭喜!元宝数量达标,获得额外奖励//在游戏内发送提示信息
该示例中,只有当角色元宝数超过99时,才会触发“给予10元宝”和“发送提示”两个操作,逻辑清晰且执行高效。
2.常用检测命令:与#IF搭配的核心条件
检测命令是#IF的核心组成,需根据需求选择对应命令,确保条件判断精准。以下为高频检测命令及用法,适配多数传奇引擎:
-资源检测:除CheckGameGold(检测元宝)外,CheckGold(检测金币)、CheckBaoShi(检测宝石)也常用,格式均为“命令比较符号数值”,如CheckGold>1000(金币大于1000)、CheckBaoShi=5(宝石数量等于5)。
-角色信息检测:CheckLevel(检测等级)格式为CheckLevel>30(等级大于30级);CheckJob(检测职业)对应战士1、法师2、道士3,如CheckJob=1(战士职业);CheckSex(检测性别)1为男、2为女,如CheckSex=2(女性角色)。
-物品检测:CheckItem(检测是否持有物品)格式为CheckItem屠龙1(持有至少1把屠龙);CheckItemCount(检测物品数量)如CheckItemCount强效红药>20(强效红药超过20个)。
-状态检测:CheckSlayCount(检测杀怪数量)如CheckSlayCount僵尸10(已击杀10只僵尸);CheckMap(检测当前地图)如CheckMap蜈蚣洞(当前处于蜈蚣洞地图)。
3.条件组合:多前提的逻辑关联方式
实际脚本中常需多条件判断,通过“&&”(与)、“||”(或)实现逻辑关联,满足复杂场景需求。“&&”代表所有条件同时成立才生效,“||”代表任意一个条件成立即可生效。
#IF//多条件“与”逻辑
CheckLevel>40//等级超40级
&&CheckJob=2//法师职业
&&CheckItem骨玉权杖1//持有骨玉权杖
#ACT
Give法神头盔1//发放法神头盔
SendMsg6法师强者专属奖励已发放//发送职业专属提示
#IF//多条件“或”逻辑
CheckGameGold>500//元宝超500
||CheckItem金砖3//持有3块金砖
#ACT
MapMove沙巴克320330//传送至沙巴克指定坐标
SendMsg6已传送至沙巴克,准备攻城!
二、高频执行命令:#ACT后的核心操作代码
#ACT后的执行命令直接对应游戏内行为,涵盖资源变动、地图传送、物品操作等核心功能,不同引擎命令格式略有差异,以下以通用格式为主,适配多数场景。
1.资源操作命令:元宝、金币的增减与转换
资源操作是脚本核心功能之一,命令需明确操作类型(增加/扣除)、资源类型及数量,避免出现数据异常。
-增加资源:GiveGold数值(增加金币)、GiveGameGold数值(增加元宝),如GiveGold5000(增加5000金币)、GiveGameGold20(增加20元宝)。
-扣除资源:TakeGold数值(扣除金币)、TakeGameGold数值(扣除元宝),如TakeGameGold50(扣除50元宝),需注意扣除前需用#IF检测资源充足。
-资源转换:ConvertGold1000GameGold1(1000金币转换为1元宝),转换比例可根据脚本需求调整。
2.物品操作命令:发放、回收与属性修改
物品操作需精准对应物品名称(与游戏内完全一致),避免因名称错误导致操作失效,部分命令支持批量操作。
-发放物品:Give物品名称数量,如Give强效红药50(发放50个强效红药)、Give裁决之杖1(发放1把裁决之杖)。
-回收物品:Take物品名称数量,如Take白色装备10(回收10件白色装备),可搭配CheckItemCount实现“有则回收”逻辑。
-物品属性修改:ChangeItemAttr物品名称属性数值,如ChangeItemAttr屠龙攻击5(将屠龙攻击属性+5),仅部分引擎支持该命令。
3.地图与角色操作:传送、等级与状态调整
这类命令直接影响角色在游戏内的位置和状态,是任务脚本、挂机脚本的核心组成部分。
-地图传送:MapMove地图名称X坐标Y坐标,如MapMove猪洞七层250260(传送至猪洞七层对应坐标),坐标需通过游戏内F12地图功能查看。
-等级调整:ChangeLevel数值(直接设置等级)、AddLevel数值(等级增加),如AddLevel3(等级+3),常用于新手任务奖励。
-状态附加:AddBuff状态ID持续时间,如AddBuff1300(附加1号状态,持续300秒),状态ID需参考引擎状态列表。
4.信息提示命令:游戏内反馈与引导
提示命令用于向玩家传递脚本执行结果,提升操作体验,支持不同颜色和显示位置的设置。
-普通提示:SendMsg颜色代码提示内容,颜色代码1-255对应不同颜色,常用6为黄色、14为红色,如SendMsg6任务已完成,前往NPC处领奖(黄色提示)。
-顶部提示:SendTopMsg提示内容持续时间,如SendTopMsg恭喜获得稀有装备!5(顶部显示提示5秒)。
-对话框提示:OpenDialog对话框ID,调用游戏内预设对话框,需提前在引擎中配置对话框内容。
三、实战脚本代码实例:覆盖日常与核心玩法
结合传奇核心玩法,以下实例涵盖日常任务、资源兑换、BOSS奖励等高频场景,代码可直接修改参数后使用,适配GOM、GEE引擎。
1.日常签到脚本:等级达标领奖励
功能:等级≥30级的角色签到,可领取金币、药水奖励,每日限1次(通过检测变量实现)。
#IF//签到条件
CheckLevel>=30//等级达标
&&CheckVar签到变量0//未签到(变量初始为0,签到后设为1)
#ACT//执行签到奖励
GiveGold10000//1万金币
Give强效红药30//30个红药
Give强效蓝药20//20个蓝药
SetVar签到变量1//标记为已签到
SendMsg6今日签到成功,奖励已发放至背包!
#ELSEACT//条件不成立时执行
SendMsg14签到失败!等级不足30级或今日已签到
2.元宝兑换装备脚本:精准扣除与发放
功能:消耗指定数量元宝兑换对应职业装备,支持战士、法师、道士三职业区分。
#IF//战士兑换条件
CheckJob=1//战士职业
&&CheckGameGold>=200//元宝≥200
#ACT
TakeGameGold200//扣除200元宝
Give圣战套装1//发放圣战套装
SendMsg6战士专属圣战套装兑换成功!
#ELSEIF//法师兑换条件
CheckJob=2//法师职业
&&CheckGameGold>=200//元宝≥200
#ACT
TakeGameGold200
Give法神套装1
SendMsg6法师专属法神套装兑换成功!
#ELSEIF//道士兑换条件
CheckJob=3//道士职业
&&CheckGameGold>=200//元宝≥200
#ACT
TakeGameGold200
Give天尊套装1
SendMsg6道士专属天尊套装兑换成功!
#ELSEACT//条件不成立
SendMsg14兑换失败!职业不符或元宝不足
3.BOSS击杀奖励脚本:触发式资源发放
功能:击杀指定BOSS(如沃玛教主)后,自动发放元宝、稀有材料奖励,支持多角色共享检测。
#IF//BOSS击杀条件
CheckSlayCount沃玛教主1//已击杀1只沃玛教主
&&CheckMap沃玛寺庙//在沃玛寺庙地图
#ACT
GiveGameGold50//50元宝奖励
Give沃玛号角1//稀有材料
ClearSlayCount沃玛教主//清空杀怪计数(避免重复领奖)
SendMsg6成功击杀沃玛教主,获得丰厚奖励!
MapMove土城300320//自动传送回土城
#ELSEACT
SendMsg14未满足奖励条件,请先击杀沃玛教主
四、脚本代码编写与调试技巧:避免常见错误
传奇脚本代码对格式和逻辑要求严格,微小错误可能导致脚本失效,掌握编写规范和调试方法可大幅提升效率。
1.编写规范:格式与细节把控
-命令大小写统一:脚本命令不区分大小写,但建议全大写(如#IF、#ACT),避免与变量混淆,提升可读性。
-物品名称精准:物品名称需与游戏内完全一致,包括特殊符号(如“裁决之杖”不可写为“裁决”),可通过引擎“物品列表”复制名称。
-注释清晰:用“//”添加注释,标注条件和操作目的,如//检测等级与职业,后续修改时便于理解逻辑。
-变量初始化:使用变量(如签到变量)前,需在引擎“变量管理”中设置初始值,避免变量未定义导致脚本报错。
2.调试技巧:快速定位错误
-分段测试:复杂脚本按“条件-执行”分段测试,先单独测试#IF条件是否生效(可通过SendMsg提示),再测试#ACT操作,逐步缩小错误范围。
-引擎日志查看:在引擎“日志管理”中开启“脚本日志”,脚本执行失败时,日志会显示错误原因(如“物品名称错误”“变量未定义”)。
-简化测试:将复杂条件简化为单一条件(如仅检测元宝数量),确认基础逻辑生效后,再添加多条件组合,避免多因素干扰。
-坐标与地图验证:地图传送命令调试时,先在游戏内到达目标位置,记录坐标后填入脚本,避免坐标错误导致传送失败。
五、不同引擎代码差异:适配GOM、GEE、HERO核心区别
主流传奇引擎脚本核心逻辑一致,但部分命令格式存在差异,编写时需根据服务器所用引擎调整,避免功能失效。
功能需求
GOM引擎命令
GEE引擎命令
HERO引擎命令
检测元宝
CheckGameGold>数值
CheckYB>数值
CheckYuanBao>数值
增加元宝
GiveGameGold数值
GiveYB数值
GiveYuanBao数值
地图传送
MapMove地图名XY
@MapMove地图IDXY
MoveMap地图名XY
设置变量
SetVar变量名数值
@SetVar变量名数值
VarSet变量名数值
引擎差异可通过官方文档查询,或在脚本平台筛言应引擎的脚本模板,修改参数后使用,降低适配难度。

