====== 变量列表 Variables List ====== (版本:2017-08-21 翻译:kjiang [[https://github.com/Co0sh/BetonQuest/wiki/Variables-List/eba93848d2ceed8f17e2f01548214e7fbd9752e0|原文链接]]) (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''可供利用,具体你可以参阅[[插件手册:betonquest:任务目标|任务目标列表]]。 **例子**: ''%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 ===== 此变量用于提取玩家坐标。格式采用//绝对坐标//,具体请参考[[插件手册:betonquest:基本概念#统一坐标格式_unified_location_formating|基本概念:统一坐标格式]]。此坐标会包含//偏角yaw//和//仰角pitch//(玩家头看向哪儿?)。你可以直接使用这个location而不用手动输入event/condition/objective里面的//coordinate//参数。 **例子**: ''%location%''