变量(Varibute)MM4.6.5+
鲲鲲测试变量时使用的是4.12付费版
概览
- 编辑者:鲲鲲(鲨鲨)、二白(栗Message)中
- 免费版变量机制能作用于消息类技能修改项、击杀信息等,例如Speak,付费版变量机制在此基础上能作用于大多数技能修改项
- MM所自定义の变量,如caster.鲲鲲,必须被技能:setVariable所设置过才能作用于条件、所参与の技能行等
- 设置变量时若目标为玩家,目标玩家必须是生存/冒险模式(这将包括@Selfの清空)
- 想将所创变量(栗<caster.damage>)运用到技能:Setvariableの修改项:Type、变量条件以外の地方,需改为这种格式: <caster.var.damage>
- 作用于技能修改项则需要付费版
- 付费版变量计算(例如damage{a='2 * <caster.var.damage>'} @self),运算符号必须和两个因数(可全为变量名,也可一个变量一个数字)之间隔着一个空格
- 同时,付费版能使用()和[]进行"复杂"的计算,计算能用在除消息类技能(如Message、setname)与部分技能の修改项(如SummonのType不支持变量,而Radius与Amount支持变量)
- 详见底部的"随着怪物剩余血量百分比的减少增加伤害"李子,另外,100%=100,不等于1
- 4.7.2+,若读取生物名称的变量没读取到生物名称,会提示生物种类
- 变量用于决定返还一个特定的数值并用于技能之上,也可单纯用于显示颜色或特殊符号
栗子:显示被干掉的生物名字 被骑士 显示使用技能的玩家的名字 使用技能斩杀了
Skills:
- message{m="&b<mob.name>&r 被骑士 &a<trigger.name>&r 使用技能斩杀了"} @PIR{r=20} ~onDeath
有关威胁度の变量必须启用威胁表,否则值为Unknow
施法者变量 |
描述
|
以下变量返还施法者下的相关数值 <caster.name>就会返还离使用此技能的生物名字
|
<caster.damage> |
返还施法者已损生命
|
<caster.hp> |
返还施法者当前生命
|
<caster.mhp> |
返还施法者最大生命
|
<caster.php> |
以百分比形式返还施法者的当前生命,100%=100
|
<caster.thp> |
返还施法者的最大生命
|
<caster.tt.top> |
返还对施法者威胁度最高的伤害源名字
|
<caster.level> |
返还施法者的等级
|
<caster.l.w> |
返还施法者所处世界名
|
<caster.l.x> |
返还施法者x轴坐标
|
<caster.l.x.#> |
返还施法者x轴坐标(加上#表随机偏差)
|
<caster.l.y> |
返还施法者y轴坐标
|
<caster.l.y.#> |
返还施法者y轴坐标(加上#表随机偏差)
|
<caster.l.z> |
返还施法者z轴坐标
|
<caster.l.z.#> |
返还施法者z轴坐标(加上#表随机偏差)
|
<caster.owner.name> |
返还施法者的主人名称
|
<caster.owner.uuid> |
返还施法者主人的UUID
|
<caster.stance> |
返还施法者所拥有的姿势名
|
<caster.threat> |
返还施法者的威胁度
|
变量占位符(MM4.6+) |
描述
|
以下变量返还变量的相关数值
|
<caster.var.变量名> |
返还指定变量的数值
|
<skill.var.变量名> |
返还当前技能内指定变量名的变量数值
|
<skill.var.damage-amount> |
受伤时返还自身所受伤害,需onDamaged触发器
|
<skill.var.damage-type> |
受伤时返还自身所受伤害类型,需onDamaged触发器,可为Aura(光环)etc(特定)mechanic(技能)
|
<skill.var.aura-name> |
返还所拥有的光环名
|
<skill.var.aura-charges> |
返还已失去的光环层数
|
<skill.var.aura-duration> |
返还光环剩余时间
|
<skill.var.aura-stacks> |
返还光环层数
|
<skill.targets> |
技能所选择的目标
|
生物变量 |
描述
|
若没有标明生物名字,以下变量或许会不能运行
|
<mob.uuid> |
返还生物的UUID
|
<mob.level> |
返还生物的等级
|
<mob.name> |
返还生物的名字
|
<mob.hp> |
返还生物的当前血量值
|
<mob.mhp> |
返还生物的最大(max)血量值
|
<mob.php> |
返还生物的当前血量值并以百分比形式
|
<mob.thp> |
返还生物的最大(full number)血量值
|
<mob.tt.top> |
返还对生物威胁度最高的伤害源名字
|
<mob.l.w> |
返还生物现在所在世界的名字
|
<mob.l.x> |
返还生物所处x轴坐标
|
<mob.l.y> |
返还生物所处y轴坐标
|
<mob.l.z> |
返还生物所处z轴坐标
|
<mob.stance> |
返还生物当前的状态
|
<mob.owner.name> |
返还狼的主人的名字
|
<mob.owner.uuid> |
返还狼的主人的UUID
|
目标变量 |
描述
|
以下变量返还目标选择器下的相关数值 <target.name>+@NearstPlayer就会返还离使用此技能的生物的最近玩家的名字
|
<target.damage> |
返还目标已损生命
|
<target.uuid> |
返还目标的UUID
|
<target.name> |
返还目标的名字
|
<target.hp> |
返还目标的当前血量值
|
<target.threat> |
返还目标的威胁度(似乎无效)
|
<target.l.w> |
返还目标现在所在世界的名字
|
<target.l.x> |
返还目标现在的x轴坐标
|
<target.l.y> |
返还目标现在的y轴坐标
|
<target.l.z> |
返还目标现在的z轴坐标
|
<target.entity_type> |
目标实体类型
|
<target.block.type> |
目标方块类型
|
<target.l.yaw> |
目标视角俯仰度
|
<target.l.pitch> |
目标视角水平角度
|
<trigger.l.yaw> |
触发者视角俯仰度
|
<trigger.l.pitch> |
触发者视角水平角度
|
<target.level> |
目标等级
|
触发变量 |
描述
|
<trigger.uuid> |
返还技能触发者的UUID
|
<trigger.name> |
返还技能触发者的名字
|
<trigger.hp> |
返还技能触发者的当前血量值
|
<trigger.threat> |
返还技能触发者的威胁度(似乎无效)
|
<trigger.l.w> |
返还技能触发者现在所在世界的名字
|
<trigger.l.x> |
返还技能触发者现在的x轴坐标
|
<trigger.l.y> |
返还技能触发者现在的y轴坐标
|
<trigger.l.z> |
返还技能触发者现在的z轴坐标
|
关于设置其它插件变量
其他变量
变量 |
描述
|
<drops.xp> |
返还Heroes或SkillAPI插件的经验掉落值
|
<drops.money> |
返还Vault插件的金钱掉落值
|
特殊变量
变量 |
描述
|
<random.min-max> |
返还一个定义域内的随机数值
|
<mob.score.记分板名> |
返还生物记分板指定记分板下的分数
|
<target.score.记分板名> |
返还目标指定记分板下的分数
|
<trigger.score.记分板名> |
返还施法者指定记分板下的分数
|
<global.score.记分板名> |
返还指定记分板下的总分
|
<score.objective.记分板名> |
返还指定记分板下dummyname的分数
|
标签 |
描述 |
默认数值
|
value |
要设置为的数值,可为其他插件的变量(例如:%sx_damage%) |
无
|
score |
变量运用的位置 |
skill
|
type |
比较复杂,专门罗列出来讲. |
Integer(整数)
|
variable(var) |
可自定义设置的变量值,但前缀必须是caster/trigger/skill/target 任意一种. |
无
|
条件类型 |
描述
|
VariableIsSet |
变量是否为此技能设置的
|
VariableInRange |
检测变量是否在特定的数值范围
|
VariableEquals |
检测变量的数值
|
变量类型
类型 |
描述
|
String |
字符串:支持单词,句子,但不支持对其进行计算
|
Integer |
整型:支持整数,也支持读取值为数字的变量(不限类型),还支持计算
|
Float |
浮点型:支持带小数点的数字,也支持读取值为数字的变量(不限类型),还支持计算
|
变量栗子
栗子1:玩家攻击时会触发攻击属性百分比伤害
|
玩家攻击时会触发攻击属性百分比伤害:
Skills:
- skill:玩家攻击属性百分比伤害 ~onAttack
技能设置:
Skills:
- setvariable{type=STRING;var=caster.damage;value="%sx_damage%"} @self
- message{m="&a你对敌方造成了 <caster.var.damage> 点伤害."} @self
- damage{a=<caster.var.sm>*2} @target
注释:玩家在攻击时会给自己设置一个变量,并且通过message提示自己这个数值的大小(也可用于制作者检测变量设置是否成功),并对怪物造成该数值翻倍的伤害.
|
栗子2:全额反伤——全额反伤的文本显示
栗子
|
注释:若伤害等于5,鲲鲲才不会激活反伤效果
激活反伤:
TargetConditions:
- variableEquals{var=caster.dm;value="5"} false
Skills:
- sudoskill{s=激活反伤} @T
注释:若伤害大于5,鲲鲲才不会激活反伤效果
激活反伤:
TargetConditions:
- variableInRange{var=caster.dm;value=>5} false
Skills:
- sudoskill{s=激活反伤} @T
注释:鲲鲲受伤时会让目标受到1+1* (100-剩余生命百分比)点伤害,剩余生命百分比最高为100,百分比是整数而不是小数!
鲲鲲:
Type: Zombie
Skills::
- skill:测试增伤} @self ~onTimer:1
- skill:测试增伤提示} @self ~onDamaged
测试增伤:
Skills::
- setvariable{type=STRING;var=caster.dm;value="<caster.php>"} @self
测试增伤提示:
Skills::
- damage{a='1 + 1 * (100 - <caster.var.dm>) '} @EIR{r=10}
- message{m="&c怪物生命为 <caster.var.dm> "} @self
|