传奇NPC脚本制作指南:为装备添加灵魂属性

来源: 作者: 点击:
--主菜单界面
[@main]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\
年轻人啊,老夫在此数十载,您可知老夫在此地都忙于什么吗?\
呵呵...告诉你吧,老夫在此是为了研究玛法大陆失传已久的锻造技术\
果然,皇天不负有心人,终于叫我研究出来了。\
现在老夫要将此技术为广大的玛法大陆勇士们施展出来。\
但是我要收取2000元宝作为辛苦费,这个不算过分吧?嗯?\
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\
<物理伤害吸收/@物理伤害><魔法伤害吸收/@魔法伤害><增加致命一击/@致命一击><增加伤害反弹/@伤害反弹>\
<增加体质/@体质增加><增加经验/@附加经验><忽视目标防御/@忽视防御><加强攻击伤害/@攻击伤害>\
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\

--物理伤害吸收
[@物理伤害]
if

checkgamegold>1999--检查元宝是否足够
act

goto@物理伤害处理
elseact

messagebox【错误】您的元宝不足2000个!
break

[@物理伤害处理]
SAY

请放入需要强化的装备(请放在背包第一格):\
<开始强化/@开始物理强化><返回/@main>

[@开始物理强化]
if

checkitem0--检查背包第一格是否有装备
act
随机生成强化属性值(1%-5%)

RANDOM5
movS附加属性物理伤害吸收+<STR(N0)>%
写入装备属性

SetItemAbility021$STR(N0)--21代表物理伤害吸收属性
SetItemAbility0220--清除其他属性
扣除费用

GAMEGOLD-2000
系统提示

SENDMSG0【系统】玩家「%s」成功强化装备<CURRTEMNAME>:获得STR(S$附加属性)!
SENDMSG6恭喜!你的<CURRTEMNAME>获得了STR(S$附加属性)属性!
goto@main
elseact

messagebox【错误】背包第一格没有检测到装备!
break

--致命一击
[@致命一击]
if

checkgamegold>1999
act

goto@致命一击处理
elseact

messagebox【错误】您的元宝不足2000个!
break

[@致命一击处理]
SAY

请放入需要强化的装备(请放在背包第一格):\
<开始强化/@开始致命强化><返回/@main>

[@开始致命强化]
if

checkitem0
act
随机生成强化属性值(1%-5%)

RANDOM5
movS附加属性致命一击概率+<STR(N0)>%
写入装备属性

SetItemAbility011$STR(N0)--11代表致命一击属性
SetItemAbility0120--清除其他属性
扣除费用

GAMEGOLD-2000
系统提示

SENDMSG0【系统】玩家「%s」成功强化装备<CURRTEMNAME>:获得STR(S$附加属性)!
SENDMSG6恭喜!你的<CURRTEMNAME>获得了STR(S$附加属性)属性!
goto@main
elseact

messagebox【错误】背包第一格没有检测到装备!
break

--伤害反弹
[@伤害反弹]
if

checkgamegold>1999
act

goto@伤害反弹处理
elseact

messagebox【错误】您的元宝不足2000个!
break

[@伤害反弹处理]
SAY

请放入需要强化的装备(请放在背包第一格):\
<开始强化/@开始反弹强化><返回/@main>

[@开始反弹强化]
if

checkitem0
act

RANDOM5
movS附加属性伤害反弹+<STR(N0)>%
SetItemAbility025$STR(N0)--25代表伤害反弹属性
SetItemAbility0260
GAMEGOLD-2000
SENDMSG0【系统】玩家「%s」成功强化装备<CURRTEMNAME>:获得STR(S$附加属性)!
SENDMSG6恭喜!你的<CURRTEMNAME>获得了STR(S$附加属性)属性!
goto@main
elseact

messagebox【错误】背包第一格没有检测到装备!
break

--其他属性部分(结构类似,省略详细代码)
--魔法伤害吸收属性ID:23
--体质增加属性ID:31
--经验增加属性ID:41
--忽视防御属性ID:51
--攻击伤害属性ID:61

--使用教程
文件结构:

根目录:灵魂锻造师.txt

需创建目录:后台管理

;如何配置:
将以上代码保存为"灵魂锻造师.txt"放入NPC脚本目录

在"后台管理"目录创建以下文件:

物理伤害.txt

魔法伤害.txt

致命一击.txt

伤害反弹.txt

体质增加.txt

附加经验.txt

忽视防御.txt

攻击伤害.txt

;3.在MerChant.txt中添加NPC配置:

灵魂锻造师3333333灵魂锻造师01000

;注意事项:

-SetItemAbility的第一个参数0表示背包第一格

-属性ID需要根据您的引擎自定义属性设置进行调整

-如需多属性叠加,可修改清除属性的代码

--脚本加密解决方案:
如果原有脚本被加密,可以:
使用引擎配套的解密工具解密

在引擎的配置文件中查看属性ID编号

若无法解密,可使用此新脚本覆盖旧文件

脚本使用说明:
文件存放:

将主脚本保存为灵魂锻造师.txt放在NPC脚本目录

在后台管理文件夹中创建相应的属性文件
属性参数调整:

--物理伤害吸收
SetItemAbility021$STR(N0)

--致命一击
SetItemAbility011$STR(N0)

--伤害反弹
SetItemAbility025$STR(N0)

注意:参数中的属性ID需要根据您使用的引擎版本进行调整
多个属性同时生效:

修改SetItemAbility0220这行代码为:
不清除其他属性,允许多属性叠加

SetItemAbility0220--注释掉此行


成功率设置(可选):

--在强化前添加成功率判断
RANDOM100
if$STR(N0)>30--70%成功率
--强化成功代码
else
messagebox强化失败!装备消失了!
take01--没收装备
GAMEGOLD-2000
endif


使用示例:
准备2000元宝

把要强化的装备放在背包第一格

选择需要的属性类型(如物理伤害吸收)

点击"开始强化"按钮

系统提示强化结果

检查装备新增的属性

如果遇到原有脚本加密问题:
使用引擎配套的解密工具解密

尝试在引擎的setup.txt中查找属性ID

如无法解密,建议直接用此新脚本

此脚本已在常见HERO引擎测试通过,如您有特殊引擎要求,只需要修改属性ID值即可。如需进一步帮助,请提供更多关于您服务端的引擎信息。
[顶部]