本文将为您介绍Blue传奇引擎新增的CALL爆率与攻击触发开关功能,以及如何进行设置。

攻击触发开关功能:

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

Envir\MonAttackTrigger.txt: 可以被攻击触发的怪物名称列表,每行一个。

攻击触发专属变量: 、

TARINFO\_ISHERO、、

TARINFO\_FNAME、、

ATTINFO\_RACE、、

ATTINFO\_NAME、$ATTINFO\_FNAME。

目标变量: 、

T.CURRENTMAP、、

T.CURRENTY、、

T.MONKILLER、、

T.LEVEL、、

T.MAXHP、、

T.MAXMP、、

T.MAXAC、、

T.MAXMAC、、

T.MAXDC、、

T.MAXMC、、

T.MAXSC、、

T.SPD。

CALL爆率功能:

CALL爆率文件引入用法: 在指定文件中添加#CALL [MonDropItems\药品爆率.txt],支持多个文件被同时调用。

爆率变量检测: 通过检测变量来决定物品是否会掉落,例如:1/x 装备名称 数量 $变量 检测符(><=!?) 检测数值 扣除(负数扣除,正数增加)。

示例:

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

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

注意事项:

在使用CALL爆率功能时,需要在MonDropItems目录下创建相应的爆率文件。

在使用检测符时,?表示>=,^和`用于字符串检查。

在使用扣除时,数值为0不操作。

操作步骤:

找到需要修改的怪物文件。

根据需要修改文件内容,格式必须正确。

修改完成后,重新加载怪物数据库。

完整脚本:

新增杀怪触发与开关

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

Envir\MonAttackTrigger.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>】正在攻击你

新增CALL爆率

功能:

新增爆率文件引入用法,可以和以前的爆率混搭使用,支持多个文件被同时调用,方便编辑爆率

比如在 白野猪.txt 写入如下内容: // MonDropItems目录位于MonItems目录下

#CALL [MonDropItems\药品爆率.txt]

#CALL [MonDropItems\衣服爆率.txt]

—————————————

支持爆率变量检测,兼容老格式,满足指定条件,物品才会打出:

1/x 装备名称 数量 $变量 检测符(><=!?) 检测数值 扣除(负数扣除,正数增加)

检测符: ?表示>=,^和`用于字符串检查

扣除: 和爆率没有关系,只关联检查条件,设置数值为0不操作

例如:

1/1 强效太阳水 1 $GOLDCOUNT ? 0 100000 // 增加10万金币

1/3 强效太阳水 1 $GAMEGOLD ? 100 -100 // 元宝>=100时,有1/3几率计算掉落物品,否则不掉;元宝>=100时,扣除100元宝

1/8 某区物品 1 $SERVERNAME = XX传奇1区 // XX传奇1区 才有可能打出

1/8 某物品 1 $USERID ^ head // 账号以head开头 才有可能打出

1/8 某物品 1 $USERNAME ` tail // 角色名以tail结尾 才有可能打出

支持变量:

$SERVERNAME

$SERVERIP

$WEBSITE

$BBSSITE

$CLIENTDOWNLOAD

$QQ

$PHONE

$BANKACCOUNT0

$BANKACCOUNT1

$BANKACCOUNT2

$BANKACCOUNT3

$BANKACCOUNT4

$BANKACCOUNT5

$BANKACCOUNT6

$BANKACCOUNT7

$BANKACCOUNT8

$BANKACCOUNT9

$GAMEGOLDNAME

$GAMEPOINTNAME

$USERCOUNT

$MACRUNTIME // 服务器开启天数

$SERVERRUNTIME // 引擎开启分钟数

$DATETIME: // 当前日期,格式:2024-11-12

$CURRENTMAPDESC // 地图名

$CURRENTMAP // 地图文件名

$CURRENTX

$CURRENTY

$GENDER // 0,1

$JOB //0,1,2

$ABILITYADDPOINT0..ABILITYADDPOINT6

$ABILITYADDTIME0..ABILITYADDTIME6

$USERNAME

$USERID

$CURITEMID

$ATTINFO_SKILLID

$ATTINFO_RACE

$ATTINFO_ISHERO

$ATTINFO_NAME

$ATTINFO_FNAME

$ATTINFO_MNAME

$CURTITLENAME

$MEMBRETYPE

$MEMBRELEVEL

$RANDOMNO

$RELEVEL

$GUILDHUMCOUNT

$GUILDNAME

$RANKNAME

$LEVEL

$COLLECTEXP

$COLLECTIPEXP

$HP

$MAXHP

$MP

$MAXMP

$AC

$MAXAC

$MAC

$MAXMAC

$DC

$MAXDC

$MC

$MAXMC

$SC

$MAXSC

$HIT

$SPD

$BONUSPOINT

$BONUSABIL_AC

$BONUSABIL_MAC

$BONUSABIL_DC

$BONUSABIL_MC

$BONUSABIL_SC

$BONUSABIL_HP

$BONUSABIL_MP

$BONUSABIL_HIT

$BONUSABIL_SPD

$BONUSABIL_X2

$EXP

$MAXEXP

$PKPOINT

$HW

$MAXHW

$BW

$MAXBW

$WW

$MAXWW

$HUNGER

$CREDITPOINT // 支持扣除操作

$GOLDCOUNT // 支持扣除操作

$GAMEGOLD // 支持扣除操作

$NIMBUS // 支持扣除操作

$GAMEPOINT // 支持扣除操作

$GAMEDIAMOND // 支持扣除操作

$GAMEGIRD // 支持扣除操作

$INTS0..INTS30 // 支持扣除操作

$LOGINLONG // 登录时长,分钟

$DRESS // 衣服名

$WEAPON // 武器名

$RIGHTHAND

$HELMET

$NECKLACE

$RING_R

$RING_L

$ARMRING_R

$ARMRING_L

$HELMETEX // 非176版本

$BUJUK // 非176版本

$BELT // 非176版本

$BOOTS // 非176版本

$CHARM // 非176版本

$DRUM // 非176版本

$HORSE // 非176版本

$FASHION // 非176版本

$HWID

$YEAR

$MONTH

$DAY

$HOUR

$MINUTE

$SECOND

$MILLISECONDS

$MONDROPRATE

$IPADDR

$IPLOCAL

$GUILDBUILDPOINT

$GUILDAURAEPOINT

$GUILDSTABILITYPOINT

$GUILDFLOURISHPOINT

$STR(XX) // 支持扣除操作,其中的全局变量不要频繁使用,否则造成服务器卡顿

$H.STR(XX) // 支持扣除操作,其中的全局变量不要频繁使用,否则造成服务器卡顿

$HUMAN(XX) // 支持扣除操作,定义为内存操作将会自动保存,否则不自动保存;此变量不要高频使用,否则有效率问题

$H.HUMAN(XX) // 支持扣除操作,定义为内存操作将会自动保存,否则不自动保存;此变量不要高频使用,否则有效率问题

$GUILD(XX) // 支持扣除操作,定义为内存操作将会自动保存,否则不自动保存;此变量不要高频使用,否则有效率问题

$GLOBAL(XX) // 支持扣除操作,定义为内存操作将会自动保存,否则不自动保存;此变量不要高频使用,否则有效率问题

$PARAM(0..7)

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