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

这是本文档旧的修订版!


variable

变量

变量是一个存储信息的系统。使用变量系统,您可以存储和操作稍后可以在占位符或条件中使用的值。这些值可以是永久的或临时的。

变量类型

变量可以是几种类型中的一种,它是在使用setVariable机制初始化变量时定义的。类型通常是可互换的,MythicMobs 会尽最大努力将某些变量应用于任何被询问的情况,但是如果您尝试将变量类型用于毫无意义的事情,它会出错。

当前类型:

INTEGER整数型整数
FLOAT浮点型带小数点的数
STRING字符型文字数字和符号

变量范围:

变量的“范围”是其中变量存在。并非所有范围都适用于所有情况(例如,条件可能没有施法者,而施法者是条件的目标)。

SKILL保存在当前的技能树上。总是暂时的,当前的技能队列结束时会消失。
CASTER保存在怪物上。
TARGET保存在技能/条件的目标上。
TRIGGER保存在触发技能的实体或玩家。
PARENT保存在实体的父级。
WORLD保存在现在的世界。
GLOBAL保存在服务器。

变量可用的条件:

ConditionDescription
Variable Equals检查变量是否等于给定值。
Variable Is Set检查是否设置了变量。
Variable In Range检查数字变量是否在一个范围内。

变量可用的占位符:

可以在任何允许占位符的 MythicMobs 机制或值中引用变量。这通常使用格式<scope.var.[variable]> 完成。

使用占位符变量时,您还可以使用语法<scope.var.[variable]|[default]>指定一个“默认”值,如果变量未定义,则将使用该值。

message{m=“你好, <target.var.title|流浪者>”} @trigger ~onInteract

在这个例子中,如果某个没有设置“title”变量的人右键单击 NPC,它会回复“你好,流浪者”。但是,如果我们这样做:

setVariable{var=target.title;value=“先生”} @trigger ~onInteract

…沿线的某个地方,即使有不同的怪物,第一个怪物也会说“你好,先生”。

设置变量

设置一个变量。变量可以是永久的或临时的,并且可以与条件或占位符结合使用来存储数据。

变量缩写解释默认值
variablename, n, var, key, k变量的名称。可以选择以范围为前缀。
valueval要将变量设置为的值。必须适用于类型,否则技能将失败。如果使用空格,应该用双引号括起来。值还可以包括占位符,甚至来自 PlaceholderAPI。
scopes变量的范围,例如变量所在的位置。SKILL
typet变量的类型。INTEGER
save变量是否应在重新加载、重新启动和断开连接之间保存。不适用于 SKILL 范围的变量。false
durationd变量存在时间(刻)。不适用于 SKILL 范围的变量。Infinite

例子

在这个例子中,目标玩家每 10 分钟只会听到一次附近任意数量的熊的咆哮。

  1. :
  2.   Skills:
  3. - skill{s=咆哮} @PlayersInRadius{r=40} ~onTimer:60
  4.  
  5. 咆哮:
  6.   TargetConditions:
  7. - variableEquals{var=target.heardbear;value="yes"} cancel #heardbear=yes不执行下面的技能
  8.   Skills:
  9. - message{m="&7You hear a growling noise..."}
  10. - setvariable{var=target.heardbear;value="yes";duration=6000} #heardbear设置为yes,持续6000刻
  • 插件手册/mythicmobs/技能/机制列表/变量.1639367467.txt.gz
  • 最后更改: 2021/12/13 11:51
  • duangfafa