传奇合击装备攻击倍数与0血不死自动回血服务端改法:HERO/GOM脚本、数据库字段及死亡

来源: 作者: 点击:
合击版给装备加攻击倍数、做自动回血、锁0血不死,全在服务端改(数据库+QFunction脚本+M2参数),不是客户端补丁能搞定的。下面按“攻倍→回血→0血不死→合击版注意”顺序直拆,覆盖HERO、GOM、GEE、翎风主流引擎。

一、装备加攻击倍数(倍攻)三种做法
1. 数据库静态改(最粗暴,适合变态服)
DBC2000打开 MirServer\Mud2\DB\StdItems.DB,找目标武器/首饰:
• DC(物攻下限)、DC2(物攻上限)直接拉高,如裁决 DC 0→20、DC2 0→60

- AniCount 字段写标识值(如100),留给脚本判定“倍数装备”
• 部分引擎扩展字段直接填“2倍攻击”“AttackMul=2”文本,重载物品库生效

改完 M2Server→控制→重新加载→物品数据库,扔地重捡刷新。

2. 穿戴触发脚本(主流,可叠加,合击版推荐)
编辑 Mir200\Envir\Market_Def\QFunction-0.txt,主号用 @TakeOnItemX / @TakeOffItemX,英雄用 @HeroTakeOnX / @HeroTakeOffX(X=装备位,1=武器、3=头盔、5=左手镯、6=左戒指等)
主号倍攻示例:
[@TakeOnItem1]
IF CheckItemName 1 屠龙刀

ACT POWERRATE 200 0 ;攻击倍数200%=2倍

;或 SetAttackMul 2.0
;或 CHANGEATTACKMUL 2
SENDMSG 6 屠龙刀激活:攻击2倍!
[@TakeOffItem1]
IF CheckItemName 1 屠龙刀

ACT POWERRATE 100 0 ;恢复1倍

;或 ClearAttackMul
多件叠加:项链+手镯+戒指分别写 @TakeOnItem2/5/6,各 POWERRATE 150 0,引擎自动乘算或加算(看引擎说明)。
英雄倍攻示例(HERO):
[@HeroTakeOn1]
IF CHECKHEROITEMVALUE1 AniCount=100

ACT H.CHANGEATTACKMUL 2

SENDMSG 6 英雄攻击倍数激活2.0倍
[@HeroTakeOff1]
ACT H.CHANGEATTACKMUL 1

3. 攻击事件动态倍率(双7、暴击、合击专属)
绑定 @Attack / @HeroAttack 事件:
IF CheckWeaponAttr 攻击 7

CheckWeaponAttr 幸运 7
ACT SetAttackMul 1.2

Delay 500
SetAttackMul 1.0
合击技能临时倍率(雷霆一击/破魂斩)可在合击释放函数里加 SetAttackPowerRate +500 限时5秒 。

二、装备自动回血设置
1. 数据库/字段法
StdItems.DB 对应装备扩展字段写:
HPRecoverPerSec=10 ;每秒回10点
MPRecoverPerSec=5
或 Shape/AniCount 设为带“回血”标识的值,客户端读条显示绿字回血

2. 穿戴触发脚本法(QFunction-0.txt)
[@TakeOnItem3] ;头盔位
IF CheckItemName 3 不死鸟头盔

ACT HPRecoverPerSec 15

[@TakeOffItem3]
ACT HPRecoverPerSec 0

套装联动:同时检测头盔+衣服+腰带,集齐写 HPRecoverPerSec 50,拆一件回退基础值 。

3. 被击回血/吸血
[@Struck]
IF CHECKHP < 30

ACT HUMANHP +50 ;受击瞬回50

;吸血:ATKLife 15 (15%吸血,部分引擎支持)
[@MagStruck]
同逻辑写魔法受击回血 。

三、0血不死 / 锁血实现(核心改死亡判定)
纯靠喝药叠回血到0血瞬间补,遇高爆发必穿,必须改服务端死亡阈值+脚本强锁:
1. M2参数层
M2Server→选项→参数设置→游戏参数→人物死亡处理:
- “人物死亡时HP最小值”由 0 改为 -100(需把HP打至-100才死)
• 取消勾选“启用0血存活保护”(若有),改负值逻辑更稳

• 控制→重新加载→全局参数

2. QFunction强锁脚本
[@Struck]
IF CHECKHP <= 0

ACT HUMANHP 1 ;强制锁1血不死

;或 SetHPHarder 1 + SetHPLock 1(部分引擎命令)
SENDMSG 7 锁血触发!
[@MagStruck]
同写一份防魔法秒杀

3. 登录保底(防上线即死)
Mir200\Envir\MapQuest_def\QManage.txt
[@Login]
ACT SetHPHarder 1

SetHPLock 1
;或 CHECKHP <=0 → HUMANHP 100

4. 地图级免死
MapInfo.txt 对应地图行尾加 NODEATH,进图绝对不死(安全区/活动图常用) 。

5. 护身机制替代方案
StdItems.DB 护身戒指 Shape/AniCount=118,受击先扣MP后扣HP;Shape=140部分引擎直接无敌,配合高MP上限实现“看着0血但不死” 。

四、合击版专属注意点
- 英雄也要单独写 @HeroStruck / @HeroLogin 锁血,主号锁了英雄0血照样倒,合击断
• 火龙之心耐久≠血量,锁血脚本别误改怒气字段

• 攻倍命令对合击伤害生效前提:合击计算函数里引用了 AttackMul/PowerRate,老1.80版需手动在合击脚本里乘倍数变量

- PK场景死判定常被“PK惩罚脚本”覆盖,需注释 M2Server.ini 里 ScriptSetting 的 DeathEvent 再测
• 改完顺序:停M2→改DB/脚本→启M2→重载物品库+全局参数→建测试号穿装备打稻草人验证倍攻数值→互相砍验证0血锁血

攻倍用 POWERRATE/SetAttackMul+穿戴事件,回血用 HPRecoverPerSec+@Struck,0血不死改死亡阈值负值+QFunction强锁HP,三块全在服务端落盘,合击主号英雄两套都写全才不跛脚。