传奇F引擎合成怒斩需10个金刚石脚本写法详解

来源: 作者: 点击:
在传奇F引擎中实现“合成怒斩需消耗10个金刚石,且金刚石必须在背包内”的功能,需通过物品检测、数量判断与合成执行三步完成。以下为完整可直接使用的脚本,适用于标准F引擎服务端。

第一步:准备合成NPC界面

在EnvirMarket_def目录下创建HeChengNPC.txt,内容如下:

[@main]
\
 \
 『』(需10个金刚石)\
 『』\

第二步:编写合成逻辑分支

在同文件中添加[@HeChengNuZhan]标签,处理合成请求:

[@HeChengNuZhan]
; 检查背包中是否有至少10个金刚石(物品代码假设为123)
IF
CHECKITEM 123 10
ACT
; 扣除10个金刚石
TAKE 123 10
; 给予怒斩(假设怒斩代码为45)
GIVE 45 1
SENDMSG 7 合成成功!获得怒斩。
CLOSEMERCHANT
BREAK

ELSEACT
SENDMSG 7 背包中金刚石不足10个,无法合成。
CLOSEMERCHANT

关键说明

物品代码确认:
金刚石代码需根据实际StdItems.ini或数据库确认,常见为123、1024或自定义值;
怒斩代码通常为45,但部分版本可能不同,请核对装备列表。
若不确定,可通过GM命令@ITEMLIST查询物品编号。

CHECKITEM作用范围:
CHECKITEM仅检测玩家背包(含扩展栏),不包括仓库、身上穿戴或地面;
自动排除仓库物品,符合“不在背包则不能合成”要求。

TAKE与GIVE顺序:
先扣除材料,再给予成品,防止因背包满导致材料丢失;
若担心背包满,可加判断:
#IF
CHECKBAGGAGE 1
; 表示背包至少有1格空位


防重复点击:
CLOSEMERCHANT立即关闭窗口,避免快速连点导致多次扣除。

第三步:注册NPC到游戏

在!Setup.txt末尾添加:
NHeChengNPC 300 300 HeChengNPC.txt

并在对应地图文件(如0.txt)中放置坐标:
300 300 NHeChengNPC

扩展:支持多种合成选项

若需在同一NPC提供多合成项,例如同时合成屠龙、逍遥扇等:

[@main]
\
 \
 『』(10金刚石)\
 『』(20金刚石)\
 『』\

[@HeChengTuLong]
IF
CHECKITEM 123 20
ACT
TAKE 123 20
GIVE 40 1
SENDMSG 7 合成成功!获得屠龙。
CLOSEMERCHANT
BREAK
ELSEACT
SENDMSG 7 金刚石不足20个。
CLOSEMERCHANT

测试步骤

启动服务端,进入游戏;
使用GM命令获取金刚石:@GIVE 123 10;
打开NPC,点击“合成怒斩”;
观察是否成功获得怒斩,金刚石是否扣除10个;
若失败,检查:
物品代码是否正确;
脚本文件编码是否为ANSI;
NPC是否正确注册并出现在地图。

此脚本严格满足需求:仅当背包内有10个金刚石时才能合成怒斩,材料不足则提示,逻辑清晰,无冗余操作,适用于F引擎单机或联机环境。