一、新增功能概述

传奇游戏推出了全新的“杀怪触发与开关”功能,玩家现在可以根据需要开启或关闭攻击触发,同时管理一个怪物名称列表,以实现更精细的游戏互动。

二、功能详细说明

攻击触发总开关 在!setup.txt文件中,通过设置AttackTrigger参数来控制攻击触发的总开关。默认值为0(关闭),设置为1则开启触发QF的[@Attack]。

怪物名称列表 在EnvirMonAttackTrigger.txt文件中,玩家可以列出可以被攻击触发的怪物名称,每个名称占一行。

专属变量

@Attack触发时,以下变量可用:

$TARINFO_RACE:目标的种族。

$TARINFO_ISHERO:目标是否为英雄(’0’或’1’)。

$TARINFO_NAME:目标的名称。

$TARINFO_FNAME:目标的全名。

$ATTINFO_SKILLID:攻击使用的技能ID。

$ATTINFO_RACE:攻击者的种族。

$ATTINFO_ISHERO:攻击者是否为英雄。

$ATTINFO_NAME:攻击者的名称。

$ATTINFO_FNAME:攻击者的全名。

目标变量

在触发时,以下目标变量可供使用:

$T.CURRENTMAPDESC:当前地图描述。

$T.CURRENTMAP:当前地图。

$T.CURRENTX、$T.CURRENTY:当前位置坐标。

$T.USERNAME:玩家名称。

$T.MONKILLER、$T.KILLER:怪物击杀者。

$T.LEVEL、$T.HP、$T.MAXHP:玩家等级、血量和最大血量。

$T.MP、$T.MAXMP:魔法值和最大魔法值。

$T.AC、$T.MAXAC:物理防御和最大物理防御。

$T.MAC、$T.MAXMAC:魔法防御和最大魔法防御。

$T.DC、$T.MAXDC:物理攻击和最大物理攻击。

$T.MC、$T.MAXMC:魔法攻击和最大魔法攻击。

$T.SC、$T.MAXSC:道术攻击和最大道术攻击。

$T.HIT、$T.SPD:命中率和速度。

三、使用示例

以下是[@Attack]和[@UnderAttack]的使用示例:

[@Attack]:当玩家或随从攻击列表中的指定怪物时,会触发以下操作:

#IF

COMPVAL <$TARINFO_FNAME> = 蜈蚣

COMPVAL <$T.HP> > 50

#ACT

T.HUMANHP – 50

SENDMSG 7 目标【<$TARINFO_NAME>】血量<$T.HP>

Copy

[@UnderAttack]:当玩家或随从被指定怪物攻击时,会触发以下操作:

#IF

COMPVAL <$ATTINFO_FNAME> = 蜈蚣

#ACT

HUMANHP – 50

#IF

COMPVAL <$ATTINFO_MNAME> ! “”

#ACT

SENDMSG 7 【<$ATTINFO_MNAME>】的随从<$ATTINFO_NAME>正在攻击你

#ELSEIF

COMPVAL <$TARINFO_RACE> ! 1

#ACT

SENDMSG 7 【<$ATTINFO_NAME>】正在攻击你的随从【<$TARINFO_NAME>】

#ELSEACT

SENDMSG 7 【<$ATTINFO_NAME>】正在攻击你

新增杀怪触发与开关

!setup.txt AttackTrigger=0 // 攻击触发总开关,默认0关闭,1开启触发QF的[@Attack]

EnvirMonAttackTrigger.txt // 可以被攻击触发的怪物名称列表,每行一个

// 攻击触发专属变量

$TARINFO_RACE // 目标Race

$TARINFO_ISHERO // 目标是否英雄 {‘0’, ‘1’}

$TARINFO_NAME // 目标名称

$TARINFO_FNAME // 目标全名

$ATTINFO_SKILLID // 攻击使用技能ID

$ATTINFO_RACE // 攻击者Race

$ATTINFO_ISHERO // 攻击者是否英雄

$ATTINFO_NAME // 攻击者名称

$ATTINFO_FNAME // 攻击者全名

// 目标变量

$T.CURRENTMAPDESC

$T.CURRENTMAP

$T.CURRENTX

$T.CURRENTY

$T.USERNAME

$T.MONKILLER

$T.KILLER

$T.LEVEL

$T.HP

$T.MAXHP

$T.MP

$T.MAXMP

$T.AC

$T.MAXAC

$T.MAC

$T.MAXMAC

$T.DC

$T.MAXDC

$T.MC

$T.MAXMC

$T.SC

$T.MAXSC

$T.HIT

$T.SPD

// QF例子

[@Attack] // 人或随从攻击列表指定怪物,会触发

#IF

COMPVAL <$TARINFO_FNAME> = 蜈蚣

COMPVAL <$T.HP> > 50

#ACT

T.HUMANHP – 50

SENDMSG 7 目标【<$TARINFO_NAME>】血量<$T.HP>

#IF

COMPVAL <$ATTINFO_RACE> ! 1 // Race=1 是玩家,这里就是非玩家(即随从)

#ACT

SENDMSG 7 你的随从<$ATTINFO_NAME>正在攻击<$TARINFO_NAME>

[@UnderAttack] // 被人或随从或列表指定怪物攻击,会触发

#IF

COMPVAL <$ATTINFO_FNAME> = 蜈蚣 // 蜈蚣打随从或自己

#ACT

HUMANHP – 50 // 主人扣血

#IF

COMPVAL <$ATTINFO_MNAME> ! “” // 攻击者主人名称不为空

#ACT

SENDMSG 7 【<$ATTINFO_MNAME>】的随从<$ATTINFO_NAME>正在攻击你

#ELSEIF

COMPVAL <$TARINFO_RACE> ! 1 // 自己的随从

#ACT

SENDMSG 7 【<$ATTINFO_NAME>】正在攻击你的随从【<$TARINFO_NAME>】

#ELSEACT

SENDMSG 7 【<$ATTINFO_NAME>】正在攻击你

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。