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

    QQ登录

    只需一步,快速开始

    查看: 16|回复: 0

    如何在脚本中调用ITEMRECYCLESET命令

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

    7084

    主题

    150

    回帖

    8650

    积分

    管理员

    本站站长

    积分
    8650
    online_admin 发表于 2025-8-14 18:48:04 | 显示全部楼层 |阅读模式
    在 GEE 引擎的脚本中,调用 ITEMRECYCLESET 命令的核心是先定义回收规则,再通过 ITEMRECYCLEEX 命令调用规则 ID 执行回收。该命令通常用于 NPC 脚本或全局配置脚本中,以下是具体的调用方法、示例及关键注意事项:
    一、基础调用逻辑
    ITEMRECYCLESET 的作用是预设回收规则(定义 “回收什么物品、满足什么条件、给什么奖励”),而实际触发回收需要通过 ITEMRECYCLEEX 调用规则 ID。完整流程为:

    在脚本中用 ITEMRECYCLESET 定义规则(指定规则 ID、物品、条件、奖励)。
    在需要触发回收的位置(如玩家对话选择、任务完成时)用 ITEMRECYCLEEX 调用规则 ID。
    二、NPC 脚本中的调用示例(最常用场景)
    以 “回收商人” NPC 为例,脚本结构如下(文件路径:Envir/QuestDiary/回收商人.txt):

    plaintext
    #TITLE 装备回收商人
    #Say
      欢迎使用装备回收系统!\
      1. 回收普通武器(木剑、青铜剑)\
      2. 回收高级武器(裁决之杖、屠龙)\
      3. 退出

    // 步骤1:预设回收规则(放在脚本开头,定义一次即可)
    #ACT
      // 规则ID=1:回收任意普通武器,奖励少量金币和经验
      ITEMRECYCLESET 1 木剑|青铜剑 0 0 1 1000 2 5000
      // 规则ID=2:回收强化≥5、品质≥4的高级武器,奖励大量金币和金刚石
      ITEMRECYCLESET 2 裁决之杖|屠龙 5 4 1 500000 3 102

    // 步骤2:玩家选择“1. 回收普通武器”时调用规则ID=1
    #CASE 1
      #ACT
        // 调用规则1执行回收
        ITEMRECYCLEEX <$USERNAME> 规则ID=1
        SENDMSG 6 普通武器回收成功!获得1000金币和5000经验!

    // 玩家选择“2. 回收高级武器”时调用规则ID=2
    #CASE 2
      #IF
        // 可选:先检查玩家是否有符合条件的物品,提升体验
        CHECKITEM 裁决之杖 1
        CHECKITEMEX 裁决之杖 UpgradeCount >=5  // 检查强化等级≥5
      #ACT
        ITEMRECYCLEEX <$USERNAME> 规则ID=2
        SENDMSG 6 高级武器回收成功!获得50万金币和金刚石!
      #ELSEACT
        SENDMSG 6 你没有符合条件的高级武器(强化≥5、品质≥4)!

    // 玩家选择“3. 退出”
    #CASE 3
      #ACT
        CLOSE
    三、全局脚本中的调用示例(多 NPC 共用规则)
    如果多个 NPC 需要共用同一套回收规则,可在全局脚本(Envir/GlobalQuest.txt)中定义规则,避免重复代码:

    plaintext
    // 全局脚本:GlobalQuest.txt(引擎启动时自动加载)
    #ACT
      // 定义全服通用的回收规则(ID=100~199)
      ITEMRECYCLESET 100 沃玛手镯|沃玛戒指 0 2 3 205  // 回收沃玛首饰,奖励材料ID=205
      ITEMRECYCLESET 101 祖玛头盔|祖玛项链 3 3 4 10   // 回收强化≥3的祖玛装备,奖励10元宝

    // 其他NPC脚本(如“新手向导.txt”)直接调用全局规则
    #CASE 5
      #ACT
        // 调用全局规则ID=100回收沃玛首饰
        ITEMRECYCLEEX <$USERNAME> 规则ID=100
        SENDMSG 6 沃玛首饰回收成功,获得指定材料!
    四、结合变量与条件的灵活调用
    ITEMRECYCLESET 支持通过变量动态定义规则参数(如物品名称、奖励值),适用于需要根据玩家状态动态调整的场景:

    plaintext
    #TITLE 动态回收NPC
    #ACT
      // 根据玩家等级动态设置奖励值
      MOV N1 <$LEVEL>  // 变量N1=玩家等级
      MUL N1 1000      // 奖励金币=等级×1000
      // 动态定义规则(物品名称从变量S1读取,奖励值从N1读取)
      MOV S1 赤月腰带
      ITEMRECYCLESET 3 <$STR(S1)> 0 3 1 <$STR(N1)> 2 <$STR(N1)*2>  // 经验=金币×2

    #SAY
      回收赤月腰带可获得与等级挂钩的奖励!\
      点击回收 →

    #CASE 1
      #ACT
        ITEMRECYCLEEX <$USERNAME> 规则ID=3
        SENDMSG 6 回收成功!获得<$STR(N1)>金币和<$STR(N1)*2>经验!
    五、调用注意事项
    规则 ID 的定义时机:
    规则需在调用前定义(建议放在脚本 #ACT 块的开头,或全局脚本中)。
    引擎重启或脚本重载后,需重新执行 ITEMRECYCLESET 定义规则(NPC 脚本会在玩家对话时重新执行,无需手动重载)。
    调用格式严格性:
    ITEMRECYCLEEX 调用规则时必须使用 规则ID=XXX 格式,不能省略前缀或添加空格:
    正确:ITEMRECYCLEEX 玩家名 规则ID=1
    错误:ITEMRECYCLEEX 玩家名 1(引擎会误认为 “物品名称 = 1”)、ITEMRECYCLEEX 玩家名 规则ID= 1(=后有空格)。
    多规则的优先级:
    若同一 ID 被多次定义,最后一次定义的规则会覆盖之前的规则。例如:
    plaintext
    #ACT
      ITEMRECYCLESET 5 木剑 0 0 1 1000  // 规则5:奖励1000金币
      ITEMRECYCLESET 5 木剑 0 0 1 2000  // 规则5被覆盖,奖励2000金币

    批量回收的控制:
    单次调用会回收玩家背包中所有符合规则的物品。若需限制回收数量,需结合 TAKE 命令手动控制:
    plaintext
    #ACT
      TAKE 木剑 1  // 先取出1把木剑
      ITEMRECYCLEEX <$USERNAME> 规则ID=1  // 仅回收取出的1把


    六、调试与验证
    日志检查:回收操作会记录在 Log/Recycle.log 中,包含规则 ID、回收物品、奖励等信息,可确认规则是否被正确调用:
    示例日志:2023-10-01 18:00:00 玩家[测试] 调用规则ID=2 回收[裁决之杖] 成功,奖励[500000金币,102号材料]。
    游戏内测试:创建测试账号,携带符合规则的物品与 NPC 对话,检查物品是否被回收、奖励是否到账,验证规则是否生效。

    通过上述方法,可在脚本中灵活调用 ITEMRECYCLESET 定义回收规则,并通过 ITEMRECYCLEEX 触发回收,实现从简单到复杂的物品回收功能。核心是确保规则 ID 唯一、调用格式正确,并结合实际场景设计条件判断和动态参数。

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

    本版积分规则

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

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