装备合成逻辑
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-06-04 19:54:01 |
👁️ 阅读: 19
根据课程日志记录,装备合成系统通过CSV表格配置实现。主要使用cfg_makeitems.csv表格定义合成配方,并通过脚本触发。
核心触发点:
1. `@G_CompoundItem10000` - 点击合成按钮时触发,参数`<$param1>`返回表格对应的IDX
2. `@G_CompoundItem10001` - 点击页面按钮时触发,用于自定义按钮功能
基本实现流程:
```txt
[@main]
#ACT
OPENWINDOWS 2201 ;打开合成面板
[@G_CompoundItem10000]
#ACT
NEWREADCSV ..\Data\cfg_makeitems.csv ;加载合成表
#IF
NOT EQUAL <$param1>
#ACT
MOV S$系统合成IDx判断 <$param1>
MOV S$系统合成初始行判断 <$GetTypeBRow(cfg_makeitems,0,<$str(S$系统合成IDx判断)>)>
#IF
checkitems <$cfgmakeitems(<$str(S$系统合成初始行判断)>_8)> 0 1
checkitems <$cfgmakeitems(<$str(S$系统合成初始行判断)>_9)> 0 1
#ACT
takes <$cfgmakeitems(<$str(S$系统合成初始行判断)>_8)> N$合成_道具绑定状态 1
takes <$cfgmakeitems(<$str(S$系统合成初始行判断)>_9)> N$合成_货币绑定状态 1
gives <$cfgmakeitems(<$str(S$系统合成初始行判断)>_7)>
SendActionOfJson 10000 {"action":"event","data":{"recog":0,"param1":<$str(S$系统合成IDx判断)>}}
```
表格配置要点:
- cfg_makeitems.csv定义材料、产物、消耗等
- 第8列:材料1
- 第9列:材料2/货币
- 第7列:产物
如需保留附加属性,需要在合成执行前获取材料装备属性,然后使用`ADDATTLIST`命令将属性附加到新装备上。但当前脚本中材料是通过名称检测的,没有具体装备实例,建议改用物品框(ITEMBOX)让玩家放入具体装备,这样可以获取装备实例并读取属性。
← 返回问答库