设为首页收藏本站
  • 官方微信
    lmkj_wx 微信公众号 添加方式:
    1:扫描左侧二维码
  • 手机访问
    lmkj_sj
  •  找回密码
     立即注册

    QQ登录

    只需一步,快速开始

    查看: 18|回复: 0

    在脚本中调用ITEMRECYCLESET命令时,可能会遇到哪些错误?如何解决?

    [复制链接]
    avatar
    • 打卡等级:魔龙套勇士
    • 打卡总天数:130
    • 打卡月天数:23
    • 打卡总奖励:14868
    • 最近打卡:2025-08-23 00:38:01

    7084

    主题

    150

    回帖

    8650

    积分

    管理员

    本站站长

    积分
    8650
    online_admin 发表于 2025-8-14 18:49:36 | 显示全部楼层 |阅读模式
    在 GEE 引擎脚本中调用 ITEMRECYCLESET 命令时,错误通常源于参数配置不当、格式错误或引擎兼容性问题。以下是常见错误类型、现象、原因及解决方案:
    一、规则 ID 相关错误
    1. 规则 ID 超出范围(最常见)
    现象:定义规则后,调用 ITEMRECYCLEEX 无任何反应,物品不回收、无奖励。
    原因:GEE 引擎限制规则 ID 必须在 1~9999 之间(闭区间),超出范围的 ID 会被引擎直接忽略。
    示例错误代码:
    plaintext
    ITEMRECYCLESET 10000 木剑 0 0 1 1000  // 错误:ID=10000超出上限9999
    ITEMRECYCLESET -5 木剑 0 0 1 1000     // 错误:ID为负数


    解决方法:
    将规则 ID 修改为 1~9999 之间的整数,例如将 10000 改为 9999,将 -5 改为 5。
    2. 规则 ID 重复定义
    现象:回收结果与预期不符(例如奖励金额错误),或部分脚本调用时规则失效。
    原因:同一 ID 在多个脚本中被重复定义,后定义的规则会覆盖先定义的规则(引擎以最后一次定义为准)。
    示例错误场景:
    在 A.txt 中定义:ITEMRECYCLESET 10 裁决之杖 5 4 1 100000(奖励 10 万金币)
    在 B.txt 中定义:ITEMRECYCLESET 10 裁决之杖 5 4 1 50000(奖励 5 万金币)
    最终调用 ID=10 时,实际执行的是 B.txt 的规则(奖励 5 万金币)。
    解决方法:
    使用 Notepad++ 等工具全局搜索 ITEMRECYCLESET 目标ID(如搜索 ITEMRECYCLESET 10),确认 ID 是否被重复定义。
    对重复 ID 进行重命名(例如将 B.txt 中的 ID=10 改为 ID=11),确保全局唯一。
    二、物品名称参数错误
    1. 物品名称与Item.txt不匹配
    现象:调用规则后,符合条件的物品未被回收(背包中仍存在),无奖励。
    原因:ITEMRECYCLESET 中的物品名称必须与 Data/Item.txt 中的定义完全一致(包括大小写、空格、特殊符号)。
    示例错误代码:
    plaintext
    // Item.txt中实际物品名为“裁决之杖(+7)”,但脚本中写成:
    ITEMRECYCLESET 10 裁决之杖+7 5 4 1 100000  // 错误:缺少括号,符号格式错误
    ITEMRECYCLESET 10 裁决 5 4 1 100000        // 错误:名称不完整(应为“裁决之杖”)

    解决方法:
    打开 Data/Item.txt,查找目标物品的精确名称(如 裁决之杖(+7))。
    修正脚本中的物品名称,确保与 Item.txt 完全一致(特殊符号需保留,如 (、)、[ 等)。
    2. 多物品分隔符错误
    现象:规则中包含多个物品时,部分物品无法被回收。
    原因:多个物品必须用 | 分隔(竖线),使用逗号、空格等其他符号会导致分隔失效。
    示例错误代码:
    plaintext
    ITEMRECYCLESET 10 木剑,布衣 0 0 1 1000  // 错误:用逗号分隔
    ITEMRECYCLESET 10 木剑 布衣 0 0 1 1000  // 错误:用空格分隔

    解决方法:
    用 | 分隔多个物品,例如:ITEMRECYCLESET 10 木剑|布衣 0 0 1 1000。
    三、奖励参数错误
    1. 奖励类型与奖励值不匹配
    现象:物品被回收,但无奖励(或奖励错误,如应得材料却获得金币)。
    原因:奖励类型(1~5)与奖励值的含义不匹配(例如类型 3 对应材料 ID,却填写了金币数量)。
    示例错误代码:
    plaintext
    // 错误:奖励类型=3(材料),但奖励值填了金币数量1000(应为材料ID)
    ITEMRECYCLESET 10 木剑 0 0 3 1000  
    // 错误:奖励类型=4(元宝),但奖励值为负数(元宝不能为负)
    ITEMRECYCLESET 10 木剑 0 0 4 -5  

    解决方法:
    严格按奖励类型定义奖励值:
    类型 1(金币)/2(经验)/4(元宝)/5(声望):填写非负整数(经验可负)。
    类型 3(材料):填写 Item.txt 中存在的材料 ID(如 102 对应金刚石)。
    2. 奖励值超出引擎限制
    现象:奖励发放异常(如金币只到账部分,或提示 “数据溢出”)。
    原因:奖励值超过引擎配置的上限(如金币最大为 21 亿,元宝最大为 100 万)。
    解决方法:
    查看引擎配置文件 Envir/Config.ini,确认各资源上限(如 MaxGold=2100000000)。
    调整奖励值至上限范围内。
    四、调用格式错误
    1. ITEMRECYCLEEX 调用规则时格式错误
    现象:调用后无任何反应,日志显示 “未找到规则”。
    原因:调用规则时必须使用 规则ID=XXX 格式,缺少前缀或格式错误会导致引擎无法识别。
    示例错误代码:
    plaintext
    ITEMRECYCLEEX 张三 10  // 错误:缺少“规则ID=”前缀(引擎误认为物品名称=10)
    ITEMRECYCLEEX 张三 规则ID= 10  // 错误:“规则ID=”后有空格

    解决方法:
    严格使用正确格式:ITEMRECYCLEEX 玩家名 规则ID=目标ID,例如:
    ITEMRECYCLEEX 张三 规则ID=10。
    五、引擎配置与环境错误
    1. 物品回收功能未开启
    现象:所有回收规则调用后均无反应,日志无任何记录。
    原因:引擎配置中关闭了物品回收功能(默认开启,可能被误修改)。
    解决方法:
    打开 Envir/Config.ini,确保 EnableItemRecycle=1(1 = 开启,0 = 关闭)。
    2. 物品不可回收(Item.txt 配置限制)
    现象:物品符合规则条件,但始终不被回收。
    原因:Item.txt 中目标物品的 CanRecycle 字段被设置为 0(禁止回收)。
    解决方法:
    打开 Data/Item.txt,找到目标物品,将 CanRecycle=0 改为 CanRecycle=1(允许回收)。
    六、错误排查与验证工具
    引擎日志:
    回收操作日志:Log/Recycle.log(记录规则 ID、回收结果、奖励信息)。
    错误日志:Log/Error.log(记录参数错误、ID 无效等问题)。
    例如:日志中出现 “规则ID=10 未找到” 说明 ID 未定义或超出范围。
    脚本调试:
    在调用规则前添加提示信息,验证脚本是否执行到回收步骤:
    plaintext
    #ACT
      SENDMSG 6 开始执行回收,规则ID=10  // 游戏内显示提示,确认脚本执行流程
      ITEMRECYCLEEX <$USERNAME> 规则ID=10

    简化测试:
    创建最小化测试规则(如回收木剑,奖励 1 金币),排除复杂参数干扰:
    plaintext
    #ACT
      ITEMRECYCLESET 999 木剑 0 0 1 1  // 简化规则
      ITEMRECYCLEEX <$USERNAME> 规则ID=999  // 测试调用

    总结:常见错误排查步骤
    检查规则 ID 是否在 1~9999 范围内且全局唯一。
    核对物品名称与 Item.txt 完全一致(含特殊符号)。
    确认奖励类型与奖励值匹配(如类型 3 对应有效材料 ID)。
    验证 ITEMRECYCLEEX 调用格式是否为 规则ID=XXX。
    查看引擎日志(Recycle.log 和 Error.log)定位具体错误。
    检查引擎配置(EnableItemRecycle=1)和物品可回收性(CanRecycle=1)。

    通过以上步骤,可快速定位并解决 ITEMRECYCLESET 调用中的绝大多数错误,确保物品回收功能正常生效。


    您需要登录后才可以回帖 登录 | 立即注册 qq_login

    本版积分规则

    QQArchiver 手机版 小黑屋 39传奇素材网 ( 蜀ICP备2022016510号-3 )

    快速回复 快速发帖 返回顶部 返回列表