本脚本只按HERO引擎写,涉及新属性检测与设置用CheckNewItemValue、SetNewItemValue,涉及穿身位置按0服装、1武器、2勋章、3项链、4头盔、5左手镯、6右手镯、7左戒指、8右戒指、9护符、10腰带、11鞋子、12宝石处理。其他引擎命令名不同,不要直接套用。玲珑元素版本若把元素放在新属性里,按本教程做调换;若元素放在极品附加里,把检测段改成CheckItemAddValue、设置段改成UPGRADEITEMEX或引擎允许的属性写入命令。
NPC文件与注册
Market_Def新建玲珑调换师.txt,内容开头写NPC基础信息,地图、坐标、形象按所用HERO小版本Npc.txt规则填。脚本主体放Market_Def\玲珑调换师.txt,示例如下。
[@main]
IF
ACT
SAY
玲珑元素装备调换师\\
1.同阶职业互换(战换法、法换道等)/@jobchange\\
2.穿戴玲珑件元素重洗/@elementreset\\
3.OK框玲珑件元素提取转移/@elementmove\\
4.查看当前全身元素点/@showelement\\
同阶职业互换
只做同名不同职业互换,不保留元素,直接回收原装发目标装。消耗用元宝,也可用金币、玲珑石,按数据库物品名改。
[@jobchange]
IF
ACT
SAY
放入背包要换的原装备,选择目标职业\\
战→法王者项链/@war2fa_neck\\
战→道王者项链/@war2tao_neck\\
法→战王者头盔/@fa2war_head\\
道→战王者戒指/@tao2war_ring\\
[@war2fa_neck]
IF
CHECKITEM王者项链(战)1
CHECKGAMEGOLD>30
ACT
TAKE王者项链(战)1
GAMEGOLD-30
GIVE王者项链(法)1
SENDMSG6王者项链已调换为法系,扣除元宝30
ELSEACT
SENDMSG6需要背包有王者项链(战)1个且元宝大于30
[@war2tao_neck]
IF
CHECKITEM王者项链(战)1
CHECKGAMEGOLD>30
ACT
TAKE王者项链(战)1
GAMEGOLD-30
GIVE王者项链(道)1
SENDMSG6王者项链已调换为道系,扣除元宝30
ELSEACT
SENDMSG6需要背包有王者项链(战)1个且元宝大于30
[@fa2war_head]
IF
CHECKITEM王者头盔(法)1
CHECKGAMEGOLD>30
ACT
TAKE王者头盔(法)1
GAMEGOLD-30
GIVE王者头盔(战)1
SENDMSG6王者头盔已调换为战系,扣除元宝30
ELSEACT
SENDMSG6需要背包有王者头盔(法)1个且元宝大于30
[@tao2war_ring]
IF
CHECKITEM王者戒指(道)1
CHECKGAMEGOLD>30
ACT
TAKE王者戒指(道)1
GAMEGOLD-30
GIVE王者戒指(战)1
SENDMSG6王者戒指已调换为战系,扣除元宝30
ELSEACT
SENDMSG6需要背包有王者戒指(道)1个且元宝大于30
若玲珑套装不是王者前缀,把王者项链(战)、王者头盔(法)等全部替换成玲珑战链、玲珑法链、玲珑道链、玲珑战甲、玲珑法衣、玲珑道袍等真实StdItems名称。同名互换不改元素,因为原装收回、目标装重新发;若目标装本身数据库已带固定玲珑元素,发完即带元素。若目标装元素要靠脚本附加,发装后接SetNewItemValue段。
穿戴玲珑件元素重洗
玩家身上已穿玲珑武器、项链、衣服等,NPC按位置重洗新属性。HERO新属性命令格式按所用小版本核对,基础资料常见:
CheckNewItemValue位置属性符号值
SetNewItemValue位置属性操作符值
属性码按版本不同,基础示例采用:0致命一击、1攻击伤害增加、2物理伤害减少、3魔法伤害减少、4忽视或反弹按版本、5体质;扩展资料还有6体质、7附加经验、8怒气、9合计攻击、13人物魔力等。写脚本前在M2命令列表搜CheckNewItemValue、SetNewItemValue,确认本服属性码,避免致命和增伤编号写反。
武器重洗攻击伤害与致命
[@elementreset]
IF
ACT
SAY
选择重洗部位\\
武器重洗致命+增伤/@resetwp\\
衣服重洗物减+魔减/@resetarmor\\
项链重洗增伤+命中元素/@resetneck\\
全玲珑五件套随机重洗/@resetall\\
[@resetwp]
IF
CHECKUSEITEM1
CHECKGAMEGOLD>100
ACT
GAMEGOLD-100
SetNewItemValue10=0
SetNewItemValue11=0
SetNewItemValue10+5
SetNewItemValue11+10
SENDMSG6武器元素已重洗:致命5、攻击伤害增加10,按本服属性码核对
ELSEACT
SENDMSG6需要手持武器且元宝大于100
上面先把武器0、1号新属性清0再赋值,避免多次重洗叠加。若本服0不是致命、1不是增伤,按实际码替换。只想随机,可配合RANDOM段生成1到10再SetNewItemValue;HERO随机写法按版本用Random、GetRandomVal或变量计算,不写死。
衣服重洗物减魔减
[@resetarmor]
IF
CHECKUSEITEM0
CHECKGAMEGOLD>100
ACT
GAMEGOLD-100
SetNewItemValue02=0
SetNewItemValue03=0
SetNewItemValue02+8
SetNewItemValue03+8
SENDMSG6衣服元素已重洗:物减8、魔减8,按本服属性码核对
ELSEACT
SENDMSG6需要身穿衣服且元宝大于100
项链重洗增伤与辅助
[@resetneck]
IF
CHECKUSEITEM3
CHECKGAMEGOLD>80
ACT
GAMEGOLD-80
SetNewItemValue31=0
SetNewItemValue30=0
SetNewItemValue31+6
SetNewItemValue30+3
SENDMSG6项链元素已重洗:增伤6、致命3,按本服属性码核对
ELSEACT
SENDMSG6需要佩戴项链且元宝大于80
全件随机重洗
[@resetall]
IF
CHECKUSEITEM0
CHECKUSEITEM1
CHECKUSEITEM3
CHECKGAMEGOLD>300
ACT
GAMEGOLD-300
SetNewItemValue02=0
SetNewItemValue03=0
SetNewItemValue02+6
SetNewItemValue03+6
SetNewItemValue10=0
SetNewItemValue11=0
SetNewItemValue10+4
SetNewItemValue11+8
SetNewItemValue31=0
SetNewItemValue30=0
SetNewItemValue31+5
SetNewItemValue30+2
SENDMSG6全身玲珑三件已重洗,具体属性码以本服HERO命令表为准
ELSEACT
SENDMSG6需要身穿衣服武器项链且元宝大于300
OK框玲珑元素提取转移
把A件元素抽到乾坤石/元素石,再写到B件。HERO资料里有乾坤石空、满配合CheckNewItemValue多属性、SetNewItemValue清零的转移思路。下面用OK框放原件、背包放空石,提取后原件清元素,给满石;后续把满石对目标件使用再写入。若所用HERO不支持OK框新属性检测,改要求原件穿身、用位置0-12检测。
提取武器三元素到空石
[@elementmove]
IF
ACT
SAY
OK框放原玲珑件,背包放空元素石\\
提取武器元素/@movewp\\
提取项链元素/@moveneck\\
提取衣服元素/@movearmor\\
[@movewp]
IF
CHECKITEM空元素石1
CheckNewItemValue-10>0
CheckNewItemValue-11>0
CheckNewItemValue-14>0
ACT
TAKE空元素石1
GIVE满元素石1
SetNewItemValue-10=0
SetNewItemValue-11=0
SetNewItemValue-14=0
SENDMSG6OK框武器元素已提取并清空,按本服属性码核对0/1/4
ELSEACT
SENDMSG6OK框需放有元素的武器,背包需有空元素石;若本服不支持-1新属性,改穿身检测
若OK框-1在所用HERO不返回新属性,改穿身写:
[@movewp_wear]
IF
CHECKUSEITEM1
CHECKITEM空元素石1
CheckNewItemValue10>0
CheckNewItemValue11>0
CheckNewItemValue14>0
ACT
TAKE空元素石1
GIVE满元素石1
SetNewItemValue10=0
SetNewItemValue11=0
SetNewItemValue14=0
SENDMSG6手持武器元素已提取到满元素石并清空
ELSEACT
SENDMSG6需要手持带元素武器且背包有空元素石
满石写入目标件
[@writewp]
IF
CHECKITEM满元素石1
CHECKUSEITEM1
ACT
TAKE满元素石1
SetNewItemValue10+5
SetNewItemValue11+10
SetNewItemValue14+5
SENDMSG6满元素石已写入手持武器,属性码按本服核对
ELSEACT
SENDMSG6需要背包有满元素石并手持目标武器
项链、衣服同理改位置3、0,属性码按版本。多属性批量转移可先CheckNewItemValue逐个判断原值,用变量记录再SetNewItemValue写到目标;HERO若不支持直接读值到变量,采用固定提冉案,例如原件必须预先洗成致命X、增伤Y、忽视Z,提取石只转固定方案,减少脚本变量处理。
查看全身元素点
给玩家自查,不修改只播报。按本服属性码扩展,示例只列常用。
[@showelement]
IF
ACT
SAY
全身玲珑新属性检测结果\\
武器致命/增伤/忽视见下行消息\\
衣服物减/魔减见下行消息\\
项链增伤/致命见下行消息\\
IF
CheckNewItemValue10>0
ACT
SENDMSG6武器致命一击附加大于0,具体值按M2属性码核对
IF
CheckNewItemValue11>0
ACT
SENDMSG6武器攻击伤害增加大于0
IF
CheckNewItemValue02>0
ACT
SENDMSG6衣服物理伤害减少大于0
IF
CheckNewItemValue03>0
ACT
SENDMSG6衣服魔法伤害减少大于0
IF
CheckNewItemValue31>0
ACT
SENDMSG6项链攻击伤害增加大于0
IF
CheckNewItemValue30>0
ACT
SENDMSG6项链致命一击大于0
若要把具体数值返回变量再播报,先确认所用HERO支持GetNewItemValue或类似回写命令;不支持就用区间判断,例如大于0、大于5、大于10分三档提示,避免假数值。
极品附加类玲珑调换补充
部分1.85玲珑版把攻击、防御、魔御、准确、攻速做成极品附加,不走新属性。检测用CheckItemAddValue,位置同0-12,属性码武器0攻击上限、1魔法上限、2道术上限、3幸运、5准确、6攻速;衣服0防御、1魔御;首饰按AC2/MAC2/DC2/MC2/SC2对应码处理。设置用UPGRADEITEMEX或引擎允许命令。职业互换若保留极品点,不用TAKE/GIVE收回重发,改为脱原装、按原附加取值、发新装、再UPGRADEITEMEX写回。
示例保留武器极品互换:
[@wpkeepadd]
IF
CHECKUSEITEM1
CheckItemAddValue10>0
CHECKGAMEGOLD>50
ACT
MOVN0<$ITEMADDVALUE(10)>
TAKEWEAR1
GIVE玲珑法杖1
UPGRADEITEMEX100<$STR(N0)>0
GAMEGOLD-50
SENDMSG6武器已按原攻击附加点换为玲珑法杖,属性码按本服核对
ELSEACT
SENDMSG6需要手持带攻击附加的武器且元宝大于50
<$ITEMADDVALUE(10)>不是所有HERO小版本都支持,先在测试服打印;不支持就改为分段区间,例如附加大于0小于3、大于等于3小于7、大于等于7分别给不同UPGRADEITEMEX数值。
穿脱自动补偿
若调换后需要脱下原玲珑件清元素、穿上新件自动补元素,放QFunction-0。HERO穿脱标签用[@TakeOnX]、[@TakeOffX],X为0-12;主体和英雄分开,英雄用[@H.TakeOnX]、[@H.TakeOffX]。
[@TakeOn1]
IF
CHECKITEMW玲珑战剑1
ACT
SetNewItemValue10+5
SetNewItemValue11+10
SENDMSG6玲珑战剑佩戴即附致命5、增伤10,属性码按本服核对
[@TakeOff1]
IF
CHECKITEMW玲珑战剑1
ACT
SENDMSG6已取下玲珑战剑,新属性保留在装备上无需手动清
SetNewItemValue在TakeOn里直接加,若玩家反复穿脱会重复加,正式版应先CheckNewItemValue判断是否已附,或者TakeOff时SetNewItemValue清零再TakeOn重附。示例防重复:
[@TakeOn1]
IF
CHECKITEMW玲珑战剑1
CheckNewItemValue11<10
ACT
SetNewItemValue10=5
SetNewItemValue11=10
SENDMSG6玲珑战剑元素已校准为致命5增伤10
ELSEACT
SENDMSG6玲珑战剑元素已满足,不重复附加
消耗与防刷
职业互换用TAKE原装+扣元宝,最不容易刷;元素重洗用CHECKUSEITEM+扣元宝,洗完直接SetNewItemValue覆盖,不读原值就不会把高属性洗低后回退刷。若允许保留最高值,先CheckNewItemValue原值,再比较,只在新值更高时写入。
防刷示例:
[@saferesetwp]
IF
CHECKUSEITEM1
CHECKGAMEGOLD>100
CheckNewItemValue11<15
ACT
GAMEGOLD-100
SetNewItemValue10=5
SetNewItemValue11=15
SENDMSG6武器已重洗到致命5增伤15上限
ELSEACT
SENDMSG6元宝不足或武器增伤已达到15不重洗
元素转移用空石、满石做消耗品,空石商铺/活动产出,满石绑定不可交易;提取后原件清元素,避免原件和满石同时带元素造成复制。OK框方案若引擎不支持,全部改穿身方案,减少兼容问题。
重载与测试
改Market_Def\玲珑调换师.txt后,M2重新加载NPC脚本;若改了QFunction-0穿脱段,重新加载QF;若新属性不生效,检查M2是否开启新属性、登录器是否配套HERO新属性,未开启时SetNewItemValue可能无显示。测试顺序:
新建小号,背包放王者/玲珑各职业装,点职业互换,确认TAKE原装、GIVE目标装、扣元宝数量正确。
小号穿玲珑武器,点重洗,用[@showelement]或M2角色属性面板看新属性变化;换属性码后重洗数值要同步。
OK框放带元素武器,点提取,确认空石变满石、原件CheckNewItemValue回到0;再把满石对空白武器写入,确认只写目标件。
穿脱自动附属性,反复戴摘同件武器,确认不叠加、不丢属性。
极品附加互换用CheckItemAddValue取原值,换装后用UPGRADEITEMEX回写,确认攻击、幸运、准确、攻速都按原方案转移。
常见不生效
点NPC无反应:Market_Def文件名与Npc.txt路径不一致,或M2未重载NPC;先在玄用最简单#SAY主菜单验证。
SetNewItemValue无效:所用HERO未开新属性,或登录器不是对应版本;M2功能里开新属性/元素属性,换配套登录器再测。属性码错会把致命写成增伤,先用CheckNewItemValue单属性打印确认本服编号。
CheckNewItemValue-1无效:部分HEROOK框只支持极品附加检测,不支持新属性;改CHECKUSEITEM按穿身位置0-12检测。
职业互换后元素丢失:TAKE/GIVE重发会丢原元素,若要求保留,别用同名互换,改脱装取原元素变量、发新装再SetNewItemValue;极品附加用CheckItemAddValue取点再UPGRADEITEMEX。
重洗越洗越高:脚本没先清0,多次SetNewItemValue+叠加;每次重洗先=0再+固定值,或用属性上限判断只允许在低值时不洗。
穿脱重复加属性:QFunction自动附属性没做已附判断;加CheckNewItemValue阈值,或TakeOff先清零再TakeOn写入。
乾坤石/元素石复制:提取不原件清零、转移不满石销毁,会出现原件和石都带元素;严格TAKE空石、GIVE满石、原件SetNewItemValue全清,写入目标后TAKE满石。
按上面分职业互换、穿身重洗、OK框提取、满石写入、极品保留、穿脱自动附六块做,1.85玲珑元素在HERO里能覆盖换职业、洗元素、转元素、保留极品全部调换需求;上线前只保留本服真实物品名和已核实属性码,删除测试用过高数值。
NPC文件与注册
Market_Def新建玲珑调换师.txt,内容开头写NPC基础信息,地图、坐标、形象按所用HERO小版本Npc.txt规则填。脚本主体放Market_Def\玲珑调换师.txt,示例如下。
[@main]
IF
ACT
SAY
玲珑元素装备调换师\\
1.同阶职业互换(战换法、法换道等)/@jobchange\\
2.穿戴玲珑件元素重洗/@elementreset\\
3.OK框玲珑件元素提取转移/@elementmove\\
4.查看当前全身元素点/@showelement\\
同阶职业互换
只做同名不同职业互换,不保留元素,直接回收原装发目标装。消耗用元宝,也可用金币、玲珑石,按数据库物品名改。
[@jobchange]
IF
ACT
SAY
放入背包要换的原装备,选择目标职业\\
战→法王者项链/@war2fa_neck\\
战→道王者项链/@war2tao_neck\\
法→战王者头盔/@fa2war_head\\
道→战王者戒指/@tao2war_ring\\
[@war2fa_neck]
IF
CHECKITEM王者项链(战)1
CHECKGAMEGOLD>30
ACT
TAKE王者项链(战)1
GAMEGOLD-30
GIVE王者项链(法)1
SENDMSG6王者项链已调换为法系,扣除元宝30
ELSEACT
SENDMSG6需要背包有王者项链(战)1个且元宝大于30
[@war2tao_neck]
IF
CHECKITEM王者项链(战)1
CHECKGAMEGOLD>30
ACT
TAKE王者项链(战)1
GAMEGOLD-30
GIVE王者项链(道)1
SENDMSG6王者项链已调换为道系,扣除元宝30
ELSEACT
SENDMSG6需要背包有王者项链(战)1个且元宝大于30
[@fa2war_head]
IF
CHECKITEM王者头盔(法)1
CHECKGAMEGOLD>30
ACT
TAKE王者头盔(法)1
GAMEGOLD-30
GIVE王者头盔(战)1
SENDMSG6王者头盔已调换为战系,扣除元宝30
ELSEACT
SENDMSG6需要背包有王者头盔(法)1个且元宝大于30
[@tao2war_ring]
IF
CHECKITEM王者戒指(道)1
CHECKGAMEGOLD>30
ACT
TAKE王者戒指(道)1
GAMEGOLD-30
GIVE王者戒指(战)1
SENDMSG6王者戒指已调换为战系,扣除元宝30
ELSEACT
SENDMSG6需要背包有王者戒指(道)1个且元宝大于30
若玲珑套装不是王者前缀,把王者项链(战)、王者头盔(法)等全部替换成玲珑战链、玲珑法链、玲珑道链、玲珑战甲、玲珑法衣、玲珑道袍等真实StdItems名称。同名互换不改元素,因为原装收回、目标装重新发;若目标装本身数据库已带固定玲珑元素,发完即带元素。若目标装元素要靠脚本附加,发装后接SetNewItemValue段。
穿戴玲珑件元素重洗
玩家身上已穿玲珑武器、项链、衣服等,NPC按位置重洗新属性。HERO新属性命令格式按所用小版本核对,基础资料常见:
CheckNewItemValue位置属性符号值
SetNewItemValue位置属性操作符值
属性码按版本不同,基础示例采用:0致命一击、1攻击伤害增加、2物理伤害减少、3魔法伤害减少、4忽视或反弹按版本、5体质;扩展资料还有6体质、7附加经验、8怒气、9合计攻击、13人物魔力等。写脚本前在M2命令列表搜CheckNewItemValue、SetNewItemValue,确认本服属性码,避免致命和增伤编号写反。
武器重洗攻击伤害与致命
[@elementreset]
IF
ACT
SAY
选择重洗部位\\
武器重洗致命+增伤/@resetwp\\
衣服重洗物减+魔减/@resetarmor\\
项链重洗增伤+命中元素/@resetneck\\
全玲珑五件套随机重洗/@resetall\\
[@resetwp]
IF
CHECKUSEITEM1
CHECKGAMEGOLD>100
ACT
GAMEGOLD-100
SetNewItemValue10=0
SetNewItemValue11=0
SetNewItemValue10+5
SetNewItemValue11+10
SENDMSG6武器元素已重洗:致命5、攻击伤害增加10,按本服属性码核对
ELSEACT
SENDMSG6需要手持武器且元宝大于100
上面先把武器0、1号新属性清0再赋值,避免多次重洗叠加。若本服0不是致命、1不是增伤,按实际码替换。只想随机,可配合RANDOM段生成1到10再SetNewItemValue;HERO随机写法按版本用Random、GetRandomVal或变量计算,不写死。
衣服重洗物减魔减
[@resetarmor]
IF
CHECKUSEITEM0
CHECKGAMEGOLD>100
ACT
GAMEGOLD-100
SetNewItemValue02=0
SetNewItemValue03=0
SetNewItemValue02+8
SetNewItemValue03+8
SENDMSG6衣服元素已重洗:物减8、魔减8,按本服属性码核对
ELSEACT
SENDMSG6需要身穿衣服且元宝大于100
项链重洗增伤与辅助
[@resetneck]
IF
CHECKUSEITEM3
CHECKGAMEGOLD>80
ACT
GAMEGOLD-80
SetNewItemValue31=0
SetNewItemValue30=0
SetNewItemValue31+6
SetNewItemValue30+3
SENDMSG6项链元素已重洗:增伤6、致命3,按本服属性码核对
ELSEACT
SENDMSG6需要佩戴项链且元宝大于80
全件随机重洗
[@resetall]
IF
CHECKUSEITEM0
CHECKUSEITEM1
CHECKUSEITEM3
CHECKGAMEGOLD>300
ACT
GAMEGOLD-300
SetNewItemValue02=0
SetNewItemValue03=0
SetNewItemValue02+6
SetNewItemValue03+6
SetNewItemValue10=0
SetNewItemValue11=0
SetNewItemValue10+4
SetNewItemValue11+8
SetNewItemValue31=0
SetNewItemValue30=0
SetNewItemValue31+5
SetNewItemValue30+2
SENDMSG6全身玲珑三件已重洗,具体属性码以本服HERO命令表为准
ELSEACT
SENDMSG6需要身穿衣服武器项链且元宝大于300
OK框玲珑元素提取转移
把A件元素抽到乾坤石/元素石,再写到B件。HERO资料里有乾坤石空、满配合CheckNewItemValue多属性、SetNewItemValue清零的转移思路。下面用OK框放原件、背包放空石,提取后原件清元素,给满石;后续把满石对目标件使用再写入。若所用HERO不支持OK框新属性检测,改要求原件穿身、用位置0-12检测。
提取武器三元素到空石
[@elementmove]
IF
ACT
SAY
OK框放原玲珑件,背包放空元素石\\
提取武器元素/@movewp\\
提取项链元素/@moveneck\\
提取衣服元素/@movearmor\\
[@movewp]
IF
CHECKITEM空元素石1
CheckNewItemValue-10>0
CheckNewItemValue-11>0
CheckNewItemValue-14>0
ACT
TAKE空元素石1
GIVE满元素石1
SetNewItemValue-10=0
SetNewItemValue-11=0
SetNewItemValue-14=0
SENDMSG6OK框武器元素已提取并清空,按本服属性码核对0/1/4
ELSEACT
SENDMSG6OK框需放有元素的武器,背包需有空元素石;若本服不支持-1新属性,改穿身检测
若OK框-1在所用HERO不返回新属性,改穿身写:
[@movewp_wear]
IF
CHECKUSEITEM1
CHECKITEM空元素石1
CheckNewItemValue10>0
CheckNewItemValue11>0
CheckNewItemValue14>0
ACT
TAKE空元素石1
GIVE满元素石1
SetNewItemValue10=0
SetNewItemValue11=0
SetNewItemValue14=0
SENDMSG6手持武器元素已提取到满元素石并清空
ELSEACT
SENDMSG6需要手持带元素武器且背包有空元素石
满石写入目标件
[@writewp]
IF
CHECKITEM满元素石1
CHECKUSEITEM1
ACT
TAKE满元素石1
SetNewItemValue10+5
SetNewItemValue11+10
SetNewItemValue14+5
SENDMSG6满元素石已写入手持武器,属性码按本服核对
ELSEACT
SENDMSG6需要背包有满元素石并手持目标武器
项链、衣服同理改位置3、0,属性码按版本。多属性批量转移可先CheckNewItemValue逐个判断原值,用变量记录再SetNewItemValue写到目标;HERO若不支持直接读值到变量,采用固定提冉案,例如原件必须预先洗成致命X、增伤Y、忽视Z,提取石只转固定方案,减少脚本变量处理。
查看全身元素点
给玩家自查,不修改只播报。按本服属性码扩展,示例只列常用。
[@showelement]
IF
ACT
SAY
全身玲珑新属性检测结果\\
武器致命/增伤/忽视见下行消息\\
衣服物减/魔减见下行消息\\
项链增伤/致命见下行消息\\
IF
CheckNewItemValue10>0
ACT
SENDMSG6武器致命一击附加大于0,具体值按M2属性码核对
IF
CheckNewItemValue11>0
ACT
SENDMSG6武器攻击伤害增加大于0
IF
CheckNewItemValue02>0
ACT
SENDMSG6衣服物理伤害减少大于0
IF
CheckNewItemValue03>0
ACT
SENDMSG6衣服魔法伤害减少大于0
IF
CheckNewItemValue31>0
ACT
SENDMSG6项链攻击伤害增加大于0
IF
CheckNewItemValue30>0
ACT
SENDMSG6项链致命一击大于0
若要把具体数值返回变量再播报,先确认所用HERO支持GetNewItemValue或类似回写命令;不支持就用区间判断,例如大于0、大于5、大于10分三档提示,避免假数值。
极品附加类玲珑调换补充
部分1.85玲珑版把攻击、防御、魔御、准确、攻速做成极品附加,不走新属性。检测用CheckItemAddValue,位置同0-12,属性码武器0攻击上限、1魔法上限、2道术上限、3幸运、5准确、6攻速;衣服0防御、1魔御;首饰按AC2/MAC2/DC2/MC2/SC2对应码处理。设置用UPGRADEITEMEX或引擎允许命令。职业互换若保留极品点,不用TAKE/GIVE收回重发,改为脱原装、按原附加取值、发新装、再UPGRADEITEMEX写回。
示例保留武器极品互换:
[@wpkeepadd]
IF
CHECKUSEITEM1
CheckItemAddValue10>0
CHECKGAMEGOLD>50
ACT
MOVN0<$ITEMADDVALUE(10)>
TAKEWEAR1
GIVE玲珑法杖1
UPGRADEITEMEX100<$STR(N0)>0
GAMEGOLD-50
SENDMSG6武器已按原攻击附加点换为玲珑法杖,属性码按本服核对
ELSEACT
SENDMSG6需要手持带攻击附加的武器且元宝大于50
<$ITEMADDVALUE(10)>不是所有HERO小版本都支持,先在测试服打印;不支持就改为分段区间,例如附加大于0小于3、大于等于3小于7、大于等于7分别给不同UPGRADEITEMEX数值。
穿脱自动补偿
若调换后需要脱下原玲珑件清元素、穿上新件自动补元素,放QFunction-0。HERO穿脱标签用[@TakeOnX]、[@TakeOffX],X为0-12;主体和英雄分开,英雄用[@H.TakeOnX]、[@H.TakeOffX]。
[@TakeOn1]
IF
CHECKITEMW玲珑战剑1
ACT
SetNewItemValue10+5
SetNewItemValue11+10
SENDMSG6玲珑战剑佩戴即附致命5、增伤10,属性码按本服核对
[@TakeOff1]
IF
CHECKITEMW玲珑战剑1
ACT
SENDMSG6已取下玲珑战剑,新属性保留在装备上无需手动清
SetNewItemValue在TakeOn里直接加,若玩家反复穿脱会重复加,正式版应先CheckNewItemValue判断是否已附,或者TakeOff时SetNewItemValue清零再TakeOn重附。示例防重复:
[@TakeOn1]
IF
CHECKITEMW玲珑战剑1
CheckNewItemValue11<10
ACT
SetNewItemValue10=5
SetNewItemValue11=10
SENDMSG6玲珑战剑元素已校准为致命5增伤10
ELSEACT
SENDMSG6玲珑战剑元素已满足,不重复附加
消耗与防刷
职业互换用TAKE原装+扣元宝,最不容易刷;元素重洗用CHECKUSEITEM+扣元宝,洗完直接SetNewItemValue覆盖,不读原值就不会把高属性洗低后回退刷。若允许保留最高值,先CheckNewItemValue原值,再比较,只在新值更高时写入。
防刷示例:
[@saferesetwp]
IF
CHECKUSEITEM1
CHECKGAMEGOLD>100
CheckNewItemValue11<15
ACT
GAMEGOLD-100
SetNewItemValue10=5
SetNewItemValue11=15
SENDMSG6武器已重洗到致命5增伤15上限
ELSEACT
SENDMSG6元宝不足或武器增伤已达到15不重洗
元素转移用空石、满石做消耗品,空石商铺/活动产出,满石绑定不可交易;提取后原件清元素,避免原件和满石同时带元素造成复制。OK框方案若引擎不支持,全部改穿身方案,减少兼容问题。
重载与测试
改Market_Def\玲珑调换师.txt后,M2重新加载NPC脚本;若改了QFunction-0穿脱段,重新加载QF;若新属性不生效,检查M2是否开启新属性、登录器是否配套HERO新属性,未开启时SetNewItemValue可能无显示。测试顺序:
新建小号,背包放王者/玲珑各职业装,点职业互换,确认TAKE原装、GIVE目标装、扣元宝数量正确。
小号穿玲珑武器,点重洗,用[@showelement]或M2角色属性面板看新属性变化;换属性码后重洗数值要同步。
OK框放带元素武器,点提取,确认空石变满石、原件CheckNewItemValue回到0;再把满石对空白武器写入,确认只写目标件。
穿脱自动附属性,反复戴摘同件武器,确认不叠加、不丢属性。
极品附加互换用CheckItemAddValue取原值,换装后用UPGRADEITEMEX回写,确认攻击、幸运、准确、攻速都按原方案转移。
常见不生效
点NPC无反应:Market_Def文件名与Npc.txt路径不一致,或M2未重载NPC;先在玄用最简单#SAY主菜单验证。
SetNewItemValue无效:所用HERO未开新属性,或登录器不是对应版本;M2功能里开新属性/元素属性,换配套登录器再测。属性码错会把致命写成增伤,先用CheckNewItemValue单属性打印确认本服编号。
CheckNewItemValue-1无效:部分HEROOK框只支持极品附加检测,不支持新属性;改CHECKUSEITEM按穿身位置0-12检测。
职业互换后元素丢失:TAKE/GIVE重发会丢原元素,若要求保留,别用同名互换,改脱装取原元素变量、发新装再SetNewItemValue;极品附加用CheckItemAddValue取点再UPGRADEITEMEX。
重洗越洗越高:脚本没先清0,多次SetNewItemValue+叠加;每次重洗先=0再+固定值,或用属性上限判断只允许在低值时不洗。
穿脱重复加属性:QFunction自动附属性没做已附判断;加CheckNewItemValue阈值,或TakeOff先清零再TakeOn写入。
乾坤石/元素石复制:提取不原件清零、转移不满石销毁,会出现原件和石都带元素;严格TAKE空石、GIVE满石、原件SetNewItemValue全清,写入目标后TAKE满石。
按上面分职业互换、穿身重洗、OK框提取、满石写入、极品保留、穿脱自动附六块做,1.85玲珑元素在HERO里能覆盖换职业、洗元素、转元素、保留极品全部调换需求;上线前只保留本服真实物品名和已核实属性码,删除测试用过高数值。

