当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇服务端合成装备脚本配置全流程

热度:
合成装备功能需通过NPC对话触发物品检测与替换逻辑,核心文件包括NPC主脚本、合成配方表及结果处理指令。所有操作在服务端Envir目录下完成,不依赖客户端修改。

第一步:创建合成NPC
在Mir200EnvirMerchant.txt末尾添加一行:
合成大师320320
在MapQuest_def目录新建文件夹“合成大师”,内部创建MAIN.txt:

[@main]
欢迎使用装备合成系统!




第二步:定义合成配方
在EnvirQuestDiary合成大师目录下新建WeaponList.txt,格式为:
屠龙+圣战=怒斩|100000
井中月+炼狱=魔血剑|50000
每行结构:材料1+材料2=成品|所需金币

第三步:编写武器合成逻辑(MAIN.txt追加)
[@ForgeWeapon]
IF
CHECKITEMCOUNT屠龙1
CHECKITEMCOUNT圣战1
ACT
GOTO@CheckGold_Weapon1
ELSESAY
缺少屠龙或圣战!


[@CheckGold_Weapon1]
IF
CHECKGOLD>100000
ACT
TAKE屠龙1
TAKE圣战1
TAKEgold100000
GIVE怒斩1
SENDMSG6合成成功!获得怒斩!
CLOSE
ELSESAY
金币不足10万!


第四步:批量处理多配方(推荐方法)
用字符串匹配替代逐条判断。在MAIN.txt中改写:
[@ForgeWeapon]
LOADFILE..合成大师WeaponList.txt
MOVS10
INPUTMULTILINE请选择合成配方:S10
GOTO@ProcessWeapon

[@ProcessWeapon]
;假设玩家选择第一行"屠龙+圣战=怒斩|100000"
SEPARATESTR=S20S21
SEPARATESTRS20+S22S23
SEPARATESTRS21|S24S25

IF
CHECKITEMCOUNTS221
CHECKITEMCOUNTS231
CHECKGOLD>S25
ACT
TAKES221
TAKES231
TAKEgoldS25
GIVES241
SENDMSG6合成成功!获得S24!
CLOSE
ELSESAY
材料或金币不足!


第五步:防错机制
合成前检查背包空位:
IF
CHECKBAGGAGE1
高级装备绑定:
GIVEBINGOS241
记录日志:
WRITEFILE..LogSynthesize.log合成$S24

测试流程:
创建两个测试账号,分别放入配方材料;
与NPC对话选择合成项;
验证材料扣除、金币消耗、成品发放是否同步;
检查背包满时是否提示“包裹空间不足”。

常见问题:
物品名称含空格需用引号包裹(如“圣战*项链”);
合成失败不退材料需在脚本开头加确认步骤;
多材料合成扩展SEPARATESTR分割符数量。
[顶部]