- 打卡等级:魔龙套勇士
- 打卡总天数:112
- 打卡月天数:5
- 打卡总奖励:13503
- 最近打卡:2025-08-05 00:19:04
管理员
本站站长
- 积分
- 7904
|
在 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 匹配,并结合条件判断优化玩家体验。
|
|