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

    QQ登录

    只需一步,快速开始

    查看: 2|回复: 0

    如何使用脚本调用ITEMRECYCLESET命令

    [复制链接]
    avatar
    • 打卡等级:魔龙套勇士
    • 打卡总天数:112
    • 打卡月天数:5
    • 打卡总奖励:13503
    • 最近打卡:2025-08-05 00:19:04

    6368

    主题

    120

    回帖

    7904

    积分

    管理员

    本站站长

    积分
    7904
    online_admin 发表于 昨天 18:36 | 显示全部楼层 |阅读模式
    在 GEE 引擎中,ITEMRECYCLESET 命令用于预设物品回收规则,通常在 NPC 脚本 或 全局配置脚本 中定义,然后通过 ITEMRECYCLEEX 命令调用规则 ID 触发回收。以下是具体的脚本调用方法、示例及注意事项:
    一、脚本调用的基本流程
    定义规则:在脚本中使用 ITEMRECYCLESET 预设回收规则(通常放在脚本开头或全局配置中)。
    触发回收:通过 ITEMRECYCLEEX 调用规则 ID,结合条件判断(如玩家对话、物品存在检测)执行回收。
    二、NPC 脚本中的调用示例(最常用场景)
    以 “回收商人” NPC 为例,完整脚本结构如下:

    plaintext
    // 文件名:QuestDiary/回收商人.txt(NPC对话脚本)
    // 功能:定义回收规则并在玩家对话时触发

    #TITLE 回收商人
    #Say
      欢迎来到物品回收处!\
      1. 回收高端武器(+7以上神器)\
      2. 回收新手装备(木剑/布衣)\
      3. 取消

    // 预设回收规则(通常放在脚本开头,只需要定义一次)
    #ACT
      // 规则ID=10:回收+7以上、品质5的屠龙/裁决,奖励金币+金刚石
      ITEMRECYCLESET 10 屠龙|裁决之杖 7 5 1 1000000 3 102
      // 规则ID=20:回收任意新手装备,奖励金币+经验
      ITEMRECYCLESET 20 木剑|布衣 0 0 1 1000 2 5000

    // 玩家选择“1. 回收高端武器”
    #CASE 1
      #IF
        // 检测玩家是否有符合规则10的物品(可选,提升体验)
        CHECKITEM 屠龙 1
        CHECKITEMEX 屠龙 UpgradeCount >=7  // 检查屠龙强化≥7
      #ACT
        // 调用规则ID=10执行回收
        ITEMRECYCLEEX <$USERNAME> 规则ID=10
        SENDMSG 6 高端武器回收成功!获得100万金币和金刚石!
      #ELSEACT
        SENDMSG 6 你没有符合条件的高端武器!

    // 玩家选择“2. 回收新手装备”
    #CASE 2
      #ACT
        // 直接调用规则ID=20(无需检测,引擎会自动判断)
        ITEMRECYCLEEX <$USERNAME> 规则ID=20
        SENDMSG 6 新手装备回收成功!获得1000金币和5000经验!

    // 玩家选择“3. 取消”
    #CASE 3
      #ACT
        CLOSE
    三、关键调用技巧
    1. 规则定义的位置
    全局规则:若多个 NPC 共用同一套回收规则,建议在 Envir/GlobalQuest.txt(全局脚本)中定义,避免重复代码:
    plaintext
    // GlobalQuest.txt 中定义全局回收规则
    #ACT
      ITEMRECYCLESET 100 沃玛号角 0 2 3 205  // 全服通用的沃玛号角回收规则

    局部规则:仅单个 NPC 使用的规则,直接在该 NPC 脚本中定义(如上述 “回收商人” 示例)。
    2. 结合条件判断调用
    通过 #IF 块中的条件命令(如 CHECKITEM、CHECKLEVEL)控制回收触发时机:

    plaintext
    #CASE 3
      #IF
        CHECKLEVEL >= 40  // 仅40级以上玩家可回收
        CHECKGUILD 天下第一会  // 仅指定行会成员可回收
      #ACT
        ITEMRECYCLEEX <$USERNAME> 规则ID=30  // 调用高级回收规则
        SENDMSG 6 高级回收完成!
      #ELSEACT
        SENDMSG 6 等级不足或非指定行会成员,无法回收!
    3. 动态参数与变量
    规则中的参数支持变量(如玩家名、物品名、奖励值),实现动态回收逻辑:

    plaintext
    #ACT
      // 动态设置物品名称(从变量S1读取)
      MOV S1 赤月头盔
      // 动态设置奖励值(从变量N1读取)
      MOV N1 5000
      // 定义带变量的规则
      ITEMRECYCLESET 40 <$STR(S1)> 0 3 1 <$STR(N1)> 2 10000
      // 调用规则
      ITEMRECYCLEEX <$USERNAME> 规则ID=40
    四、调用注意事项
    规则 ID 的时效性:
    规则仅在定义后生效,若脚本重新加载(如重启引擎或使用 RELOAD 命令),需重新执行 ITEMRECYCLESET 定义规则。建议在 NPC 脚本的 #ACT 块中定义,确保每次对话时规则都被初始化。
    多规则的优先级:
    若多个规则包含同一物品,调用时会按 最后执行的规则 处理。例如:
    plaintext
    #ACT
      ITEMRECYCLESET 10 裁决之杖 5 4 1 100000  // 规则10:奖励10万金币
      ITEMRECYCLESET 10 裁决之杖 5 4 1 200000  // 规则10被覆盖,奖励20万金币

    批量回收的限制:
    单次调用 ITEMRECYCLEEX 会回收玩家背包中 所有符合规则的物品(而非 1 个)。若需限制数量,需结合 TAKE 命令手动控制:
    plaintext
    #ACT
      TAKE 裁决之杖 1  // 先取出1个裁决之杖
      ITEMRECYCLEEX <$USERNAME> 规则ID=10  // 回收取出的1个物品


    五、调试与验证
    日志查看:回收操作会记录在 Log/Recycle.log 中,包含 “玩家名、规则 ID、回收物品、奖励” 等信息,可用于确认规则是否正确执行。
    脚本测试:通过创建测试账号,携带符合规则的物品与 NPC 对话,检查物品是否被回收、奖励是否到账。

    通过上述方法,可在脚本中灵活调用 ITEMRECYCLESET 预设规则,实现从简单到复杂的物品回收功能。核心是确保规则 ID 唯一、参数与 Item.txt 匹配,并结合条件判断优化玩家体验。

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

    本版积分规则

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

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