传奇Hero引擎盟重土城金刚石商城NPC脚本商品购买扣除兑换全套代码

来源: 作者: 点击:
[@main]
#ACT
MESSAGE 金刚石商人,在盟重土城经营金刚石商城,消耗金刚石兑换各类装备材料
MESSAGE 1.兑换疗伤药包 2.兑换传送石 3.兑换赤月装备礼盒 4.兑换屠龙碎片 5.查询金刚石数量 6.关闭对话
BREAK
[@兑换疗伤药包]
#IF
CHECKITEM 金刚石 2
#ACT
TAKE 金刚石 2
GIVE 疗伤药包 1
SENDMSG 5 兑换成功,消耗2颗金刚石,获得疗伤药包
MESSAGE 兑换完成,可继续挑选其他商品
BREAK
#ELSEACT
MESSAGE 金刚石数量不足,需要2颗金刚石才能兑换疗伤药包
BREAK
[@兑换传送石]
#IF
CHECKITEM 金刚石 5
#ACT
TAKE 金刚石 5
GIVE 传送石 10
SENDMSG 5 兑换成功,消耗5颗金刚石,获得10枚传送石
MESSAGE 兑换完成,可继续挑选其他商品
BREAK
#ELSEACT
MESSAGE 金刚石数量不足,需要5颗金刚石才能兑换传送石
BREAK
[@兑换赤月装备礼盒]
#IF
CHECKITEM 金刚石 80
#ACT
TAKE 金刚石 80
GIVE 赤月装备礼盒 1
SENDMSG 5 兑换成功,消耗80颗金刚石,获得赤月装备礼盒
MESSAGE 兑换完成,可继续挑选其他商品
BREAK
#ELSEACT
MESSAGE 金刚石数量不足,需要80颗金刚石才能兑换赤月装备礼盒
BREAK
[@兑换屠龙碎片]
#IF
CHECKITEM 金刚石 150
#ACT
TAKE 金刚石 150
GIVE 屠龙碎片 1
SENDMSG 5 兑换成功,消耗150颗金刚石,获得屠龙碎片
MESSAGE 兑换完成,可继续挑选其他商品
BREAK
#ELSEACT
MESSAGE 金刚石数量不足,需要150颗金刚石才能兑换屠龙碎片
BREAK
[@查询金刚石数量]
#ACT
MESSAGE 你当前背包内金刚石数量:<$ITEMCOUNT(金刚石)>
BREAK
[@关闭对话]
#ACT
MESSAGE 备好金刚石,再来挑选商城物品
BREAK

整套脚本适配Hero引擎,放置在盟重土城金刚石商人NPC,仅NPC对话模块,无需额外全局变量与QFunction触发器。脚本存放路径为QuestDiary目录新建diamondshop文件夹,不需要单独保存玩家记录文件,所有校验直接读取玩家背包道具。普通玩家可直接打开商城面板,不需要管理员权限。

每个商品兑换分支使用CHECKITEM校验背包金刚石数量,材料充足则执行TAKE扣除金刚石,GIVE发放对应道具。商品价格可以自由修改,调整金刚石消耗数量,也可以新增更多商品条目,添加装备、技能书、材料等兑换选项。查询功能使用ITEMCOUNT读取背包金刚石数量,快速查看当前持有数量。

测试阶段,角色携带金刚石依次测试每一项兑换,核对金刚石扣除、道具发放逻辑,背包数量不足时校验拦截提示。可以新增背包空位判断,检测背包剩余格子,空间不足直接拦截兑换,防止道具发放失败。也可以增加等级限制,设置最低等级才能兑换高阶商品,过滤低等级角色兑换高端物品。

可扩展多种配套玩法,增加金刚石回收功能,把多余装备兑换成金刚石,构建完整循环。增加限时折扣,全局变量控制折扣开关,开启后兑换消耗减半。增加每日限购,使用日期变量记录每日兑换次数,限制高阶商品每日兑换上限。增加金刚石打包拆分,多颗金刚石打包成金刚石捆,捆装拆分成单颗金刚石。

需要核对引擎指令兼容情况,部分老旧Hero内核对ITEMCOUNT读取存在异常,数量读取错误时核对M2版本。金刚石以及商城内所有兑换道具,必须提前在物品数据库录入,未录入的道具无法完成道具检测、扣除与发放。脚本不会自动清理背包内金刚石,所有道具都由玩家自行保管。

商城可以增加预览功能,点击查看礼盒产出内容,让玩家提前了解礼盒奖励。可以增加行会专属折扣,属于指定行会成员兑换消耗降低。可以增加积分联动,每次兑换同时累计商城积分,积分可兑换稀有专属道具。

脚本仅做背包道具兑换逻辑,不包含金刚石产出逻辑,金刚石获取途径需要在其他刷怪、任务脚本内编写。NPC放置在盟重土城地图,可调整NPC外观与坐标,贴合土城主城交易区域设定。若需要增加金刚石仓库存取功能,可新增存取分支,实现金刚石存入仓库、从仓库扣除金刚石兑换商品。