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

GOM传奇充值+拍卖行脚本编写全实操指南

热度:
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充值与拍卖行脚本编写核心是掌握内置指令与变量调用,充值脚本聚焦变量管控与界面触发,拍卖行脚本依赖系统内置摊位标识。按示例脚本编写,核对路径、变量与指令格式,即可实现稳定运行。新手可先测试基础脚本,再逐步添加限制与扩展功能,提升交互体验。
[顶部]