当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

blue传奇引擎新增CALL爆率以及杀怪触发与开关

来源: 作者: 热度:
新增杀怪触发与开关
!setup.txt AttackTrigger=0 // 攻击触发总开关,默认0关闭,1开启触发QF的[@Attack]
Envir\MonAttackTrigger.txt // 可以被攻击触发的怪物名称列表,每行一个

// 攻击触发专属变量
$TARINFORACE // 目标Race
$TARINFOISHERO // 目标是否英雄 {'0', '1'}
$TARINFONAME // 目标名称
$TARINFOFNAME // 目标全名
$ATTINFOSKILLID // 攻击使用技能ID
$ATTINFORACE // 攻击者Race
$ATTINFOISHERO // 攻击者是否英雄
$ATTINFONAME // 攻击者名称
$ATTINFOFNAME // 攻击者全名

// 目标变量
$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 <$TARINFOFNAME> = 蜈蚣
COMPVAL <$T.HP> > 50
#ACT
T.HUMANHP - 50
SENDMSG 7 目标【<$TARINFONAME>】血量<$T.HP>

#IF
COMPVAL <$ATTINFORACE> ! 1 // Race=1 是玩家,这里就是非玩家(即随从)
#ACT
SENDMSG 7 你的随从<$ATTINFONAME>正在攻击<$TARINFONAME>

[@UnderAttack] // 被人或随从或列表指定怪物攻击,会触发
#IF
COMPVAL <$ATTINFOFNAME> = 蜈蚣 // 蜈蚣打随从或自己
#ACT
HUMANHP - 50 // 主人扣血

#IF
COMPVAL <$ATTINFOMNAME> ! "" // 攻击者主人名称不为空
#ACT
SENDMSG 7 【<$ATTINFOMNAME>】的随从<$ATTINFONAME>正在攻击你
#ELSEIF
COMPVAL <$TARINFORACE> ! 1 // 自己的随从
#ACT
SENDMSG 7 【<$ATTINFONAME>】正在攻击你的随从【<$TARINFONAME>】
#ELSEACT
SENDMSG 7 【<$ATTINFONAME>】正在攻击你

新增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: // 当前日期,格式:2023-11-12
$CURRENTMAPDESC // 地图名
$CURRENTMAP // 地图文件名
$CURRENTX
$CURRENTY
$GENDER // 0,1
$JOB //0,1,2
$ABILITYADDPOINT0..ABILITYADDPOINT6
$ABILITYADDTIME0..ABILITYADDTIME6
$USERNAME
$USERID
$CURITEMID
$ATTINFOSKILLID
$ATTINFORACE
$ATTINFOISHERO
$ATTINFONAME
$ATTINFOFNAME
$ATTINFOMNAME
$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
$BONUSABILAC
$BONUSABILMAC
$BONUSABILDC
$BONUSABILMC
$BONUSABILSC
$BONUSABILHP
$BONUSABILMP
$BONUSABILHIT
$BONUSABILSPD
$BONUSABILX2
$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
$RINGR
$RINGL
$ARMRINGR
$ARMRINGL
$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)
[顶部]