脚本允许玩家无限次绑定武器(每次消耗100元宝),但 没有判断武器是否已绑定过。关键是要在绑定前添加一个条件:检查装备是否已被绑定,若已绑定则终止操作。
解决方案
通过 添加绑定状态检查 和 位置验证 两步实现:
检查武器位置:确保玩家手持武器(避免误操作)
检查绑定状态:通过 CheckItemBind 命令验证是否已绑定
修改后的完整脚本
IF
CheckItemName [@武器] * ; 是否手持武器
CheckItemBind [@武器] = 0 ; 是否未绑定(0=未绑定,1=已绑定)
CheckGameGold > 99 ; 元宝是否足够
ACT
SetItemBind 1 1 ; 绑定武器(1=武器位置)
GameGold - 100 ; 扣除元宝
SENDMSG 6 〖提示〗武器绑定成功!
SendCenterMsg 146 252 『防盗提示』玩家[%s]在『%m』(%x:%y)成功绑定武器! 1
ELSEACT
细化错误提示
IF
CheckItemName [@武器] = 0 ; 未拿武器
ACT
Messagebox 请手持武器再绑定!
ELSEACT
IF
CheckItemBind [@武器] = 1 ; 已绑定过
ACT
Messagebox 武器已绑定,无需重复操作!
ELSEACT
IF
CheckGameGold < 100 ; 元宝不足
ACT
Messagebox 元宝不足,需要100元宝!
ENDIF
核心修改说明
新增绑定状态检查
CheckItemBind [@武器] = 0 ; 关键!检测武器是否未绑定(0=未绑定)
若值为 1(已绑定),则跳转到错误提示。
细化错误提示
未拿武器:提示手持武器
已绑定:提示无需重复操作
元宝不足:明确提示所需元宝
装备位置说明
[@武器] 表示角色手上武器位置(通常为位置编号1)
其他位置参考:衣服=0、勋章=2、项链=3
注意事项
位置验证很重要
若脚本无反应,可能是 @武器 标识符错误,直接改用位置编号:
CheckItemBind 1 = 0 ; 1=武器位置编号
测试建议
绑定后再次点击脚本,应提示"武器已绑定"
卸下武器点击脚本,应提示"请手持武器"
引擎兼容性
适用于 GEE/GOM引擎(多数传奇版本)
其他引擎可替换命令为:CheckItemBindState 或 IsItemBound
优化效果
✅ 禁止重复绑定:已绑武器二次点击立即终止
✅ 精准提示:明确区分武器/绑定/元宝问题
✅ 防盗不变:绑定成功仍全服公告
提示:无需添加额外标记!直接使用引擎自带的绑定状态检测最稳定,避免自定义属性可能导致的兼容问题。

