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

传奇NPC加灵魂属性脚本写法与加密修复

热度:
一、脚本显示不全的原因与解密

你遇到的“脚本只能显示一部分,游戏里却能正常使用”是典型的脚本加密现象。服务端为了防修改,使用了M2插件或引擎自带的加密功能对NPC脚本进行了压缩或编码。

解密与查看方法:
1.检查插件管理:打开M2Server→查看→插件管理,查看是否加载了“脚本加密”或“NPC保护”类插件。若有,通常可在其配置界面解密。
2.文件特征:加密后的脚本文件(如\后台管理\物理伤害.txt)在记事本中打开可能显示为乱码或大量空白,但引擎能正常读取。
3.解决方案:若无法解密,你只能参照现有功能逻辑重写,或联系版本发布者索取明文脚本。下面的代码将为你提供重写模板。

二、灵魂属性NPC脚本重写(GOM/GEE引擎)

根据你提供的[@main]菜单,以下为你重写物理伤害吸收和致命一击两个核心功能的完整脚本。此脚本采用OK框放入装备模式,兼容性强,可直接替换加密文件。

1.主NPC脚本(保存为.txt文件)

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

;###物理伤害吸收###
[@物理伤害]
#if
#act
OPENMERCHANTBIGDLG11014000;打开大对话框
#say
请放入需要附加【物理伤害吸收】属性的装备:\\
<放入装备:/@放入装备_物理伤害>\\
<开始附加/@开始附加_物理伤害>(需2000元宝)

;###致命一击###
[@致命一击]
#if
#act
OPENMERCHANTBIGDLG11014000
#say
请放入需要附加【致命一击】属性的装备:\\
<放入装备:/@放入装备_致命>\\
<开始附加/@开始附加_致命>(需2000元宝)


2.功能执行脚本(核心逻辑)

;---物理伤害吸收逻辑---
[@放入装备_物理伤害]
#if
#act
OPENUPGRADEDLG1;打开OK框(位置1)

[@开始附加_物理伤害]
#if
NOTCHECKUSEITEM1;检测OK框1是否有装备
#act
messagebox请先放入一件装备!
break
#if
CHECKGAMEGOLD<2000
#act
messagebox元宝不足2000!
break
#if
#act
GAMEGOLD-2000
SetNewItemValue12+5;给OK框1的装备增加5%物理伤害吸收(属性编号2)
SENDMSG6恭喜!物理伤害吸收+5%附加成功!"
RECLAIMITEM1;收回装备
goto@main

;---致命一击逻辑---
[@放入装备_致命]
#if
#act
OPENUPGRADEDLG1

[@开始附加_致命]
#if
NOTCHECKUSEITEM1
#act
messagebox请先放入一件装备!
break
#if
CHECKGAMEGOLD<2000
#act
messagebox元宝不足2000!
break
#if
#act
GAMEGOLD-2000
SetNewItemValue10+3;给OK框1的装备增加3%致命一击(属性编号0)
SENDMSG6恭喜!致命一击+3%附加成功!"
RECLAIMITEM1
goto@main


三、关键命令与属性编号对照表

SetNewItemValue命令详解:
•格式:SetNewItemValue装备位置属性编号操作符(+/-/=)数值

•装备位置:-1代表当前触发OK框,1代表1号OK框,0代表身上衣服。

•属性编号(GEE/GOM通用):

◦0:暴击几率/致命一击

◦1:攻击伤害增加

◦2:物理伤害吸收

◦3:魔法伤害吸收

◦4:忽视目标防御

◦5:伤害反弹

◦7:体质增加

◦21:经验加成(部分引擎)

四、Hero引擎(老版本)替代写法

如果你的服务端是Hero引擎(不支持SetNewItemValue),需改用UPGRADEITEMEX命令修改装备的扩展属性。以“物理伤害吸收”为例:
[@开始附加_物理伤害]
#if
CHECKGAMEGOLD>1999
#act
GAMEGOLD-2000
UPGRADEITEMEX12050;参数:位置1属性2成功率100%点数5不破碎
SENDMSG6物理伤害吸收附加完成!"

注意:Hero引擎需在M2中预先设置好“属性2”对应物理吸收,否则无效。

五、部署与调试步骤

1.备份:将原NPC脚本文件(如锻造师.txt)重命名为锻造师_backup.txt。
2.新建:创建新文件锻造师.txt,将上述重写脚本粘贴进去。
3.重载:在M2Server上点击“控制”→“重新加载NPC”。
4.测试:在游戏中点击NPC,放入一件白板装备测试扣费和属性增加。

常见报错:
•“未知命令”:说明引擎不支持SetNewItemValue,请切换至UPGRADEITEMEX写法。

•属性不显示:确认客户端补丁中的NewopUI.Pak或Prguse.wzl文件是否支持显示“致命一击”等新属性文字。

通过上述重写,你可以完全摆脱对加密脚本的依赖,并自由调整附加属性的数值和费用。
[顶部]