在geem2引擎的新开传奇游戏中,开发者可以自定义人物在攻击和被攻击时的伤害计算方式。本文将详细介绍如何通过触发脚本实现伤害值的修改,以及如何在前端显示调整后的伤害。
一、功能说明
修改伤害血量: 通过ChangeDamageValue函数,开发者可以调整当前计算出的伤害值。该函数的格式为:ChangeDamageValue 类型(0=值,1=百分比) 操作符(+,-,=) 值。
二、触发脚本详解
触发时机: 以下触发脚本适用于伤害计算之前的时刻:
人物攻击目标掉血前:@AttackDamage
英雄攻击目标掉血前:@HeroAttackDamage
人物被攻击掉血前:@StruckDamage
英雄被攻击掉血前:@HeroStruckDamage
NPC变量: 游戏中增加了两个NPC变量来存储当前计算出的伤害值,分别是<$DamageValue>(用于普通人物)和<$H.DamageValue>(用于英雄)。
三、脚本示例
人物攻击目标:
[@AttackDamage]
#ACT
SENDMSG 6 人物攻击目标,掉血量为<$DamageValue>,攻击加成10点血量
ChangeDamageValue 0 + 10
Copy
在这个脚本中,当人物攻击目标时,系统会发送消息显示基础伤害值,并通过ChangeDamageValue函数增加10点伤害。
英雄攻击目标:
[@HeroAttackDamage]
#ACT
SENDMSG 6 英雄攻击目标,掉血量为<$H.DamageValue>,攻击加成10点血量
H.ChangeDamageValue 0 + 10
Copy
类似地,当英雄攻击目标时,也会增加10点伤害。
人物被攻击:
[@StruckDamage]
#ACT
SENDMSG 6 人物被攻击,掉血量为<$DamageValue>,抵御掉血量的50%
ChangeDamageValue 1 – 50
Copy
在这个脚本中,当人物被攻击时,系统会显示基础伤害值,并通过ChangeDamageValue函数减少50%的伤害。
英雄被攻击:
[@HeroStruckDamage]
#ACT
SENDMSG 6 英雄被攻击,掉血量为<$H.DamageValue>,抵御掉血量的50%
H.ChangeDamageValue 1 – 50
Copy
当英雄被攻击时,也会减少50%的伤害。
功能说明:人物攻击和被攻击掉血前触发、修改当前伤害血量
格式:ChangeDamageValue 类型(0=值,1=百分比) 操作符(+,-,=) 值
注意:当前伤害血量仅用于以下触发
增加伤害前触发:
人物攻击目标掉血前:@AttackDamage
英雄攻击目标掉血前:@HeroAttackDamage
人物被攻击掉血前:@StruckDamage
英雄被攻击掉血前:@HeroStruckDamage
增加NPC变量,当前伤害掉血量(仅用于以下触发):<$DamageValue> <$H.DamageValue>
[@AttackDamage]
#ACT
SENDMSG 6 人物攻击目标,掉血量为<$DamageValue>,攻击加成10点血量
ChangeDamageValue 0 + 10
[@HeroAttackDamage]
#ACT
SENDMSG 6 英雄攻击目标,掉血量为<$H.DamageValue>,攻击加成10点血量
H.ChangeDamageValue 0 + 10
[@StruckDamage]
#ACT
SENDMSG 6 人物被攻击,掉血量为<$DamageValue>,抵御掉血量的50%
ChangeDamageValue 1 – 50
[@HeroStruckDamage]
#ACT
SENDMSG 6 英雄被攻击,掉血量为<$H.DamageValue>,抵御掉血量的50%
H.ChangeDamageValue 1 – 50