传奇Hero引擎元素打造大师全脚本:新属性检测SetNewItemValue打石概率合成圣灵宝石防

来源: 作者: 点击:
Hero元素打造分新属性装备值、圣灵宝石、元素石转移三类。NPC做元素大师,用CheckNewItemValue读手中装备元素位,用SetNewItemValue写元素值;概率用Random,材料用CheckItem/Take,出成品用Give或直接改原有装备。圣灵系走StdMode=175宝石,按shape区分属性,按AniCount写数值、Source写上限、Reserved写失败破碎率。元素转移用乾坤石提取再注入,避免直接覆盖原装。

一、元素位与数据库规划

Hero新元素按M2元素设置给位置号,常见八类:致命一击、增加攻击伤害、物理伤害减少、魔法伤害减少、忽视目标防御、所有伤害反弹、人物本质增加、人物魔力增加。脚本里用CheckNewItemValue 位置 属性位 符号 值,SetNewItemValue 位置 属性位 = 值。属性位具体数字以所用Hero子版本M2元素列表为准,不要写死0到7,先建一张对照表放进GM文档。

StdItems给可打造底装建字段:

武器元素胚子 Name=元素武器胚,Stdmode按武器5/6,DuraMax按千进制,DC/MC/SC按职业,Reserved留0,Source留0,初始不写元素。
衣服元素胚子 Stdmode按男女10/11,AC/MAC按底装,预留新属性位0。
元素石按打造类型建多个:致命石、增伤石、物减石、魔减石、忽视石、反弹石、体质石、魔力石,Stdmode按引擎元素石规则设,Shape对应属性,AniCount写基础数值,Source写最高值,Reserved写失败率。

圣灵宝石单独建StdMode=175,shape 0到7对应八属性,shape 99随机0到8,AniCount 0到100为成功增加百分比,Source 0到100为上限,Reserved 0到100为失败破碎率;need 0叠加、need 1覆盖随机0到Source。

二、元素大师NPC主结构

Market_Def建“元素打造大师-0.txt”,Merchant按Hero格式写地图号、坐标、范围、名称。脚本体:

[@main]
检测手中装备元素/checkself
打造致命一击元素/addfatal
打造增加攻击伤害/adddmg
打造物理伤害减免/addphys
打造魔法伤害减免/addmag
打造忽视防御/addignore
打造全伤害反弹/addrebound
圣灵宝石打造/shengling
元素转移提取注入/transfer
退出/exit

[@checkself]
if

CHECKITEMW 元素武器胚 1
act

CheckNewItemValue 1 0 = D0
CheckNewItemValue 1 1 = D1
CheckNewItemValue 1 4 = D2
SENDMSG 6 手中武器元素位0=<D0>,位1=<D1>,位4=<$D2>。
elsesay

SENDMSG 6 请先佩戴元素武器胚再检测。

CHECKITEMW检测身着/手持物品;CheckNewItemValue把指定位置属性读入D变量,属性位0/1/4仅示例,实际按M2元素顺序替换。

三、单属性概率打造

以致命一击为例,材料用致命石、黑铁矿、元宝,成功写元素位,失败按设置处理:

[@addfatal]
if

CHECKITEMW 元素武器胚 1
CHECKITEM 致命石 1
CHECKITEM 黑铁矿 10
CHECKGAMEGOLD > 1999
act

Take 致命石 1
Take 黑铁矿 10
GAMEGOLD - 2000
Random 2
act

SetNewItemValue 1 0 = 100
SENDMSG 6 致命一击元素打造成功,武器元素位0设为100。
elsesay

SENDMSG 6 致命元素打造失败,材料已消耗。
break

Random 2为50%,改Random 3约33%、Random 5为20%、Random 1必然成功仅调试用。SetNewItemValue 1 0 = 100表示武器位置1、元素属性位0、赋值100;若M2致命按百分比显示就写100,按小数显示就改1.00或按说明写。其他属性复制该段,仅换材料名和属性位:

增伤:SetNewItemValue 1 1 = 值
物减:SetNewItemValue 1 2 = 值
魔减:SetNewItemValue 1 3 = 值
忽视:SetNewItemValue 1 4 = 值
反弹:SetNewItemValue 1 5 = 值
体质:SetNewItemValue 1 6 = 值
魔力:SetNewItemValue 1 7 = 值

衣服、手镯、戒指换CHECKITEMW对应胚子,位置号按Hero装备位置改;不知道位置号先用[@checkself]读出来再写。

四、保底与连续失败计数

用人物可保存变量记录元素打造失败次数,连续失败达上限强制成功:

[@addfatal]
if

CHECKITEMW 元素武器胚 1
CHECKITEM 致命石 1
CHECKITEM 黑铁矿 10
CHECKGAMEGOLD > 1999
CHECK [9000] > 4
act

Take 致命石 1
Take 黑铁矿 10
GAMEGOLD - 2000
SetNewItemValue 1 0 = 100
SET [9000] 0
SAVEVAR HUMAN 元素保底 ..\QuestDiary\元素打造\保底.txt
SENDMSG 6 保底触发,致命元素必成,武器元素位0设为100。
elsesay

if

CHECKITEMW 元素武器胚 1
CHECKITEM 致命石 1
CHECKITEM 黑铁矿 10
CHECKGAMEGOLD > 1999
act

Take 致命石 1
Take 黑铁矿 10
GAMEGOLD - 2000
Random 2
act

SetNewItemValue 1 0 = 100
SET [9000] 0
SAVEVAR HUMAN 元素保底 ..\QuestDiary\元素打造\保底.txt
SENDMSG 6 致命元素打造成功。
elsesay

CALCVAR [9000] + 1
SAVEVAR HUMAN 元素保底 ..\QuestDiary\元素打造\保底.txt
SENDMSG 6 致命元素失败,保底计数<$STR([9000])>/5。
break

[9000]用可保存HUMAN,小退不丢;机器人只清每日标记,不清保底。保底阈值5表示连续失败5次后下次必成,调试可改1。

五、元素上限与防覆盖

打造前读原值,超过上限不再加:

[@addfatal]
if

CHECKITEMW 元素武器胚 1
CheckNewItemValue 1 0 = D0
LARGE D0 499
act

SENDMSG 6 致命元素已达500上限,停止打造。
elsesay

if

CHECKITEMW 元素武器胚 1
CHECKITEM 致命石 1
CHECKITEM 黑铁矿 10
act

Take 致命石 1
Take 黑铁矿 10
SetNewItemValue 1 0 = 500
SENDMSG 6 致命元素直接补满500。
elsesay

SENDMSG 6 材料不足或未佩戴元素武器胚。

叠加打造用“读原值+新值”再写回:

CheckNewItemValue 1 0 = D0
CALCVAR D0 + 100
SetNewItemValue 1 0 = <$D0>

若担心覆盖玩家已有其他元素,分段只写目标属性位,不执行全量清零;圣灵宝石need 0为叠加、need 1为覆盖随机0到Source,按运营选。

六、圣灵宝石打造独立段

圣灵宝石走StdMode=175,不手动SetNewItemValue,由M2圣灵合成界面或NPC调用圣灵命令处理。NPC只做材料兑换与规则说明:

[@shengling]
if

CHECKITEM 圣灵原石 1
CHECKITEM 八元素精华 5
CHECKGAMEGOLD > 4999
act

Take 圣灵原石 1
Take 八元素精华 5
GAMEGOLD - 5000
Give 圣灵宝石 1
SENDMSG 6 获得圣灵宝石1个,到圣灵合成处按shape选择属性注入装备。
elsesay

SENDMSG 6 需要圣灵原石1、八元素精华5、5000元宝。

圣灵宝石数据库示例:

Name=圣灵宝石,Stdmode=175,Shape=0(致命)/1(增伤)/2(物减)/3(魔减)/4(忽视)/5(反弹)/6(体质)/7(魔力)/99(随机),AniCount=10(成功加10%),Source=80(最高80%),Reserved=100(失败必碎),Need=0叠加、Need=1覆盖。

M2开启路径:MIR2选项-物品装备-附加技能仅管特技;圣灵属性在圣灵相关配置页开启。装备要支持圣灵,按版本要求设Reserved/Anicount;只做新元素不走圣灵可忽略该段。

七、元素转移提取与注入

用乾坤石从旧装备提取元素,再注入新装备,避免重新打造浪费。参考乾坤石空/满写法:

[@transfer]
if

CHECKITEM 乾坤石(空) 1
CHECKITEMW 元素武器胚 1
CheckNewItemValue 1 0 = D0
CheckNewItemValue 1 1 = D1
CheckNewItemValue 1 4 = D2
act

Take 乾坤石(空) 1
Give 乾坤石(满) 1
SetNewItemValue 1 0 = 0
SetNewItemValue 1 1 = 0
SetNewItemValue 1 4 = 0
SENDMSG 6 已提取武器元素位0/1/4到乾坤石(满),原武器对应元素清零。
elsesay

SENDMSG 6 手中元素武器元素不足,无法提取。

注入新装备:

[@inject]
if

CHECKITEM 乾坤石(满) 1
CHECKITEMW 新元素武器胚 1
act

Take 乾坤石(满) 1
Give 乾坤石(空) 1
SetNewItemValue 1 0 = <$D0>
SetNewItemValue 1 1 = <$D1>
SetNewItemValue 1 4 = <$D2>
SENDMSG 6 乾坤石元素已注入新武器。
elsesay

SENDMSG 6 请佩戴新元素武器并持乾坤石(满)。

提取段先把D0/D1/D2读入再清零原装;注入段若D变量跨NPC丢失,改用临时文件或HUMAN变量传递,不靠单纯D变量跨两个NPC主菜单调用。

八、材料爆率与物品闭环

MonItems按BOSS分发:

元素武器胚只在终极BOSS 1/20,普通打造胚在中级BOSS 1/50。
致命石、增伤石、物减石、魔减石按属性分文件,火龙/暗之系列1/50到1/100。
黑铁矿矿区全怪1/5到1/20。
圣灵原石活动副本1/10,八元素精华全元素BOSS按八属性各1/80。
乾坤石空商城元宝卖,乾坤石满只允许转移获得,不直刷。

StdItems所有石名、胚名、宝石名和NPC、MonItems、数据库三处完全一致;差一字CheckItem/CheckNewItemValue均失效。

九、M2与元素开关

新元素属性在M2元素设置里开装备位置、属性类别、显示名称、上限比例。未开启元素系统,SetNewItemValue写了也不显示、不结算。圣灵系统在物品装备相关页开圣灵合成;附加特技按Reserved=201、Anicount特技编号、Source机率配置,和元素打造不是同一套,别混用。

UPGRADEITEMEX仅用于传统升级DC2/MC2/SC2、幸运、准确、速度、防御魔御上限等,不直接写新元素八类;元素打造优先用CheckNewItemValue/SetNewItemValue或圣灵宝石,不用UPGRADEITEMEX硬套。

十、排错

NPC不写元素:CheckNewItemValue/SetNewItemValue命令名按Hero子版本核对,老Hero可能用不同新属性命令;先用材料中木剑检测致命100、改无敌斩的写法验证读写通不通。
打造了没效果:M2元素系统未开,或属性位号写错;用[@checkself]读手中装备各属性位,对照M2元素列表重排。
概率永远成功/失败:Random位置放在Take之后、SetNewItemValue之前;先Random 1调通,再改Random 2/3/5。
覆盖原元素:全属性段一次性SetNewItemValue多个位会改掉其它属性;按属性拆NPC选项,叠加用读原值加新值。
圣灵不注入:StdMode不是175、shape不在0到7/99、M2圣灵未开;检查AniCount/Source/Reserved,need覆盖叠加按需求设。
乾坤石提取空:CheckNewItemValue属性位和装备位置不匹配,手中不是可提取元素装;先单独提取一个已知位测试。
保底不触发:[9000]未SAVEVAR、小退后用P/D/M临时变量清零;改HUMAN并确认QuestDiary\元素打造\保底.txt路径存在。
材料名不对:StdItems改完未重载,MonItems改完未重载爆率;GM造材料全名再点NPC,能过CheckItem再调概率。
跨NPC变量丢:主菜单A检测、子菜单B写入如果用D0到Dn,中间被其它#CALL改掉会错;重要元素值用HUMAN或写临时文本传递。

按CheckNewItemValue检测、SetNewItemValue按属性位写入、Random控概率、[9000]做保底、圣灵StdMode=175做宝石注入、乾坤石做提取转移六层写,Hero元素打造大师可覆盖致命、增伤、物减、魔减、忽视、反弹、体质、魔力全属性;新Hero若用NpcScript按编号建文件,脚本段名和Market_Def一致,仅存放目录不同。