• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

“MythicMobs/Vaributes”的版本间的差异

来自Minecraft插件百科
跳转至: 导航搜索
技能变量
(撤销1240798440讨论)的版本17881)
1个标签撤销
 
(未显示1个用户的14个中间版本)
第1行: 第1行:
 
=变量(Varibute)MM4.6.5+=
 
=变量(Varibute)MM4.6.5+=
 +
'''鲲鲲测试变量时使用的是4.12付费版'''
 +
==概览==
 
*{{Minecraft Color|&1|'''编辑者:鲲鲲(鲨鲨)、二白'''(栗Message)中}}
 
*{{Minecraft Color|&1|'''编辑者:鲲鲲(鲨鲨)、二白'''(栗Message)中}}
*{{Minecraft Color|&9|'''付费版才可以将变量应有到[[MythicMobs/Skills/TargetSkills|非消息类技能]]'''(栗Message)中}}
+
*{{Minecraft Color|&9|'''免费版变量机制能作用于消息类技能修改项、击杀信息等,例如Speak,付费版变量机制在此基础上能作用于大多数技能修改项'''}}<br>
*设置变量时施法者为玩家,或施法者(怪物)读取玩家时,目标玩家必须是生存/冒险模式.(MM部分目标器会过滤创造/观察模式)
+
*MM所自定义の变量,如caster.鲲鲲,必须被技能:setVariable所设置过才能作用于[[MythicMobs/Conditions|条件]]、所参与の[[MythicMobs/Skills|技能行]]
*想将所创变量(栗<caster.damage>)运用到其他地方,需改为这种格式: <caster.var.damage>
+
*设置变量时若目标为玩家,目标玩家必须是生存/冒险模式(这将包括@Selfの清空)
*变量计算(例如damage{a='2 * <caster.var.damage>'} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]]),运算符号必须和两个因数(可全为变量名,也可一个变量一个数字)之间隔着一个空格
+
*想将所创变量(栗<caster.damage>)运用到'''技能:Setvariable'''の'''修改项:Type'''、[[MythicMobs/Conditions|变量条件]]以外の地方,需改为这种格式: <caster.var.damage>
*同时,能使用()和[]进行"复杂"的计算,计算只能用在damage/damagepercent、heal/healpercnet、setlevel,其它[[MythicMobs/Skills|技能]]计算均无效.
+
*作用于技能修改项则需要付费版
 +
*付费版变量计算(例如damage{a='2 * <caster.var.damage>'} [[MythicMobs/Skills/Targeters|@self]]),运算符号必须和两个因数(可全为变量名,也可一个变量一个数字)之间隔着一个空格
 +
*同时,付费版能使用()和[]进行"复杂"的计算,计算能用在除消息类技能(如Message、setname)与部分技能の修改项(如SummonのType不支持变量,而Radius与Amount支持变量)
 
*详见底部的"随着怪物剩余血量百分比的减少增加伤害"李子,另外,100%=100,不等于1
 
*详见底部的"随着怪物剩余血量百分比的减少增加伤害"李子,另外,100%=100,不等于1
 
*4.7.2+,若读取生物名称的变量没读取到生物名称,会提示生物种类
 
*4.7.2+,若读取生物名称的变量没读取到生物名称,会提示生物种类
第69行: 第73行:
 
| <[[MythicMobs/Skills|skill]].var.damage-type> || 受伤时返还自身所受伤害类型,需onDamaged触发器,可为Aura(光环)etc(特定)[[MythicMobs/Skills|mechanic(技能)]]
 
| <[[MythicMobs/Skills|skill]].var.damage-type> || 受伤时返还自身所受伤害类型,需onDamaged触发器,可为Aura(光环)etc(特定)[[MythicMobs/Skills|mechanic(技能)]]
 
|-
 
|-
 +
| <[[MythicMobs/Skills|skill]].var.aura-name> || 返还所拥有的光环名
 +
|-
 +
| <[[MythicMobs/Skills|skill]].var.aura-charges> || 返还已失去的光环层数
 +
|-
 +
| <[[MythicMobs/Skills|skill]].var.aura-duration> || 返还光环剩余时间
 +
|-
 +
| <[[MythicMobs/Skills|skill]].var.aura-stacks> || 返还光环层数
 +
|-
 +
| <[[MythicMobs/Skills|skill]].targets> || 技能所选择的目标
 +
|}
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
第128行: 第142行:
 
|-
 
|-
 
| <target.l.z> || 返还目标现在的z轴坐标
 
| <target.l.z> || 返还目标现在的z轴坐标
 +
|-
 +
| <target.entity_type> || 目标实体类型
 +
|-
 +
| <target.block.type> || 目标方块类型
 +
|-
 +
| <target.l.yaw> || 目标视角俯仰度
 +
|-
 +
| <target.l.pitch> || 目标视角水平角度
 +
|-
 +
| <trigger.l.yaw> || 触发者视角俯仰度
 +
|-
 +
| <trigger.l.pitch> || 触发者视角水平角度
 +
|-
 +
| <target.level> || 目标等级
 
|}
 
|}
 
{| class="wikitable"
 
{| class="wikitable"
第180行: 第208行:
 
|}
 
|}
  
===[[MythicMobs/Skills/TargetSkills|变量技能]]相关===
+
===[[MythicMobs/Skills/TargetSkills|变量技能/条件]]相关===
 
====[[MythicMobs/Skills/TargetSkills|目标类技能:SetVariable]]修改项====
 
====[[MythicMobs/Skills/TargetSkills|目标类技能:SetVariable]]修改项====
 
{| class="wikitable"
 
{| class="wikitable"
第223行: 第251行:
 
|内容=
 
|内容=
 
玩家攻击时会触发攻击属性百分比伤害:
 
玩家攻击时会触发攻击属性百分比伤害:
<pre>[[MythicMobs/Skills|Skills]]:
+
<pre>Skills:
   - [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=玩家攻击属性百分比伤害} ~onAttack</pre>
+
   - skill:玩家攻击属性百分比伤害 ~onAttack</pre>
 
[[MythicMobs/Skills|技能]]设置:
 
[[MythicMobs/Skills|技能]]设置:
 
<pre>Skills:
 
<pre>Skills:
第240行: 第268行:
 
   TargetConditions:
 
   TargetConditions:
 
   - variableEquals{var=caster.dm;value="5"} false
 
   - variableEquals{var=caster.dm;value="5"} false
   [[MythicMobs/Skills|Skills]]:
+
   Skills:
   - sudoskill{s=激活反伤} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@target]]</pre>
+
   - sudoskill{s=激活反伤} @T</pre>
 
注释:若伤害大于5,鲲鲲才不会激活反伤效果
 
注释:若伤害大于5,鲲鲲才不会激活反伤效果
 
<pre>激活反伤:
 
<pre>激活反伤:
 
   TargetConditions:
 
   TargetConditions:
 
   - variableInRange{var=caster.dm;value=>5} false
 
   - variableInRange{var=caster.dm;value=>5} false
   [[MythicMobs/Skills|Skills]]:
+
   Skills:
   - sudoskill{s=激活反伤} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@target]]</pre>
+
   - sudoskill{s=激活反伤} @T</pre>
 
注释:鲲鲲受伤时会让目标受到1+1* (100-剩余生命百分比)点伤害,剩余生命百分比最高为100,百分比是整数而不是小数!
 
注释:鲲鲲受伤时会让目标受到1+1* (100-剩余生命百分比)点伤害,剩余生命百分比最高为100,百分比是整数而不是小数!
 
<pre>鲲鲲:
 
<pre>鲲鲲:
 
   Type: Zombie
 
   Type: Zombie
  [[MythicMobs/Skills|Skills]]:
+
    Skills::
   - [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=测试增伤} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]] ~onTimer:1
+
   - skill:测试增伤} @self ~onTimer:1
   - [[MythicMobs/Skills|skill]]{- [[MythicMobs/Skills|s]]=测试增伤提示} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]] ~onDamaged
+
   - skill:测试增伤提示} @self ~onDamaged
 
测试增伤:
 
测试增伤:
  [[MythicMobs/Skills|Skills]]:
+
    Skills::
   - setvariable{type=STRING;var=caster.dm;value="<caster.php>"} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]]
+
   - setvariable{type=STRING;var=caster.dm;value="<caster.php>"} @self
 
测试增伤提示:
 
测试增伤提示:
  [[MythicMobs/Skills|Skills]]:
+
    Skills::
   - damage{a='1 + 1 * (100 - <caster.var.dm>) '} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@EIR{r=10}]]
+
   - damage{a='1 + 1 * (100 - <caster.var.dm>) '} @EIR{r=10}
   - message{m="&c怪物生命为 <caster.var.dm> "} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]]
+
   - message{m="&c怪物生命为 <caster.var.dm> "} @self
 
</pre>
 
</pre>
 
}}
 
}}

2022年7月9日 (六) 18:04的最新版本

变量(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的分数

变量技能/条件相关

目标类技能:SetVariable修改项

标签 描述 默认数值
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