插件手册:mythicmobs:技能:机制列表:变量

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
插件手册:mythicmobs:技能:机制列表:变量 [2021/12/13 11:35] – 创建 duangfafa插件手册:mythicmobs:技能:机制列表:变量 [2021/12/15 17:54] (当前版本) – [技能:设置变量SetVariable] duangfafa
行 1: 行 1:
-====== variable ====== +====== 变量 variable ====== 
-**变量**+
  
 变量是一个存储信息的系统。使用变量系统,您可以存储和操作稍后可以在占位符或条件中使用的值。这些值可以是永久的或临时的。 变量是一个存储信息的系统。使用变量系统,您可以存储和操作稍后可以在占位符或条件中使用的值。这些值可以是永久的或临时的。
行 12: 行 12:
 |FLOAT|浮点型|带小数点的数| |FLOAT|浮点型|带小数点的数|
 |STRING|字符型|文字数字和符号| |STRING|字符型|文字数字和符号|
 +
 +**变量范围:**
 +
 +变量的“范围”是其中变量存在。并非所有范围都适用于所有情况(例如,条件可能没有施法者,而施法者是条件的目标)。
 +|SKILL|保存在当前的技能树上。总是暂时的,当前的技能队列结束时会消失。|
 +|CASTER|保存在怪物上。|
 +|TARGET|保存在技能/条件的目标上。|
 +|TRIGGER|保存在触发技能的实体或玩家。|
 +|PARENT|保存在实体的父级。|
 +|WORLD|保存在现在的世界。|
 +|GLOBAL|保存在服务器。|
  
 **变量可用的条件:** **变量可用的条件:**
行 25: 行 36:
 使用占位符变量时,您还可以使用语法<scope.var.[variable]|[default]>指定一个“默认”值,如果变量未定义,则将使用该值。 使用占位符变量时,您还可以使用语法<scope.var.[variable]|[default]>指定一个“默认”值,如果变量未定义,则将使用该值。
  
-''message{m="Hello there, <target.var.title|wanderer>"} @trigger ~onInteract''+''message{m="你好, <target.var.title|流浪者>"} @trigger ~onInteract''
  
 在这个例子中,如果某个没有设置“title”变量的人右键单击 NPC,它会回复“你好,流浪者”。但是,如果我们这样做: 在这个例子中,如果某个没有设置“title”变量的人右键单击 NPC,它会回复“你好,流浪者”。但是,如果我们这样做:
  
-''setVariable{var=target.title;value="Sir"} @trigger ~onInteract''+''setVariable{var=target.title;value="先生"} @trigger ~onInteract''
  
 ...沿线的某个地方,即使有不同的怪物,第一个怪物也会说“你好,先生”。 ...沿线的某个地方,即使有不同的怪物,第一个怪物也会说“你好,先生”。
  
-===== 技能:SetVariable ===== +----
-**设置变量**+
  
 +===== 技能:设置变量SetVariable =====
 设置一个变量。变量可以是永久的或临时的,并且可以与条件或占位符结合使用来存储数据。 设置一个变量。变量可以是永久的或临时的,并且可以与条件或占位符结合使用来存储数据。
-|Attribute|Aliases|Description|Default Value+|变量|缩写|解释|默认值
-|variable|name, n, var, key, k|变量的名称。可以选择以范围为前缀。|+|name|variable, n, var, key, k|变量的名称。可以选择以范围为前缀。|
 |value|val|要将变量设置为的值。必须适用于类型,否则技能将失败。如果使用空格,应该用双引号括起来。值还可以包括占位符,甚至来自 PlaceholderAPI。| |value|val|要将变量设置为的值。必须适用于类型,否则技能将失败。如果使用空格,应该用双引号括起来。值还可以包括占位符,甚至来自 PlaceholderAPI。|
 |scope|s|变量的范围,例如变量所在的位置。|SKILL| |scope|s|变量的范围,例如变量所在的位置。|SKILL|
 |type|t|变量的类型。|INTEGER| |type|t|变量的类型。|INTEGER|
 |save||变量是否应在重新加载、重新启动和断开连接之间保存。不适用于 SKILL 范围的变量。|false| |save||变量是否应在重新加载、重新启动和断开连接之间保存。不适用于 SKILL 范围的变量。|false|
-|duration|d|变量应该持续多长时间(刻)。不适用于 SKILL 范围的变量。|Infinite|+|duration|d|变量存在时间(刻)。不适用于 SKILL 范围的变量。|Infinite
 + 
 +**例子** 
 + 
 +在这个例子中,目标玩家每 10 分钟只会听到一次附近任意数量的熊的咆哮。 
 +<code yaml [enable_line_numbers="true"]> 
 +熊: 
 +  Skills: 
 +  - skill{s=咆哮} @PlayersInRadius{r=40} ~onTimer:60 
 + 
 +咆哮: 
 +  TargetConditions: 
 +  - variableEquals{var=target.heardbear;value="yes"} cancel #heardbear=yes不执行下面的技能 
 +  Skills: 
 +  - message{m="&7You hear a growling noise..."
 +  - setvariable{var=target.heardbear;value="yes";duration=6000} #heardbear设置为yes,持续6000刻 
 +</code> 
 + 
 +---- 
 + 
 +在这个例子中,一个来自 MMOItems (这是另外一个付费插件)的占位符被存储在一个 int/float 变量中。 
 +<code yaml [enable_line_numbers="true"]> 
 +PlaceholderDamage: 
 +  Skills: 
 +  - setvariable{var=caster.new_skill_damage;value="%mmoitems_stat_skill_damage%";type=INTEGER} @self 
 +  - damage{a="100 * <caster.var.new_skill_damage>"} @PIR{r=5} 
 +</code> 
 + 
 +---- 
 + 
 +===== 技能:取消设置变量variableunset ===== 
 +别名: varUnset、unsetVariable、unsetVar 
 +|属性|别名|描述|默认值| 
 +|variable|var|变量的名称。可以选择以范围为前缀。|| 
 +|scope|s|变量的范围,例如变量所在的位置。|SKILL| 
 + 
 +**例子** 
 +这将从施法者取消设置测试施法者范围变量。 
 +<code yaml [enable_line_numbers="true"]> 
 +RemoveVariable: 
 +  Skills: 
 +  - variableUnset{var=caster.testing} @self 
 +</code> 
 + 
 +---- 
 + 
 +===== 技能:变量加 VariableAdd ===== 
 +将设定的数字添加到指定范围内的变量。仅适用于数字变量类型。 
 +|属性|别名|描述|默认值| 
 +|var|v|变量的范围和名称|none| 
 +|amount|a|添加的数|1| 
 + 
 +**例子** 
 +<code yaml [enable_line_numbers="true"]> 
 +  Skills: 
 +  - variableadd{var=skill.testVar;amount=1} ~onInteract 
 +  - ... 
 +</code> 
 + 
 +---- 
 + 
 +===== 技能:变量减 VariableSubtract ===== 
 +减去指定范围内的变量的数量。仅适用于数字变量类型。 
 +|属性|别名|描述|默认值| 
 +|var|v|变量的范围和名称|none| 
 +|amount|a|添加的数|1| 
 + 
 +**例子** 
 +<code yaml [enable_line_numbers="true"]> 
 +  Skills: 
 +  - variablesubtract{var=skill.testVar;amount=1} ~onInteract 
 +  - ... 
 +</code> 
 + 
 +---- 
 + 
 +===== 技能:变量数学运算 VariableMath ===== 
 +将变量设置为数学方程的结果,其中 'x' 是变量的当前值。 
 +|属性|别名|描述|默认值| 
 +|var||变量的名称和作用域|| 
 +|equation|eq, e|要完成的操作,必须在引号内||
  
 +**例子**
 +将占位符存储在变量中
 +<code yaml [enable_line_numbers="true"]>
 +MMOVar:
 +  Skills:
 +  - variableMath{var=target.exp;equation="%mmocore_level%"}
 +</code>
 +做数学运算
 +<code yaml [enable_line_numbers="true"]>
 +Math1:
 +  Skills:
 +  - variableMath{var=caster.damage;equation="<caster.hp>*5"}
 +Math2:
 +  Skills:
 +  - variableMath{var=caster.speed;equation="(<caster.var.age>/5)+1"}
 +</code>
  • 插件手册/mythicmobs/技能/机制列表/变量.1639366535.txt.gz
  • 最后更改: 2021/12/13 11:35
  • duangfafa