一、修改前核心预备知识
传奇服务端中,元宝扣费指令为CHECKGAMEGOLD、GAMEGOLD-,金币扣费指令为CHECKGOLD、GOLD-,这是替换的核心依据。修改前必须备份原始脚本文件,防止改错导致脚本失效、NPC功能异常。
本次修改目标:将行会竞价的元宝扣除,替换为金币扣除,每次竞价加价固定为10W金币,同步修改提示文案,让文字描述和扣费逻辑一致。脚本存放路径:服务端根目录→Mir200→Envir→MarketDef文件夹,找到对应行会竞价脚本文件,用记事本或Notepad++打开编辑。
二、关键指令替换步骤
2.1替换条件检测指令
找到脚本中[@cyjj]标签下的CHECKGAMEGOLD><$STR(G56)>代码,这行是检测玩家元宝是否足够的指令,将其替换为CHECKGOLD><$STR(G56)>,代表检测玩家金币数量是否满足竞价要求。
2.2替换扣费执行指令
找到同一标签下的GAMEGOLD-<$STR(G56)>代码,这行是扣除元宝的执行指令,将其替换为GOLD-<$STR(G56)>,代表执行扣除对应金币的操作,完成元宝到金币的核心替换。
2.3修改加价数值为10W
找到[@cyjj]标签下的INCG56100代码,这行是每次竞价加价100元宝的参数,将数字100修改为100000,即改为INCG56100000,实现每次竞价固定加价10W金币。
三、文案提示同步修改
脚本内文字提示需和扣费类型、数值匹配,避免玩家误解。找到[@main]标签下的“您支付比目前竞价多100元宝”语句,将其修改为“您支付比目前竞价多10W金币”,统一文案描述。
找到[@cyjj]标签下成功提示框中的“花了【<$STR(G56)>】个元宝竞得”语句,修改为“花了【<$STR(G56)>】个金币竞得”,让扣费结果提示准确无误。
找到[@cyjj]标签下失败提示的“您的金币不足或者您没有行会”,此行文案原本有误,同步修正为“您的金币不足或者您没有行会/不是行会掌门”,贴合实际判定逻辑。
四、修改后完整可直接使用脚本
[@main]
<★━━━━★/SCOLOR=250> ━━行会【<$STR(A30)>】自助招人系统━━\
<┃/SCOLOR=250>行<■/AUTOCOLOR=254250253241>竞<┃/SCOLOR=250>\
<┃/SCOLOR=250><■/AUTOCOLOR=250251241254>板<■/AUTOCOLOR=241250253254><┃/SCOLOR=250> 『<加入行会/@jrxh>』 『<参加竞价/@cyjj>』 『<管理选项/@竞标台管理>』\
<┃/SCOLOR=250>会<■/AUTOCOLOR=250253254241>价<┃/SCOLOR=250> <加入该行会的最低等级要求是:/AUTOCOLOR=249><$STR(n71)>级以上\
<★━━━━★/SCOLOR=250> ━━━━━━━━━━━━━━━━━━━━━\
<【行会名称】/SCOLOR=154>:<$STR(A30)> <行会掌门:/SCOLOR=154><$STR(A31)>\
<【竞标价格】/SCOLOR=154>:<$STR(G56)> <收人状态:/SCOLOR=154><$STR(S10)>\
<【掌门致辞】/SCOLOR=154>:<$STR(S5)>\
<您支付比目前竞价多10W金币,即可让你建的行会成为[天下第一行会]/AUTOCOLOR=250253254241>\
[@清理]
#IF
ISADMIN
#act
movG56
movG30
movA30
movG31
movS5
movA31
movS10
[@cyjj]
#IF
HAVEGUILD
ISGUILDMASTER
CHECKGOLD><$STR(G56)>
#ACT
INCG56100000
GOLD-<$STR(G56)>
movA30<$GUILDNAME>
movA31<$USERNAME>
Messagebox[成功]:您在行会竞价板上花了【<$STR(G56)>】个金币竞得。
SendCenterMsg2500【<$USERNAME>】在行会竞价板为行会【<$STR(A30)>】竞得,大家赶快来加入这个有实力的行会吧!
GuildNoticeMsg2500【<$USERNAME>】在行会竞价板为行会【<$STR(A30)>】竞得,大家赶快来加入这个有实力的行会吧!
GuildNoticeMsg2500【<$USERNAME>】在行会竞价板为行会【<$STR(A30)>】竞得,大家赶快来加入这个有实力的行会吧!
GuildNoticeMsg2500【<$USERNAME>】在行会竞价板为行会【<$STR(A30)>】竞得,大家赶快来加入这个有实力的行会吧!
GOTO@main
BREAK
#ELSEACT
Messagebox[失败]:您的金币不足或者您没有行会/不是行会掌门
[@jrxh]
#if
equalG1091
#act
messagebox对不起,本行会暂时不收人
break
#if
CHECKLEVELEX<<$STR(G108)>
#act
messagebox等级不够!
break
#IF
ISGUILDMASTER
#ACT
Messagebox[失败]:您现在是行会掌门不能在加入其他行会!!
break
#IF
equalA30<$GUILDNAME>
#ACT
Messagebox[失败]:您现在已经是【<$STR(A30)>】的行会成员了!!
break
#ELSEACT
goto@jrxh3
[@jrxh3]
#IF
HAVEGUILD
#ACT
Gmexecute退出门派
DELAYGOTO3@jrxh4
#ELSEACT
goto@jrxh4
[@jrxh4]
#IF
equalA30
#ACT
Messagebox[失败]:现在还没行会竟价格
#ELSEACT
AddGuildMember<$STR(A30)>
SendCenterMsg2500恭喜【<$USERNAME>】通过【天下第一行会】NPC加入了行会【<$STR(A30)>】
GuildNoticeMsg2500恭喜【<$USERNAME>】通过【天下第一行会】NPC加入了行会【<$STR(A30)>】
GuildNoticeMsg2500恭喜【<$USERNAME>】通过【天下第一行会】NPC加入了行会【<$STR(A30)>】
GuildNoticeMsg2500恭喜【<$USERNAME>】通过【天下第一行会】NPC加入了行会【<$STR(A30)>】
break
五、脚本生效操作步骤
修改保存脚本后,关闭原本的编辑窗口,进入传奇服务端M2server引擎控制器,点击顶部加载选项,选择重载NPC脚本,等待脚本重载完成,无需重启整个服务端即可生效。
重载后进入游戏,找到对应行会竞价NPC,点击参加竞价测试:检测金币是否足够、扣除数值是否为10W/次、提示文案是否准确,测试无异常则修改完成;若出现功能失效,立即替换为备份的原始脚本,排查修改错误点。
六、常见修改错误排查
-扣费不生效:检查指令拼写是否正确,CHECKGOLD、GOLD指令有无写错字母,数值100000是否输入正确,无多余空格
-提示文案不变:确认[@main]和[@cyjj]标签下的元宝、金币文字已全部替换,保存后重新重载脚本
-脚本报错无法加载:检查代码格式,#IF、#ACT、#ELSEACT语句是否对齐,有无遗漏标点、换行错误
-依旧扣元宝:确认旧脚本已覆盖,是否修改错文件路径,重载脚本操作是否执行到位
七、额外注意事项
修改脚本时保持代码原有格式,不要删除或改动其他无关指令,避免破坏行会加入、清理、管理等原有功能。每次修改前务必备份文件,方便出现问题快速还原。测试阶段用GM账号测试金币扣除、竞价流程,确认无误后再开放给普通玩家使用。
传奇服务端中,元宝扣费指令为CHECKGAMEGOLD、GAMEGOLD-,金币扣费指令为CHECKGOLD、GOLD-,这是替换的核心依据。修改前必须备份原始脚本文件,防止改错导致脚本失效、NPC功能异常。
本次修改目标:将行会竞价的元宝扣除,替换为金币扣除,每次竞价加价固定为10W金币,同步修改提示文案,让文字描述和扣费逻辑一致。脚本存放路径:服务端根目录→Mir200→Envir→MarketDef文件夹,找到对应行会竞价脚本文件,用记事本或Notepad++打开编辑。
二、关键指令替换步骤
2.1替换条件检测指令
找到脚本中[@cyjj]标签下的CHECKGAMEGOLD><$STR(G56)>代码,这行是检测玩家元宝是否足够的指令,将其替换为CHECKGOLD><$STR(G56)>,代表检测玩家金币数量是否满足竞价要求。
2.2替换扣费执行指令
找到同一标签下的GAMEGOLD-<$STR(G56)>代码,这行是扣除元宝的执行指令,将其替换为GOLD-<$STR(G56)>,代表执行扣除对应金币的操作,完成元宝到金币的核心替换。
2.3修改加价数值为10W
找到[@cyjj]标签下的INCG56100代码,这行是每次竞价加价100元宝的参数,将数字100修改为100000,即改为INCG56100000,实现每次竞价固定加价10W金币。
三、文案提示同步修改
脚本内文字提示需和扣费类型、数值匹配,避免玩家误解。找到[@main]标签下的“您支付比目前竞价多100元宝”语句,将其修改为“您支付比目前竞价多10W金币”,统一文案描述。
找到[@cyjj]标签下成功提示框中的“花了【<$STR(G56)>】个元宝竞得”语句,修改为“花了【<$STR(G56)>】个金币竞得”,让扣费结果提示准确无误。
找到[@cyjj]标签下失败提示的“您的金币不足或者您没有行会”,此行文案原本有误,同步修正为“您的金币不足或者您没有行会/不是行会掌门”,贴合实际判定逻辑。
四、修改后完整可直接使用脚本
[@main]
<★━━━━★/SCOLOR=250> ━━行会【<$STR(A30)>】自助招人系统━━\
<┃/SCOLOR=250>行<■/AUTOCOLOR=254250253241>竞<┃/SCOLOR=250>\
<┃/SCOLOR=250><■/AUTOCOLOR=250251241254>板<■/AUTOCOLOR=241250253254><┃/SCOLOR=250> 『<加入行会/@jrxh>』 『<参加竞价/@cyjj>』 『<管理选项/@竞标台管理>』\
<┃/SCOLOR=250>会<■/AUTOCOLOR=250253254241>价<┃/SCOLOR=250> <加入该行会的最低等级要求是:/AUTOCOLOR=249><$STR(n71)>级以上\
<★━━━━★/SCOLOR=250> ━━━━━━━━━━━━━━━━━━━━━\
<【行会名称】/SCOLOR=154>:<$STR(A30)> <行会掌门:/SCOLOR=154><$STR(A31)>\
<【竞标价格】/SCOLOR=154>:<$STR(G56)> <收人状态:/SCOLOR=154><$STR(S10)>\
<【掌门致辞】/SCOLOR=154>:<$STR(S5)>\
<您支付比目前竞价多10W金币,即可让你建的行会成为[天下第一行会]/AUTOCOLOR=250253254241>\
[@清理]
#IF
ISADMIN
#act
movG56
movG30
movA30
movG31
movS5
movA31
movS10
[@cyjj]
#IF
HAVEGUILD
ISGUILDMASTER
CHECKGOLD><$STR(G56)>
#ACT
INCG56100000
GOLD-<$STR(G56)>
movA30<$GUILDNAME>
movA31<$USERNAME>
Messagebox[成功]:您在行会竞价板上花了【<$STR(G56)>】个金币竞得。
SendCenterMsg2500【<$USERNAME>】在行会竞价板为行会【<$STR(A30)>】竞得,大家赶快来加入这个有实力的行会吧!
GuildNoticeMsg2500【<$USERNAME>】在行会竞价板为行会【<$STR(A30)>】竞得,大家赶快来加入这个有实力的行会吧!
GuildNoticeMsg2500【<$USERNAME>】在行会竞价板为行会【<$STR(A30)>】竞得,大家赶快来加入这个有实力的行会吧!
GuildNoticeMsg2500【<$USERNAME>】在行会竞价板为行会【<$STR(A30)>】竞得,大家赶快来加入这个有实力的行会吧!
GOTO@main
BREAK
#ELSEACT
Messagebox[失败]:您的金币不足或者您没有行会/不是行会掌门
[@jrxh]
#if
equalG1091
#act
messagebox对不起,本行会暂时不收人
break
#if
CHECKLEVELEX<<$STR(G108)>
#act
messagebox等级不够!
break
#IF
ISGUILDMASTER
#ACT
Messagebox[失败]:您现在是行会掌门不能在加入其他行会!!
break
#IF
equalA30<$GUILDNAME>
#ACT
Messagebox[失败]:您现在已经是【<$STR(A30)>】的行会成员了!!
break
#ELSEACT
goto@jrxh3
[@jrxh3]
#IF
HAVEGUILD
#ACT
Gmexecute退出门派
DELAYGOTO3@jrxh4
#ELSEACT
goto@jrxh4
[@jrxh4]
#IF
equalA30
#ACT
Messagebox[失败]:现在还没行会竟价格
#ELSEACT
AddGuildMember<$STR(A30)>
SendCenterMsg2500恭喜【<$USERNAME>】通过【天下第一行会】NPC加入了行会【<$STR(A30)>】
GuildNoticeMsg2500恭喜【<$USERNAME>】通过【天下第一行会】NPC加入了行会【<$STR(A30)>】
GuildNoticeMsg2500恭喜【<$USERNAME>】通过【天下第一行会】NPC加入了行会【<$STR(A30)>】
GuildNoticeMsg2500恭喜【<$USERNAME>】通过【天下第一行会】NPC加入了行会【<$STR(A30)>】
break
五、脚本生效操作步骤
修改保存脚本后,关闭原本的编辑窗口,进入传奇服务端M2server引擎控制器,点击顶部加载选项,选择重载NPC脚本,等待脚本重载完成,无需重启整个服务端即可生效。
重载后进入游戏,找到对应行会竞价NPC,点击参加竞价测试:检测金币是否足够、扣除数值是否为10W/次、提示文案是否准确,测试无异常则修改完成;若出现功能失效,立即替换为备份的原始脚本,排查修改错误点。
六、常见修改错误排查
-扣费不生效:检查指令拼写是否正确,CHECKGOLD、GOLD指令有无写错字母,数值100000是否输入正确,无多余空格
-提示文案不变:确认[@main]和[@cyjj]标签下的元宝、金币文字已全部替换,保存后重新重载脚本
-脚本报错无法加载:检查代码格式,#IF、#ACT、#ELSEACT语句是否对齐,有无遗漏标点、换行错误
-依旧扣元宝:确认旧脚本已覆盖,是否修改错文件路径,重载脚本操作是否执行到位
七、额外注意事项
修改脚本时保持代码原有格式,不要删除或改动其他无关指令,避免破坏行会加入、清理、管理等原有功能。每次修改前务必备份文件,方便出现问题快速还原。测试阶段用GM账号测试金币扣除、竞价流程,确认无误后再开放给普通玩家使用。

