变量列表 Variables List
(版本:2017-08-21 翻译:kjiang 原文链接)
(kjiang备注)变量可以直接写在对话conversation脚本中用于显示某些数值,或在条件condition中用于判断。不同于event、condition、objective,变量是用点.
而不是空格连接参数的。
玩家名字: player
此变量显示玩家的名字/ID。如果你使用了display
参数,此变量会使用玩家的显示名称/昵称(如Essentials定义的display name)而不是实际ID。
例子: %player.display%
NPC: npc
非常简单的变量。npc
会以玩家的语言显示NPC的名字。
例子: %npc%
任务目标属性: objective
你可以用此变量显示某个任务目标的流程/进度等等。第一个参数是objectives.yml中定义的任务目标的ID(不是任务目标列表中的任务目标本身)。请确保此玩家已启动了这个任务目标,否则这个变量将会显示空白(
);第二个参数是这个任务目标的某个属性property
。每一种目标objective都有各种不同的任务属性property
可供利用,具体你可以参阅任务目标列表。
例子: %objective.kill_zombies.left:20%
全局积分: globalpoint
工作方式与普通积分变量相同,但不是显示来自玩家类别的点,而是显示全局、独立于玩家的类别中的点。
例子 %globalpoint.global_knownusers.left:100%
积分: point
此变量显示这个玩家的某项积分,或还欠缺的积分。第一个参数是积分名称(自定义),第二个参数可以是amount
表示积分数值,或left:x
表示距离总分x还缺多少分。
例子: %point.音乐学习度.left:15%
计算数学表达式: math.calc
此变量允许您根据其他变量(例如积分或目标变量)执行计算并解析为指定计算的结果。变量始终以开头math.calc:
,后跟应计算的计算。支持的操作是+
,-
,*
,/
和 ^
。您可以使用( )
和 [ ]
大括号,还可以使用计算绝对值| |
。但要小心,不要在命令(command)事件中使用绝对值,因为它会拆分命令,|
并且不要在没有括号的情况下嵌套它们(|4*|3-5||
行不通,但 |4*(|3-5|)|
可行)。此外,您可以使用舍入运算符~
将其左侧的所有内容四舍五入为右侧给出的十进制位数。所以4+0.35~1
=4.4
, 4.2~0
=4
。
要在计算中使用变量,您有两个选择:首先只写变量,但不写%
;这在不起作用的情况下不起作用,例如,如果变量包含数学运算符,您可以用花括号将其括起来{ }
。在大括号内,您必须使用 转义\
,因此要\
在变量中写入 \\
a,}
在变量中写入 a \
}。
例子 %math.calc:100*(15-point.reputation.amount)% %math.calc:objective.kill_zombies.left/objective.kill_zombies.total*100~2% %math.calc:-{ph.myplugin_stragee+placeholder}%
在用的实例 take普通折扣材料: 'take 精金:%math.calc:2*(100-point.道德点.amount)+80%,山铜:%math.calc:10*(100-point.道德点.amount)+300%'
物品: item
你可以用这个变量显示玩家背包内某样物品的数量,或距离某数量还差多少个。第一个参数是物品的名称(在items.yml
中定义),第二个参数可以是amount
直接显示数量,或left:x
显示距离x还缺多少个。
例子: %item.stick.amount%
插件版本: version
此变量用于显示插件的版本。你还可以在后面加上插件的名称用来显示你想要的插件的版本。
例如: %version.Citizens%
坐标: location
此变量用于提取玩家坐标。格式采用绝对坐标,具体请参考基本概念:统一坐标格式。此坐标会包含偏角yaw和仰角pitch(玩家头看向哪儿?)。你可以直接使用这个location而不用手动输入event/condition/objective里面的coordinate参数。
例子: %location%