传奇复制装备属性脚本与NPC转移写法

来源: 作者: 点击:
传奇里"复制装备属性"不是鼠标拖一下就成,分四个层面:改物品库让同类装备全局变属性、用脚本命令把A件极品抄到B件、用NPC做属性转移交互、单机环境靠合区机制无损复刻道具。前两种是GM/版本作者干活用,第三种给玩家在游戏里用,第四种只限本机自娱。

一、直接改物品库(StdItems.txt / Item.DB)
最原始的"复制"是把一件装备的属性做成另一件的模板。打开 Mir200\Envir\StdItems.txt,找到源装备行,DC/MC/SC、AC/MAC、重量、持久、StdMode、Shape 这些字段整行复制到目标装备行,保存重载。这种做法复制的是基础属性,极品随机值(如"攻击2-7"里额外+3那部分)不在库里,在物品实例数据里,改库动不到。适合批量把屠龙属性套给自定义武器,不适合抄某一件特定极品。

二、脚本层用命令抄极品属性(GOM/GEE/HxM2)
核心思路:先读源装备某属性位的值,再写进目标装备同属性位。GOM/GEE 用一套 CHANGEITEMADDVALUE + GETITEMADDVALUE,HxM2 用 ItemAttrModify,188M2 用 UpgradeUserItem。

以 GOM/GEE 把"身上武器(位置1)的攻击极品"抄给"OK框里新武器(-1)"为例:

@复制攻击极品
#IF
CheckItemAddValue 1 2 >0
#ACT
GETITEMADDVALUE 1 2 <$STR(N$VAL)>
CHANGEITEMADDVALUE -1 2 = <$STR(N$VAL)>
SENDMSG 6 已把身上武器攻击极品抄到对话框装备

说明:装备位置 1=武器,属性位置 2=DC2(攻击极品),GETITEMADDVALUE 把值塞进变量 N$VAL,CHANGEITEMADDVALUE -1 2 = 值 写到 OK 框装备上。盔甲防御极品是位置0属性0,魔御极品盔甲位置0属性1,武器幸运是位置1属性3,准确是5,攻速是6,照表填数字就行。

HxM2 写法换成:

ItemAttrModify 赤血魔剑 攻击上限 +5

直接对指定名装备改,不走位置号,适合 NPC 给完装备紧接着调属性。

188M2/Blue 系用 UpgradeUserItem:

UpgradeUserItem -1 2 = <$STR(N$VAL)>

-1 代表对话框装备,2 是攻击极品位,= 是覆盖写。捡物触发时配合 MOVR NVAL 100 200 先摇一个随机区间再写进去就是"随机极品",把 NVAL 换成另一件装备读出来的值就是"复制"。

三、玩家可操作的NPC属性转移
给玩家用的转移得做交互:源装备放左边、目标放右边、消耗金币或元宝、点确定把源极品位逐条读出来写进目标。GOM 版最小可用骨架:

@属性转移
#IF
CHECKITEM 转移符 1
#ACT
DEC 转移符 1
GETITEMADDVALUE 0 2 <$STR(N$DC)> ;读盔甲攻击极品到N$DC
GETITEMADDVALUE 1 2 <$STR(N$WDC)> ;读武器攻击极品
CHANGEITEMADDVALUE -1 2 = <$STR(N$WDC)> ;写进OK框目标武器
CHANGEITEMADDVALUE -1 0 = <$STR(N$DC)> ;写进目标盔甲(若OK框是盔甲)
SENDMSG 6 极品属性转移完成

放错槽位(比如源放武器目标放衣服还硬抄攻击极品)不会报错但属性位对不上,穿着不生效。武器准确(属性5)、攻速(属性6)、幸运(属性3)要单独加行抄,不能只抄一个2就当全抄了。部分版本"鉴定属性"走的是另一套 NewItemValue(元素属性暴击/伤害/忽视等),要用 CHECKNEWITEMVALUE / SetNewItemValue 另写一段,CHANGEITEMADDVALUE 抄不过来。

四、单机合区无损复刻道具(非属性复制,是道具复制)
本地单机开两份同版本服务端,老服角色穿好极品装进仓库,新服建同名账号同区号,跑 M2 自带的合区工具,合区时不勾"去重清理",合完回单机登录,背包仓库各留一份完全相同实例(含极品值和元素值)。这法子复制的是整个物品实例不是属性抽象,适合自己单机造多把屠龙,外网开区用了必出物品复制漏洞被清档。

五、假人装备属性复制
假人配置 DummyConfig\xxx.txt 里 [UseItems] 段写的是物品名,不是实例,所以假人没有"某件特定极品"的概念,只有"穿屠龙"这个动作。要让假人穿带极品的屠龙,要么 StdItems 里把屠龙基础 DC 直接改高,要么 LOADDUMMYCONFIGFILE 之后用脚本 Give 带极品屠龙再触发穿戴,别指望把玩家身上那把极品屠龙的属性"抄"给假人——假人名单里没有玩家物品实例的句柄。

排错落点:抄完属性穿着没变,先确认 CHANGEITEMADDVALUE 写的是实例(-1 或 0~28)不是库;确认属性位编号对(武器攻击是2不是0);确认装备位置没穿帮(武器在1不在0);GEE 英雄装备要走 H.CHANGEITEMADDVALUE 前缀;元素属性走 SetNewItemValue 不是 AddValue 那套。改完 M2 控制台重载脚本或直接在 NPC 对话里测一把,比改完重启看半天面板快。