GOM引擎充值脚本核心实现元宝、物品兑换,拍卖行脚本管控上架、购买、下架流程,均依赖QF脚本与指定指令,以下是完整编写方法、脚本示例及生效配置。
一、GOM传奇充值脚本编写(NPC交互版)
1.核心逻辑与文件路径
充值脚本通过NPC触发,支持充值点兑换元宝、物品两种模式,核心依赖U类变量记录充值点,脚本放入服务端\Mir200\Envir\QuestDiary\目录,关联NPC对话指令即可调用,无需额外插件。
2.基础充值脚本示例(充值点兑元宝/物品)
(1)充值点兑换元宝
[@充值兑换元宝]
#IF
CHECKVARU10>=1;U10为充值点变量,1点对应1000元宝
#ACT
SETU10<$U10>-1;扣除1点充值点
GIVEGAMEGOLD1000;发放1000元宝
SENDMSG5兑换成功!扣除1点充值点,获得1000元宝。
#ELSEACT
MESSAGEBOX充值点不足,无法兑换元宝!
(2)充值点兑换指定物品
[@充值兑换屠龙]
#IF
CHECKVARU10>=50;需50点充值点
#ACT
SETU10<$U10>-50
GIVE屠龙1;发放屠龙武器
SENDMSG5兑换成功!获得屠龙x1,剩余充值点:<$U10>。
BREAK;终止后续逻辑,避免重复兑换
#ELSEACT
MESSAGEBOX充值点不足50,无法兑换屠龙!
3.自定义充值按钮添加(界面触发版)
在服务端\Mir200\Envir\MapQuest_def\QManage.txt中添加按钮脚本,登录游戏自动显示充值按钮,示例:
[@Login]
#IF
CHECKLEVELEX>0
#ACT
ADDBUTTON53969798102000-1253/元宝充值\254/点击兑换元宝与道具
SENDMSG5充值按钮已激活,点击界面按钮即可兑换。
按钮触发脚本添加至QuestDiary目录,对应按钮序号3的触发标识:
[@ButtonClick3]
#ACT
SENDMSG5请选择兑换项目:\1.1000元宝(1充值点)\2.屠龙(50充值点)
GOTO@充值菜单
4.充值点赋值与生效说明
充值点(U10变量)需手动赋值或对接充值系统,管理员可通过脚本快速赋值:
[@管理员赋值]
#IF
CHECKADMIN1
#ACT
SETU10100;给当前玩家赋值100充值点
SENDMSG5充值点赋值成功,当前充值点:100。
#ELSEACT
MESSAGEBOX无管理员权限,无法操作!
脚本编写完成后无需重启引擎,重新加载NPC或登录游戏即可生效。
二、GOM传奇拍卖行脚本编写(玩家交互版)
1.核心逻辑与触发指令
拍卖行脚本依赖GOM引擎内置摊位指令,实现物品上架、购买、下架全流程管控,核心触发标识为@ConfirmShopItemUp(上架)、@ConfirmShopItemDown(下架)、@BuyUserShopItem(购买),均写入QManage.txt文件。
2.上架管控脚本(限制物品与价格)
控制可上架物品类型、最低价格,避免恶意定价,添加至QManage.txt:
[@ConfirmShopItemUp]
#IF
CHECKITEMNAME<$G_CURRTEMNAME>新手木剑;禁止上架新手木剑
#ACT
ConfirmShopItemUp1;1=禁止上架
SENDMSG6该物品禁止上架拍卖行!
#ELSEIF
CHECKVAR<$BUYITEPRICE><100;最低售价100元宝
#ACT
ConfirmShopItemUp1
SENDMSG6物品售价过低,最低需100元宝!
#ELSEACT
ConfirmShopItemUp0;0=允许上架
SENDMSG6物品<$G_CURRTEMNAME>上架成功!售价:<$BUYITEPRICE>元宝。
3.购买触发脚本(扣币发物+提示)
实现购买时自动扣取买家元宝、发放物品给买家,同步提示卖家,添加至QManage.txt:
[@BuyUserShopItem]
#IF
CHECKGAMEGOLD>=<$BUYITEPRICE>;检测买家元宝充足
#ACT
TAKEGAMEGOLD<$BUYITEPRICE>;扣除买家元宝
GIVE<$G_CURRTEMNAME><$CURRITEMCOUNT>;发放物品给买家
SENDMSG6成功购买<$USERSHOPSELLER>的<$G_CURRTEMNAME>x<$CURRITEMCOUNT>,消耗<$BUYITEPRICE>元宝。
;给卖家发送提示(需配合全局变量)
SETG200<$BUYITEPRICE>;存储成交金额
SENDMSG6<$USERSHOPBUYER>购买了你的<$G_CURRTEMNAME>,获得<$G200>元宝。
#ELSEACT
SENDMSG6元宝不足,无法购买该物品!
4.下架触发脚本(记录与提示)
物品下架时给卖家发送提示,添加至QManage.txt:
[@ConfirmShopItemDown]
#ACT
ConfirmShopItemDown0;允许下架
SENDMSG6物品<$G_CURRTEMNAME>x<$CURRITEMCOUNT>已成功下架拍卖行。
5.拍卖行权限与参数说明
脚本中核心变量含义:
-<$USERSHOPSELLER>:卖家名称;<$USERSHOPBUYER>:买家名称;
-<$G_CURRTEMNAME>:物品名称;<$CURRITEMCOUNT>:物品数量;
-<$BUYITEPRICE>:物品售价;<$BUYITEMMONEYTYPENAME>:货币类型(元宝/金币)。
需在M2引擎中开启“允许玩家摆摊”功能,路径:M2-选项-游戏设置-允许玩家摆摊-勾选。
三、脚本常见问题排查与适配调整
1.充值脚本不触发
(1)核对脚本存放路径,NPC脚本需放入QuestDiary目录,按钮脚本需在QManage.txt的@Login下添加;
(2)变量名称区分大小写,U10不可写为u10,指令参数需用英文半角符号;
(3)重新加载NPC:在游戏中输入“@reloadnpc”指令,无需重启引擎即可生效。
2.拍卖行脚本无反应
(1)确认引擎版本支持摊位指令,老旧版本需升级GOM引擎至最新版;
(2)检查触发标识是否正确,需严格使用@ConfirmShopItemUp等系统内置标识;
(3)关闭引擎防作弊设置,避免拦截摊位脚本执行。
3.物品发放/扣除异常
(1)物品名称需与服务端数据库完全一致,避免错别字或空格;
(2)元宝扣除/发放指令用TAKEGAMEGOLD/GIVEGAMEGOLD,不可混用金币指令(TAKE/GIVE)。
四、进阶技巧:脚本优化与功能扩展
1.充值脚本添加次数限制
用H类永久变量限制每日兑换次数,避免无限兑换:
[@充值兑换元宝]
#IF
CHECKVARH10<5;每日限5次
CHECKVARU10>=1
#ACT
SETU10<$U10>-1
GIVEGAMEGOLD1000
ADDH101
SENDMSG5今日剩余兑换次数:<$CALC(5-$H10)>。
2.拍卖行添加成交日志
在@BuyUserShopItem脚本中添加日志写入指令,记录成交信息:
AddTextListEx..\QuestDiary\拍卖日志.txt成交记录:<$USERSHOPBUYER>购买<$USERSHOPSELLER>的<$G_CURRTEMNAME>,金额<$BUYITEPRICE>元宝。
五、总结
GOM充值与拍卖行脚本编写核心是掌握内置指令与变量调用,充值脚本聚焦变量管控与界面触发,拍卖行脚本依赖系统内置摊位标识。按示例脚本编写,核对路径、变量与指令格式,即可实现稳定运行。新手可先测试基础脚本,再逐步添加限制与扩展功能,提升交互体验。
一、GOM传奇充值脚本编写(NPC交互版)
1.核心逻辑与文件路径
充值脚本通过NPC触发,支持充值点兑换元宝、物品两种模式,核心依赖U类变量记录充值点,脚本放入服务端\Mir200\Envir\QuestDiary\目录,关联NPC对话指令即可调用,无需额外插件。
2.基础充值脚本示例(充值点兑元宝/物品)
(1)充值点兑换元宝
[@充值兑换元宝]
#IF
CHECKVARU10>=1;U10为充值点变量,1点对应1000元宝
#ACT
SETU10<$U10>-1;扣除1点充值点
GIVEGAMEGOLD1000;发放1000元宝
SENDMSG5兑换成功!扣除1点充值点,获得1000元宝。
#ELSEACT
MESSAGEBOX充值点不足,无法兑换元宝!
(2)充值点兑换指定物品
[@充值兑换屠龙]
#IF
CHECKVARU10>=50;需50点充值点
#ACT
SETU10<$U10>-50
GIVE屠龙1;发放屠龙武器
SENDMSG5兑换成功!获得屠龙x1,剩余充值点:<$U10>。
BREAK;终止后续逻辑,避免重复兑换
#ELSEACT
MESSAGEBOX充值点不足50,无法兑换屠龙!
3.自定义充值按钮添加(界面触发版)
在服务端\Mir200\Envir\MapQuest_def\QManage.txt中添加按钮脚本,登录游戏自动显示充值按钮,示例:
[@Login]
#IF
CHECKLEVELEX>0
#ACT
ADDBUTTON53969798102000-1253/元宝充值\254/点击兑换元宝与道具
SENDMSG5充值按钮已激活,点击界面按钮即可兑换。
按钮触发脚本添加至QuestDiary目录,对应按钮序号3的触发标识:
[@ButtonClick3]
#ACT
SENDMSG5请选择兑换项目:\1.1000元宝(1充值点)\2.屠龙(50充值点)
GOTO@充值菜单
4.充值点赋值与生效说明
充值点(U10变量)需手动赋值或对接充值系统,管理员可通过脚本快速赋值:
[@管理员赋值]
#IF
CHECKADMIN1
#ACT
SETU10100;给当前玩家赋值100充值点
SENDMSG5充值点赋值成功,当前充值点:100。
#ELSEACT
MESSAGEBOX无管理员权限,无法操作!
脚本编写完成后无需重启引擎,重新加载NPC或登录游戏即可生效。
二、GOM传奇拍卖行脚本编写(玩家交互版)
1.核心逻辑与触发指令
拍卖行脚本依赖GOM引擎内置摊位指令,实现物品上架、购买、下架全流程管控,核心触发标识为@ConfirmShopItemUp(上架)、@ConfirmShopItemDown(下架)、@BuyUserShopItem(购买),均写入QManage.txt文件。
2.上架管控脚本(限制物品与价格)
控制可上架物品类型、最低价格,避免恶意定价,添加至QManage.txt:
[@ConfirmShopItemUp]
#IF
CHECKITEMNAME<$G_CURRTEMNAME>新手木剑;禁止上架新手木剑
#ACT
ConfirmShopItemUp1;1=禁止上架
SENDMSG6该物品禁止上架拍卖行!
#ELSEIF
CHECKVAR<$BUYITEPRICE><100;最低售价100元宝
#ACT
ConfirmShopItemUp1
SENDMSG6物品售价过低,最低需100元宝!
#ELSEACT
ConfirmShopItemUp0;0=允许上架
SENDMSG6物品<$G_CURRTEMNAME>上架成功!售价:<$BUYITEPRICE>元宝。
3.购买触发脚本(扣币发物+提示)
实现购买时自动扣取买家元宝、发放物品给买家,同步提示卖家,添加至QManage.txt:
[@BuyUserShopItem]
#IF
CHECKGAMEGOLD>=<$BUYITEPRICE>;检测买家元宝充足
#ACT
TAKEGAMEGOLD<$BUYITEPRICE>;扣除买家元宝
GIVE<$G_CURRTEMNAME><$CURRITEMCOUNT>;发放物品给买家
SENDMSG6成功购买<$USERSHOPSELLER>的<$G_CURRTEMNAME>x<$CURRITEMCOUNT>,消耗<$BUYITEPRICE>元宝。
;给卖家发送提示(需配合全局变量)
SETG200<$BUYITEPRICE>;存储成交金额
SENDMSG6<$USERSHOPBUYER>购买了你的<$G_CURRTEMNAME>,获得<$G200>元宝。
#ELSEACT
SENDMSG6元宝不足,无法购买该物品!
4.下架触发脚本(记录与提示)
物品下架时给卖家发送提示,添加至QManage.txt:
[@ConfirmShopItemDown]
#ACT
ConfirmShopItemDown0;允许下架
SENDMSG6物品<$G_CURRTEMNAME>x<$CURRITEMCOUNT>已成功下架拍卖行。
5.拍卖行权限与参数说明
脚本中核心变量含义:
-<$USERSHOPSELLER>:卖家名称;<$USERSHOPBUYER>:买家名称;
-<$G_CURRTEMNAME>:物品名称;<$CURRITEMCOUNT>:物品数量;
-<$BUYITEPRICE>:物品售价;<$BUYITEMMONEYTYPENAME>:货币类型(元宝/金币)。
需在M2引擎中开启“允许玩家摆摊”功能,路径:M2-选项-游戏设置-允许玩家摆摊-勾选。
三、脚本常见问题排查与适配调整
1.充值脚本不触发
(1)核对脚本存放路径,NPC脚本需放入QuestDiary目录,按钮脚本需在QManage.txt的@Login下添加;
(2)变量名称区分大小写,U10不可写为u10,指令参数需用英文半角符号;
(3)重新加载NPC:在游戏中输入“@reloadnpc”指令,无需重启引擎即可生效。
2.拍卖行脚本无反应
(1)确认引擎版本支持摊位指令,老旧版本需升级GOM引擎至最新版;
(2)检查触发标识是否正确,需严格使用@ConfirmShopItemUp等系统内置标识;
(3)关闭引擎防作弊设置,避免拦截摊位脚本执行。
3.物品发放/扣除异常
(1)物品名称需与服务端数据库完全一致,避免错别字或空格;
(2)元宝扣除/发放指令用TAKEGAMEGOLD/GIVEGAMEGOLD,不可混用金币指令(TAKE/GIVE)。
四、进阶技巧:脚本优化与功能扩展
1.充值脚本添加次数限制
用H类永久变量限制每日兑换次数,避免无限兑换:
[@充值兑换元宝]
#IF
CHECKVARH10<5;每日限5次
CHECKVARU10>=1
#ACT
SETU10<$U10>-1
GIVEGAMEGOLD1000
ADDH101
SENDMSG5今日剩余兑换次数:<$CALC(5-$H10)>。
2.拍卖行添加成交日志
在@BuyUserShopItem脚本中添加日志写入指令,记录成交信息:
AddTextListEx..\QuestDiary\拍卖日志.txt成交记录:<$USERSHOPBUYER>购买<$USERSHOPSELLER>的<$G_CURRTEMNAME>,金额<$BUYITEPRICE>元宝。
五、总结
GOM充值与拍卖行脚本编写核心是掌握内置指令与变量调用,充值脚本聚焦变量管控与界面触发,拍卖行脚本依赖系统内置摊位标识。按示例脚本编写,核对路径、变量与指令格式,即可实现稳定运行。新手可先测试基础脚本,再逐步添加限制与扩展功能,提升交互体验。

