目录

变量列表 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%