本帖最后由 cc7w 于 2020-3-1 12:30 编辑
来自群组: PluginsCDTribe
来自群组: PCD
Skript 官方帮助文档
-=-=-=翻译进度=-=-=-
完成
-=-=-=原文地址=-=-=-
-=-=-=翻译地址=-=-=-
来自群组: PluginsCDTribe
为什么我没见过你
支持一下,Skript发展潜力很大
XJue_DaDa 发表于 2016-8-14 19:43
为什么我没见过你
因为我是新来的:D
1345979462 发表于 2016-8-14 19:56
所以翻译骗精华
所以说你会Skript么- -这是个问题
1345979462 发表于 2016-8-14 19:46
因为我是新来的:D
喔。欢迎大佬
feiyifan999 发表于 2016-8-14 20:00
所以说你会Skript么- -这是个问题
看我签名档 我发过x件的。
本帖最后由 1345979462 于 2016-8-20 14:15 编辑
介绍
Skript是一个流行的服务器插件。
它允许服务器管理员在不写任何Java语言的情况下简单的管理Minecraft。
这是用触发器、条件和效果三个部分做到的。
当触发器触发,所有条件均满足,效果就会被触发。
Skript的基础想法是——自定义 —— 每个服务器都能在没有自定义插件的情况下表现不同。
这比你自己钻研插件和找人写插件快的多。
同时你也不需要那么多小插件了,这一个插件就够了。
你可以在[[https://github.com/bensku/Skript/releases 这里]] 原文给的是DropBox地址无法访问,这里是作者的GitHub地址 下载最新版本的Skript
已经提及了,Skript的触发器提供了这个插件的基本功能。
触发器很普通,并由一些条件和效果组成,就像这个简单的掉落修复脚本:
on break of glass:
drop glass
译者注:
当打破玻璃的时候:
掉落玻璃
Skript也能用来做自定义命令。
这些基本的触发器已被改成了执行特定的命令。
下面的简单触发器允许玩家在手持物品输入/id时显示它的ID。
command /id:
description: Find the ID of the item you're holding
trigger:
message "You're holding a %type of tool% whose ID is %id of tool%."
译者注:
当使用/id时:
描述: 获取你当前持有物的ID
触发器:
给玩家发送消息 "你现在正在拿着一个%type of tool%[工具类型] ,它的ID是 %id of tool%[工具ID]"
Skript同时也有直接从聊天栏执行效果的选项,输出一个可配置的符号打头(!是默认的)的聊天信息。
这经常被指令使用。例如,
!repair tool
,将会修复你的工具。因为这些指令非常强大且用的地方很多。
只有在玩家拥有
skript.effectcommands
权限是才能使用(OP默认不拥有!)
Skript的语法不仅限制于上面的简单指令,还包括一些循环,包含等语法。
下面的脚本是一个很简单的从附近箱子抽调燃料的例子——
on burn of fuel:
fuel slot of the block is empty
loop blocks in radius 1:
loop-block is chest
loop items of type fuel:
loop-block contains loop-item
remove loop-item from loop-block
set fuel of the event-block to loop-item
stop trigger
译者注:
当燃料燃烧时:
熔炉的燃料槽空了
在周围半径一格寻找方块:
寻找箱子
寻找物品是燃料类型
箱子包含燃料
从箱子中移除燃料
把燃料移到燃料槽
停止触发器
更多信息请前往[[https://dev.bukkit.org/bukkit-plugins/skript/ BukkitDev]] 译者注:作者的BukkitDev已经停止更新,请前往GitHub,在文章开始处 ,然后也请阅读下面的辅导材料和帮助文档。
辅导材料是新手的必读品。它解释了如何写一个脚本。这里是[[https://dev.bukkit.org/bukkit-pl ... s/general-tutorial/ 另一段辅导材料]] 译者注: 两段都翻译了
帮助文档是所有触发器的集合,这里面有所有关于脚本的东西。
[[http://dev.bukkit.org/bukkit-plugins/skript/ 链接到BukkitDev]]
[[http://dev.bukkit.org/bukkit-plugins/skript/forum/ 链接到作者论坛]]
介绍
Skript是一个流行的服务器插件。
它允许服务器管理员在不写任何Java语言的情况下简单的管理Minecraft。
这是用触发器、条件和效果三个部分做到的。
当触发器触发,所有条件均满足,效果就会被触发。
Skript的基础想法是——自定义 —— 每个服务器都能在没有自定义插件的情况下表现不同。
这比你自己钻研插件和找人写插件快的多。
同时你也不需要那么多小插件了,这一个插件就够了。
你可以在[[https://github.com/bensku/Skript/releases 这里]] 原文给的是DropBox地址无法访问,这里是作者的GitHub地址 下载最新版本的Skript
已经提及了,Skript的触发器提供了这个插件的基本功能。
触发器很普通,并由一些条件和效果组成,就像这个简单的掉落修复脚本:
on break of glass:
drop glass
译者注:
当打破玻璃的时候:
掉落玻璃
Skript也能用来做自定义命令。
这些基本的触发器已被改成了执行特定的命令。
下面的简单触发器允许玩家在手持物品输入/id时显示它的ID。
command /id:
description: Find the ID of the item you're holding
trigger:
message "You're holding a %type of tool% whose ID is %id of tool%."
译者注:
当使用/id时:
描述: 获取你当前持有物的ID
触发器:
给玩家发送消息 "你现在正在拿着一个%type of tool%[工具类型] ,它的ID是 %id of tool%[工具ID]"
Skript同时也有直接从聊天栏执行效果的选项,输出一个可配置的符号打头(!是默认的)的聊天信息。
这经常被指令使用。例如,
!repair tool
,将会修复你的工具。因为这些指令非常强大且用的地方很多。
只有在玩家拥有
skript.effectcommands
权限是才能使用(OP默认不拥有!)
Skript的语法不仅限制于上面的简单指令,还包括一些循环,包含等语法。
下面的脚本是一个很简单的从附近箱子抽调燃料的例子——
on burn of fuel:
fuel slot of the block is empty
loop blocks in radius 1:
loop-block is chest
loop items of type fuel:
loop-block contains loop-item
remove loop-item from loop-block
set fuel of the event-block to loop-item
stop trigger
译者注:
当燃料燃烧时:
熔炉的燃料槽空了
在周围半径一格寻找方块:
寻找箱子
寻找物品是燃料类型
箱子包含燃料
从箱子中移除燃料
把燃料移到燃料槽
停止触发器
更多信息请前往[[https://dev.bukkit.org/bukkit-plugins/skript/ BukkitDev]] 译者注:作者的BukkitDev已经停止更新,请前往GitHub,在文章开始处 ,然后也请阅读下面的辅导材料和帮助文档。
辅导材料是新手的必读品。它解释了如何写一个脚本。这里是[[https://dev.bukkit.org/bukkit-pl ... s/general-tutorial/ 另一段辅导材料]] 译者注: 两段都翻译了
帮助文档是所有触发器的集合,这里面有所有关于脚本的东西。
[[http://dev.bukkit.org/bukkit-plugins/skript/ 链接到BukkitDev]]
[[http://dev.bukkit.org/bukkit-plugins/skript/forum/ 链接到作者论坛]]
本帖最后由 1345979462 于 2016-8-20 14:37 编辑
教程
作者在自带页面给出的教程
BukkitDev给出的教程材料
教程
作者在自带页面给出的教程
开始 在你开始写脚本之前你应该先安装Skript插件 下载最新的Skript插件,把它放入plugins,重启服务器来生成配置和一些示例脚本。 写触发器 在你打开你的编辑器之前我推荐你知道你要写什么脚本,但你可以简单地开始写了。 在这个教程材料中我会说明如何写一个用锄头来直接撒播种子的脚本。 它应该包括 当一个人手持锄头右键泥土时自动种植作物。 首先,打开你的文档编辑器[例如NotePad++] 译者注:经测试,不推荐使用微软自带的记事本! 现在思考怎么样能让你的触发器被触发,所以我们写下第一行: on right click: 译者注: 在右键时: 如果你不知道有哪些条件可以触发的话,点击[[http://njol.ch/projects/skript/doc/events/ 这里]]译者注:这里是下面帮助文档的Events 事件大类 但是我们不想让人们右键都触发,只是在泥土上用锄头而已。 所以我们应该改变一下—— on right click on soil holding a hoe: 译者注: 当持有锄头右键泥土时: 我们也可以用这个事件+条件来替代—— on right click: block is soil player is holding a hoe 译者注: 当右键时: 方块是泥土 玩家手持锄头 这两种都可以,但我在这篇文档中将使用第一种。 然后我们来检测玩家有无种子: on right click on soil holding a hoe: player has seeds 译者注: 当用锄头右键泥土时: 玩家拥有种子 请注意第二行的缩进。这会使读取器认为这是一个触发器中的语句,并且使脚本更简单的阅读。 如果你不注意这个缩进的话你的插件就会报错因为插件认为他们不属于一个触发器。 在那之后我们应该种植作物了—— on right click on soil holding a hoe: player has seeds set block above the clicked block to crops 译者注: 当手持锄头右键泥土时: 玩家拥有种子 将泥土上方的方块设置为作物 这不是很精确因为可能我们点击的泥土方块上方有方块(如下图) [_] <- 其他方块 [_] <- 泥土方块 如果我们只是设置的话我们会覆盖掉原有方块。 这可能是别的玩家领地中的物品甚至是基岩。 这样的问题看起来并不明显但会有BUG的存在。你可以在你服务器上使用之前先在一个测试服务器上尝试运行。 这个问题可以用检测泥土上方的方块来解决—— on right click on soil holding a hoe: player has seeds block above the clicked block is air set block above the clicked block to crops 当手持锄头右击方块时: 玩家拥有种子 被点击方块的上面是空气 把点击方块上面的方块设置为作物 然后不要忘了移除玩家的种子,不然他们就有免费作物了:D on right click on soil holding a hoe: player has seeds block above the clicked block is air set block above the clicked block to crops remove seeds from player 当手持锄头右击方块时: 玩家拥有种子 被点击方块的上面是空气 把点击方块上面的方块设置为作物 移除玩家的种子 最后一件事是把你的脚本储存到 ./plugins/Skript/scripts 里,你可以取任何名字。 但请不要以 - 号打头,因为这会使脚本无法读取。 文件的扩展名必须是 .sk ,例如,你可以把这个脚本储存为 hoe.sk 现在开启你的服务器[可能是测试的],检查后台有无错误信息,如果有,尝试修复。 然后登入服务器测试脚本查看是不是都可以运行。 如果你测试完毕,你可以上传到你的主服务器让玩家使用了。 你也可以使用 /sk reload 脚本名称 来使脚本重载。这方便你调试脚本,不要重启服务器。 所有的错误将会发送给使用指令的玩家。 如果后台使用,将发送给后台。 |
BukkitDev给出的教程材料
Skript的目标就是让不会语法的程序员们写他们自己的小插件[称之为脚本]。 我感觉这个目的渐渐的被人淡化因为人们也不会写脚本。 这个教程材料教写脚本的新人,如何让这个绝妙的插件在TA的服务器上工作。 [[http://njol.ch/projects/skript/doc 帮助文档]]解释了你服务器所需要的所有的脚本构成。 我不是这里单一的教程帖子了,我将会引用一些他们的东西。 这个插件在你自己编程的时候非常有用,你可以做你想做的东西,以及它不需要完美的语法。 帮助文档可以在这篇文章的最上方找到。 变量,循环,指令,条件和事件—— 你写脚本的时候,你最少要用到一个,甚至你可能都需要。 下面我会详细介绍每个是干什么的,什么时候用他们—— 事件 事件就是当一件事情发生的时候,例如玩家点击了一些东西,打出伤害,狗带,或一个怪物做了一些事情,甚至是环境自己改变。 这允许你做一些另外的事情——例如: on explode: cancel event 当爆炸时: 取消事件的发生 注意空格,事件后都有一个冒号。你可以用4个或8个空格译者从来没有试过8个,都是4个。 你不能使用tab或空格来换行。我偏向于使用tab来缩进因为我只需要点一次译者喜欢4个空格 因为这样语法感觉更好 真正的事件其实非常简单。当一个爆炸发生,取消它。 这能很好地防止TNT 苦力怕的爆炸,甚至防止末影龙。 记住这个会真正的取消爆炸,就是玩家也不会受到伤害。 所以这个脚本非常简单,你可以简单的变换结局。 例如杀死服务器上的所有玩家这个人怎么想的=-= [size]条件[size] 条件是任何脚本的基础。他们是执行下一部分的条件代码。一个权限示例如下—— on rightclick: player has permission "skript.boom" create explosion with force 3 at targeted block 当右键时: 玩家拥有"skript.boom"权限 在指向方块处创造力量为3的爆炸 这会创建一个比TNT更小的爆炸,但只会在玩家拥有对应权限时工作。 条件能被用来检查玩家是否拥有物品,或牌子上写的东西。 你甚至可以用多个条件来限制效果。 on rightclick: block is a sign line 1 of sign is "[Shop]" player has permission "skript.shop" player has 2 gold nuggets remove 2 gold nuggets from player give player 1 bread message "<light green>You bought a bread." 在这个脚本中玩家必须右击一个第一行为[Shop]的牌子,拥有权限,2个金粒,然后才能有效果。 指令 每个服务器的管理员都知道指令,这是你运营服务器的方式。 Skript允许你自己自定义指令。这些命令与事件写法大体相似,除了事件需要被你自定义。 这个事件简单的版本是通过玩家输入指令来自定义效果。如果想获取更好的想法,看我下面的例子。 command /hi: permission: skript.hi trigger: message "hi" 这个简单的命令给发送/hi的玩家发送消息。第一行是事件。首先我们说要自定义一个命令,然后我们写什么命令。 然后我们给它一个权限和使用方法。最后,我们增加触发器,使我们想要指令做的事情。 你可以看网页提及的自定义命令的部分。 你也可以做一些可以获取信息的指令,或者指定被作用效果的玩家。看下面的指令: command /hi <player>: permission: skript.hi trigger: send "hi" to argument 这个命令和之前一样发送同样的消息,但这次将会发送给别的玩家。 我们使用这个发送效果的原因是因为消息效果只发送消息给事件中的玩家,而不是输入指令的玩家。 有了发送效果,我们就能够给别的玩家发送信息了。 argument是指令中的玩家,所以当你使用/hi demon_penguin时,将会给 demon_penguin 发送hi。 同时你也可以查看网页来了解更多关于自定义命令的信息。 循环 循环任务可以用来完成复杂的任务。例如如果你想检测在你附近是不是有个箱子,你可能要检测你周围所有的方块来查看它是不是箱子。这可以用一个简单的循环解决—— command /chest: trigger: loop blocks in radius 3 around player: loop-block is a chest message "There is a chest at %location of loop-block%" 牌子上的变量会取代它的文本。这里有 x y z三个变量来代替 %location of loop-block%。 循环代码的一部分是任何方块的循环检查。 循环将会在玩家3格半径的范围内寻找箱子 因为我们在用一个自定义指令,我们可以增加寻找的范围和arguments来允许玩家选择距离。 command /chest <integer=3>: trigger: loop blocks in radius argument around player: loop-block is a chest message "There is a chest at %location of loop-block%" 这里我们为指令设置了默认值,如果在玩家没有选择的情况下为3.在循环表达中我们将argument代替了数字。 这意味着无论你输入什么数字,指令都会把其读取。如果没有输入数字,3将会成为默认值。 如果你想要看精确的半径的话,做一个圆球脚本,你就能看见尺寸了。 command /sphere <integer=3>: trigger: loop blocks in radius argument around player: loop-block is air set loop-block to stone set {clear.block} to location of player set {clear.radius} to argument command /clear: trigger: loop blocks in radius {clear.radius} around {clear.block}: loop-block is stone set loop-block to air /clear指令将会轻松删掉你设置的圆球。同样因为你在圆球的中心,你要想一个让自己出去的方法。 这个指令可能会对地面造成一些伤害,所以请飞行来使用。 {}中的东西叫做变量,下节会说到。如果你想了解更多关于循环的知识请看帮助文档。 变量 变量是用来在名字下储存数据的。它像一个盒子上的标签,如果你想要知道盒子里的信息,只要找到正确的标签就可以。Skript的变量就是这样。你可以像这样储存变量: set {variable.name.goes.here} to true 变量值可以是true/false ,一个坐标,或数字。这样的原因是我们可以晚些获得这个信息。所以也许我们可以检查玩家是否输入过指令,我们可以这样做: command /sethome: trigger: set {home} to location of player command /home: trigger: teleport player to {home} 你的变量必须用{}括起来,因为这才能告诉Skript这是一个变量。上面是一个非常简单的家园脚本。 我们记录玩家的位置在一个叫做{home}的'盒子'里。当玩家输入/home时因为有变量所以我们知道把玩家传送去哪里。这不会把变量清除,它更偏向于只读类型。 即读取后放回原处。但在你写脚本中,你必须思考用户可能出错的方式。 例如玩家并没有设置他的家,那么在用/home后会发生什么?他们会被传送到哪里? 这你需要使用if来检测。检测是否有一些错误,如果没有,再继续执行脚本。 上面的脚本并不会给玩家发送信息,所以你需要自己创建—— command /sethome: trigger: set {home} to location of player command /home: trigger: if {home} is not set: message "<red>You need to set a home first!" stop trigger teleport player to {home} 现在当玩家尝试用/home时他们会受到错误提示并且剩下的脚本不会运行。 如果你忘记停止脚本,剩下的事件将照常继续运行。同时如果同时如果if判断的是false,那么剩下的代码便不会运行,玩家也收不到错误消息。 现在我们这个脚本主要的问题是当一个人/sethome后,另一个人使用/home可以直接到达这个位置。 然后在另一个人设置家后,便会覆盖前一个人家的记录。 修复它的方法是使用表达式。这些可以读取触发事件的人。 在这样输入指令后,会记录谁输入的指令。 所以让每个人都有不同的家,我们其实可以用玩家的名字作为变量。例如这样—— command /sethome: trigger: set {home.%player%} to location of player command /home: trigger: if {home.%player%} is not set: message "<red>You need to set a home first!" stop trigger teleport player to {home.%player%} 现在玩家的名字在变量中了,所以当检测是否存在时,对我将会检测{home.demon_penguin},对别人将会检测 {home.whateveryouruseernameis}。 在这个脚本中每个人都会有他们自己家的位置了。 注意事项 记住你学到的命令部分下所有的东西,都可以使用在任何触发器中。 这其中包括许多事件。 如果你想了解更多,看帮助文档吧下面的内容。 如果你关于我说的有任何疑问,或要寻求帮助等,请在这里发帖 [[http://dev.bukkit.org/server-mods/skript/forum/help/ 传送点]] -Demon 原作者 -c7w 翻译者 |
本帖最后由 1345979462 于 2016-8-20 14:29 编辑
WIKI帮助文档
总帮助
高级语法
条件
循环
事件
下面的列表内容是你可以开始一个触发器的事件。
每个触发器只能有一个事件,你不能在给出的语法外自行创造事件。
请注意每个事件前面的on都是完全可选的,不过我加上会感觉更好:D
请注意如果事件只有一种触发方式的话就没有例子。
条件
效果
WIKI帮助文档
总帮助
写Skript触发器并不比描述它的条件更难。 因为许多你想做的事情都与事件,例如放置方块,拉动拉杆开关,所有的触发器在触发时都被自定义。 这叫做触发器的事件。无论事件什么时候产生 , 例如当一个玩家放置一个方块,插件将会依次检测触发器的条件.如果满足所有触发条件,触发器将执行. 下面是一个单一事件,条件,效果的简单例子: # 第一行就是事件: on place of sand: # condition: block below is air # effect: send "Watch the sand falling!" to player 这样你就领会了这个事件是干嘛的——检测放了沙子的玩家,然后如果下面是空气,就会有发送消息。 若要写触发器,新建一个文件,然后把它保存到 Skript/scripts/ directory /‘名字.sk’, 如 ‘plant with hoe.sk’. 你可以使用任意名,但最好与内容有关。 然后你需要重启你的服务器或使用 /skript reload 来使这个触发器工作。 如果你是重启服务器,检查有无错误。如果使用指令,若有错误会直接发送给你。 一般来说如果你得到许多错误信息应该是表明无法读取你的信息,并且一般会告诉你哪儿错了。如果你是得到这种报错 can't understand '...' or '...' is not a(n) ... 检查你的拼写。 你可以继续阅读以获取所有事件 条件 效果。 如果你需要帮助请去论坛反馈。一般在反馈前请仔细阅读本帮助文献,它一般可以回答你的问题。 你也可以看看别人的教程,如果我的教程不适合你的话。 |
高级语法
Skript的高级语法并不限制于简单的陈述,但比这个更复杂 若要使 ‘tool of …’ 或 ‘block below/north of/above …’ 可能,你要使用表达式,请继续向下阅读。 有时触发器语法的基本语法也比较高级。以下章节包括这些特殊情况。 |
条件
| 一个很棒的特性是条件陈述。这样的陈述是触发器的一部分,但只有当主部分满足时才会被检查,像这样—— 主条件[又称事件]: 条件 条件满足继续执行 满足条件后可以继续缩进 你也可以使用else: 来在不满足条件的情况下使用—— 如下 on login: chance of 50%: give a cake to the player send "You got a gift for logging in =)" to the player else: send "You were not fortunate enough to get a gift this time. Try again next time!" to the player 这个脚本会在玩家登入的时候有几率给予玩家一个蛋糕,但如果没有接收到会给玩家说他们不够幸运。 |
循环
| 循环可以减少触发器内的重复任务,当前来说可以循环的东西还是很少,如变量,物品,方块,玩家。 循环很简单,这就是格式 要循环的值: 关于这个值做一些是 条件在循环中不同,如果条件没有满足,会跳过条件继续执行下面的代码。如果你想停止执行,请这样使用——
|
事件
下面的列表内容是你可以开始一个触发器的事件。
每个触发器只能有一个事件,你不能在给出的语法外自行创造事件。
请注意每个事件前面的on都是完全可选的,不过我加上会感觉更好:D
请注意如果事件只有一种触发方式的话就没有例子。
| At time 模型: at %time% [in %worlds%] 加入的版本: 1.3.4 关于Minecraft中所有/任一世界的时间 示例: at 18:00 at 7am in "world" On Bed Enter 模型: [on] bed enter[ing] [on] [player] enter[ing] [a] bed 加入的版本: 1.0 当玩家上床时 On Bed Leave 模型: [on] bed leav(e|ing) [on] [player] leav(e|ing) [a] bed 加入的版本: 1.0 当玩家离开床 On Block Damage 模型: [on] block damage 加入的版本: 1.0 当玩家开始打方块,你可以用来探测左键 On Break / Mine 模型: [on] [block] (min(e|ing)) [[of] %item types%] 加入的版本: 1.0 (break), unknown (mine) 当方块被玩家破坏。如果使用on mine的话,只有掉落东西才会触发触发器。 示例: on mine on break of stone on mine of any ore On Bucket Empty 模型: [on] bucket empty[ing] [on] [player] empty[ing] [a] bucket 加入的版本: 1.0 当玩家把桶里的东西倒出,可以检测水和岩浆的放置事件。 On Bucket Fill 模型: [on] bucket fill[ing] [on] [player] fill[ing] [a] bucket 加入的版本: 1.0 当玩家在桶里装东西,可以检测水和岩浆的破坏事件。 On Burn 模型: [on] [block] burn[ing] [[of] %item types%] 加入的版本: 1.0 当方块被火燃烧 示例: on burn on burn of wood, fences, or chests On Can Build Check 模型: [on] [block] can build check 加入的版本: 1.0 (基础), 2.0 (可以取消事件发生) 当玩家手持一个方块或能防止的物品时右击方块被触发。你可以取消这个事件,来防止方块被放置。 只支持物品ID的检查,不允许数据值 On Chat 模型: [on] chat 加入的版本: 1.4.1 当玩家聊天时. On Chunk Generate 模型: [on] chunk (generat|populat)(e|ing) 加入的版本: 1.0 当区块被创建 On Chunk Load 模型: [on] chunk load[ing] 加入的版本: 1.0 当区块读取 On Chunk Unload 模型: [on] chunk unload[ing] 加入的版本: 1.0 当区块被卸载,可以取消事件 On Click 模型: [on] [(right|left)[( |-)]][mouse[( |-)]]click[ing] [on %entity type/item type%] [(with|using|holding) %item type%] [on] [(right|left)[( |-)]][mouse[( |-)]]click[ing] (with|using|holding) %item type% on %entity type/item type% 加入的版本: 1.0 当玩家空手点击方块、空气和实体 在玩家没有看向方块/手拿东西时是无法检测的 示例: on click on rightclick holding a fishing rod on leftclick on a stone or obsidian on rightclick on a creeper on click with a sword On Combust 模型: [on] combust[ing] 加入的版本: 1.0 当实体开始燃烧 On Command 模型: [on] command [%text%] 加入的版本: 2.0 当玩家输入一个指令 使用这个事件不如自定义命令,改变权限的方式不能预防某些指令,记录命令,检测其他插件。 示例: on command on command "/stop" on command "pm Njol " On Connect 模型: [on] [player] connect[ing] 加入的版本: 2.0 当玩家连接服务器,这在玩家加入服务器之前运行。 示例: on connect: player doesn't have permission "VIP" number of players is larger than 20 kick the player due to "The last 5 slots are reserved for VIP players." On Consume 模型: [on] [player] ((eat|drink)[ing]|consum(e|ing)) [[of] %item types%] 加入的版本: 2.0 当玩家吃/喝一些东西 On Craft 模型: [on] [player] craft[ing] [[of] %item types%] 加入的版本: unknown 当玩家合成物品 On Creeper Power 模型: [on] creeper power 加入的版本: 1.0 当苦力怕被充能 On Damage 模型: [on] damag(e|ing) [of %entity type%] 加入的版本: 1.0 当实体接受攻击 示例: on damage on damage of a player On Death 模型: [on] death [of %entity types%] 加入的版本: 1.0 实体死亡 示例: on death on death of player on death of a wither or ender dragon: broadcast "A %entity% has been slain in %world%!" On Dispense 模型: [on] dispens(e|ing) [[of] %item types%] 加入的版本: unknown 发射器发射物品 On Drop 模型: [on] [player] drop[ing] [[of] %item types%] 加入的版本: unknown 玩家扔掉物品 On Enderman/Sheep 模型: [on] enderman place [on] enderman pickup [on] sheep eat 加入的版本: unknown 末影人搬运方块/羊吃草 On Experience Spawn 模型: [on] [e]xp[erience] [orb] spawn [on] spawn of [a[n]] [e]xp[erience] [orb] 加入的版本: 2.0 当经验值生成时,不能检测其他插件生成的经验。 示例: on xp spawn: world is "minigame_world" cancel event On Explode 模型: [on] explo(d(e|ing)|sion) 加入的版本: 1.0 当发生爆炸时 On Explosion Prime 模型: [on] explosion prime 加入的版本: 1.0 爆炸前的准备 On Fade 模型: [on] [block] fad(e|ing) [[of] %item types%] 加入的版本: 1.0 融化 示例: on fade of snow or ice On First Join 模型: [on] first (join|login) 加入的版本: 1.3.7 玩家第一次加入游戏 On Fishing 模型: [on] [player] fish[ing] 加入的版本: 1.0 玩家钓到了一些东西 On Flow pre><模型: [on] [block] flow[ing] [on] block mov(e|ing) 加入的版本: 1.0 液体流动[/code] On Form 模型: [on] [block] form[ing] [[of] %item types%] 加入的版本: 1.0 当一个不是玩家放置的方块创建[下雪,结冰] 示例: on form of snow on form of a mushroom On Fuel Burn 模型: [on] fuel burn[ing] 加入的版本: 1.0 熔炉的燃料开始烧 On Gamemode Change 模型: [on] game[ ]mode change [to %gamemode%] 加入的版本: 1.0 玩家切换游戏模式 示例: on gamemode change on gamemode change to adventure On Grow 模型: [on] grow [of %tree type%] 加入的版本: 1.0 树/蘑菇长大 示例: on grow on grow of a tree on grow of a huge jungle tree On Heal 模型: [on] heal[ing] 加入的版本: 1.0 实体被治疗 On Hunger Meter Change 模型: [on] (food|hunger) (level|met(er|re)|bar) chang(e|ing) 加入的版本: 1.4.4 当玩家的饥饿值改变 On Ignition 模型: [on] [block] ignit(e|ion) 加入的版本: 1.0 方块被燃烧 On Item Break 模型: [on] [player] tool break[ing] [on] [player] break[ing] [(a|the)] tool 加入的版本: 2.1.1 玩家的工具没耐久,自然损坏[这个不能被取消事件] On Item Spawn 模型: [on] item spawn[ing] [[of] %item types%] 加入的版本: unknown 当有掉落物生成 On Join 模型: [on] [player] (login|logging in|join[ing]) 加入的版本: 1.0 当玩家加入游戏 示例: on join: message "Welcome on our awesome server!" broadcast "%player% just joined the server!" On Kick 模型: [on] [player] (kick|being kicked) 加入的版本: 1.0 当一个玩家被T出游戏 On Leaves Decay 模型: [on] leaves decay[ing] 加入的版本: 1.0 树叶消失 On Level Change 模型: [on] [player] level [change] 加入的版本: unknown 玩家等级改变 On Lightning Strike 模型: [on] lightning [strike] 加入的版本: 1.0 发生闪电 On Move On 模型: [on] (step|walk)[ing] (on|over) %*item types% 加入的版本: 2.0 玩家踩上指定方块 示例: on walking on dirt or grass on stepping on stone On Physics 模型: [on] [block] physics 加入的版本: 1.4.6 物理变化 示例: # prevents sand from falling on block physics: block is sand cancel event On Pick Up 模型: [on] [player] (pick[ ]up|picking up) [[of] %item types%] 加入的版本: unknown 玩家捡起物品 On Pig Zap 模型: [on] pig[ ]zap 加入的版本: 1.0 猪变成僵尸猪人 On Piston Extend 模型: [on] piston extend[ing] 加入的版本: 1.0 当活塞被激活 On Piston Retract 模型: [on] piston retract[ing] 加入的版本: 1.0 当活塞收回 On Place 模型: [on] [block] (plac(e|ing)|build[ing]) [[of] %item types%] 加入的版本: 1.0 放置方块 示例: on place on place of a furnace, workbench or chest On Portal 模型: [on] [player] portal 加入的版本: 1.0 使用地狱门/末地门 On Portal Create 模型: [on] portal create 加入的版本: 1.0 当传送门被创建. On Portal Enter 模型: [on] portal enter [on] entering [a] portal 加入的版本: 1.0 玩家进入传送门 On Pressure Plate / Trip 模型: [on] [step[ping] on] [a] [pressure] plate [on] (trip|[step[ping] on] [a] tripwire) 加入的版本: 1.0 (pressure plate), 1.4.4 (tripwire) 压力板 On Projectile Hit 模型: [on] projectile hit 加入的版本: 1.0 当发射物击中实体或方块[箭 雪球 骷髅头 火球 鸡蛋] On Quit 模型: [on] (quit[ting]|disconnect[ing]|log[ ]out|logging out) 加入的版本: 1.0 当玩家离开游戏 On Redstone 模型: [on] redstone [current] [chang(e|ing)] 加入的版本: 1.0 红石流通 On Region Enter/Leave 模型: cannot be used directly 加入的版本: 2.1 进入/离开区域[需要区域插件] 示例: on region exit: message "Leaving %region%." On Respawn 模型: [on] [player] respawn[ing] 加入的版本: 1.0 当玩家重生时 On Script Load/Unload 模型: [on] [script] (load|init|enable) [on] [script] (unload|stop|disable) 加入的版本: 2.0 当脚本被读取/卸载 示例: on load: set {running.%script%} to true on unload: set {running.%script%} to false On Shoot 模型: [on] [projectile] shoot 加入的版本: 1.0 当一个发射物被发射 On Sign Change 模型: [on] sign (chang[e]|edit)[ing] [on] [player] (chang[e]|edit)[ing] [a] sign 加入的版本: 1.0 牌子被玩家结束编辑 示例: on sign change: line 2 is empty set line 1 to "<red>%line 1%" On Skript Start/Stop 模型: [on] (server|skript) (start|load|enable) [on] (server|skript) (stop|unload|disable) 加入的版本: 2.0 当插件被读取/卸载 示例: on Skript start on server stop On Smelt 模型: [on] [ore] smelt[ing] [on] smelt[ing] of ore 加入的版本: 1.0 当熔炉开始烧炼矿物 On Sneak Toggle 模型: [on] [player] toggl(e|ing) sneak [on] [player] sneak toggl(e|ing) 加入的版本: 玩家是否潜行 示例: # make players that stop sneaking jump on sneak toggle: player was sneaking push the player upwards at speed 0.5 On Spawn 模型: [on] spawn[ing] [of %entity types%] 加入的版本: 1.0 当一个实体生成 示例: on spawn of a zombie on spawn of an ender dragon: broadcast "A dragon has been sighted in %world%!" On Spawn Change 模型: [on] [world] spawn change 加入的版本: 1.0 当世界的重生点被切换 On Spread 模型: [on] spread[ing] 加入的版本: 1.0 当一个新方块生成,原方块可以传播,例如蘑菇和水 On Sprint Toggle 模型: [on] [player] toggl(e|ing) sprint [on] [player] sprint toggl(e|ing) 加入的版本: unknown 当玩家切换疾跑状态 On Tame 模型: [on] [entity] tam(e|ing) 加入的版本: 1.0 当玩家驯服狼/豹猫 On Target 模型: [on] [entity] target [on] [entity] un[-]target 加入的版本: 1.0 当怪物锁定一个实体进行攻击 On Teleport 模型: [on] [player] teleport[ing] 加入的版本: 1.0 当玩家被传送 On Throwing of an Egg 模型: [on] throw[ing] [of] [an] egg [on] [player] egg throw 加入的版本: 1.0 当玩家扔鸡蛋 On Tool Change 模型: [on] [player['s]] (tool|item held|held item) chang(e|ing) 加入的版本: 1.0 当玩家的工具切换 On Vehicle Create 模型: [on] vehicle create [on] creat(e|ing|ion of) [a] vehicle 加入的版本: 1.0 当一个载具被创建. On Vehicle Damage 模型: [on] vehicle damage [on] damag(e|ing) [a] vehicle 加入的版本: 1.0 载具被攻击 On Vehicle Destroy 模型: [on] vehicle destroy [on] destr(oy[ing]|uction of) [a] vehicle 加入的版本: 1.0 载具被摧毁 On Vehicle Enter 模型: [on] vehicle enter [on] enter[ing] [a] vehicle 加入的版本: 1.0 实体进入载具 On Vehicle Exit 模型: [on] vehicle exit [on] exit[ing] [a] vehicle 加入的版本: 1.0 实体离开载具 On Weather Change 模型: [on] weather change [to %weather types%] 加入的版本: 1.0 一个世界的天气被切换 示例: on weather change on weather change to sunny On World Init 模型: [on] world init 加入的版本: 1.0 一个新的世界被创建 On World Load 模型: [on] world load[ing] 加入的版本: 1.0 世界被加载 On World Save 模型: [on] world sav(e|ing) 加入的版本: 1.0 世界被存储 On World Unload 模型: [on] world unload[ing] 加入的版本: 1.0 世界被卸载 On Zombie Break Door 模型: [on] zombie break[ing] [a] [wood[en]] door 加入的版本: unknown 僵尸破坏门 Periodical 模型: every %time span% in [worlds] %worlds% 加入的版本: 1.0 每隔一定的现实时间 示例: every second every minecraft hour every tick # 警告:卡的一比 every minecraft day in "world" |
条件
Can Build 模型: 不能直接使用 加入的版本: 2.0 检测玩家是否可以在区域中放置方块,需要一个区域插件 示例: command /setblock <material>: description: set the block at your crosshair to a different type trigger: player cannot build at the targeted block: message "You do not have permission to change blocks there!" stop set the targeted block to argument Can Hold 模型: %inventories% (can hold|ha(s|ve) [enough] space (for|to hold)) %item types% %inventories% (can(no|')t hold|(ha(s|ve) not|ha(s|ve)n't|do[es]n't have) [enough] space (for|to hold)) %item types% 加入的版本: 1.0 检测玩家的背包或箱子是否有足够的空间 示例: block can hold 200 cobblestone player has enough space for 64 feathers Chance 模型: chance of %number%[\%] 加入的版本: 1.0 脚本成功或失败的几率 示例: chance of 50%: drop a diamond chance of {var}% # {var} between 0 and 100 chance of {var} # {var} between 0 and 1 Comparison 模型: [neither] %objects% ((is|are) ((greater|more|higher|bigger|larger) than|above)|>) %objects% [neither](neither)|isn't|aren't) ((less|smaller) than|below)|>=) %objects% [neither] %objects% ((is|are) ((less|smaller) than|below)|<) %objects% [neither](neither)|isn't|aren't) ((greater|more|higher|bigger|larger) than|above)|<=) %objects% [neither](neither)|isn't|aren't|!=) [equal to] %objects% [neither] %objects% (is|are|=) [(equal to|the same as)] %objects% [neither] %objects% (is|are) between %objects% and %objects% [neither](is not|are not|isn't|aren't) between %objects% and %objects% 加入的版本: 1.0 非常常规的脚本,比较两量关系。通常你可以使用平等(如 block is/isn't of <type>), 但一些值可以使用更多/更少。 在这种情况下,你也可以测试一个对象是否在两个其他量之中。 注意:这只是一些形式。事实上,另外两套类似的模式,但(was|were)或将代替(is|are)分别检测不同时间状态的表达。 示例: the clicked block is a stone slab or a double stone slab time in the player's world is greater than 8:00 the creature is not an enderman or an ender dragon Contains 模型: %inventories% ha(s|ve) %item types% [in [(the[ir]|his|her|its)] inventory] %inventories/texts/objects% contains %item types/texts/objects% %inventories% do[es](n't| not) have %item types% [in [(the[ir]|his|her|its)] inventory] %inventories/texts/objects% do[es](n't| not) contain %item types/texts/objects% 加入的版本: 1.0 检查有无物品,一段对话有无一些字,或列出变量表是否包含某变量。 示例: block contains 20 cobblestone player has 4 flint and 2 iron ingots Damage Cause 模型: [the] damage [(n('|o)]t) [been] (caused|done|made) by %damage cause% 加入的版本: 2.0 检查是什么造成的伤害,来源可以查看变量表。 示例: # make players use their potions of fire resistance whenever they take any kind of fire damage on damage: damage was caused by lava, fire or burning victim is a player victim has a potion of fire resistance cancel event apply fire resistance to the victim for 30 seconds remove 1 potion of fire resistance from the victim # prevent mobs from dropping items under certain circumstances on death; entity is not a player damage wasn't caused by a block explosion, an attack, a projectile, a potion, fire, burning, thorns or poison clear drops Exists/Is Set 模型: %~objects% (exists|(is|are) set) %~objects% (do[es](n't| not) exist|(is|are)(n't| not) set) 加入的版本: 1.2 检查一个表达式是否被创建 示例: {teamscript.%player%.preferred team} is not set on damage: projectile exists broadcast "%attacker% used a %projectile% to attack %victim%!" Has Permission 模型: [%players/console%] (do[es]n't|don't|do[es] not) have [the] permissions %texts% [%players/console%] ha(s|ve) [the] permissions %texts% 加入的版本: 1.0 检查玩家有无权限 示例: player has permission "skript.tree" victim has the permission "admin": send "You're attacking an admin!" to attacker Has Played Before 模型: %offline player% [(has|did)] [already] play[ed] [on (this|the) server] (before|already) %offline player% (has not|hasn't|did not|didn't) [(already|yet)] play[ed] [on (this|the) server] (before|already|yet) 加入的版本: 1.4 检查玩家之前是否玩过游戏 示例: player has played on this server before player hasn't played before Is Alive 模型: %living entities% (alive|dead) %living entities% (alive|dead) 加入的版本: 2.0 检查实体是否存活 示例: {villagerbuddy.%player%} is dead Is Banned 模型: %offline players/texts% (is|are) banned %players/texts% [(is|are) IP(-| )]banned %offline players/texts% (isn't|is not|aren't|are not) banned %players/texts% [(isn't|is not|aren't|are not) IP(-| )]banned 加入的版本: 1.4 检查一个玩家或IP是否被BAN掉 示例: player is banned victim is not IP-banned "127.0.0.1" is banned Is Blocking 模型: %players% (is|are) (blocking|defending) %players% (isn't|is not|aren't|are not) (blocking|defending) 加入的版本: unknown 检查玩家是否在格挡 示例: victim is blocking Is Burning 模型: %entities% (is|are) (burning|ignited|on fire) %entities% (isn't|is not|aren't|are not) (burning|ignited|on fire) 加入的版本: 1.4.4 检查实体是否在燃烧 示例: # increased attack against buring targets victim is burning: increase damage by 2 Is Empty 模型: %inventories/slots/texts% (is|are) empty %inventories/slots/texts% (isn't|is not|aren't|are not) empty 加入的版本: unknown 检查物品栏/装备栏/文本是空的 示例: player's inventory is empty Is Enchanted 模型: %item types% (is|are) enchanted [with %enchantment type%] %item types% (isn't|is not|aren't|are not) enchanted [with %enchantment type%] 加入的版本: 1.4.6 检查物品有无附魔 示例: tool of the player is enchanted with efficiency 2 helm, chestplate, leggings or boots are enchanted Is Flying 模型: %players% (is|are) flying %players% (isn't|is not|aren't|are not) flying 加入的版本: 1.4.4 检查玩家飞行 示例: player is not flying Is Holding 模型: [%living entities%] ha(s|ve) %item types% in hand [%living entities%] (is|are) holding %item types% [%living entities%] (ha(s|ve) not|do[es]n't have) %item types% in hand [%living entities%] (is not|isn't) holding %item types% 加入的版本: 1.0 检查玩家是否持有特定物品。不能在末影人上使用,请使用'entity is [not] an enderman holding <item type>' 示例: player is holding a stick victim isn't holding a sword of sharpness Is in World 模型: %entities% (is|are) in [[the] worlds] %worlds% %entities% (is not|isn't|are not|aren't) in [[the] worlds] %worlds% 加入的版本: 1.4 检查玩家是否在世界里 示例: player is in "world" argument isn't in world "world_nether" the attacker is in the world of the victim Is Member/Owner of Region 模型: 不能直接使用 加入的版本: 2.1 检查玩家是否为这个区域的成员或主人,需要一个区域插件。 示例: on region enter: player is the owner of the region message "Welcome back to %region%!" send "%player% just entered %region%!" to all members of the region Is of Type 模型: %item stacks/entities% (is|are) of types %item types/entity types% %item stacks/entities% (isn't|is not|aren't|are not) of types %item types/entity types% 加入的版本: 1.4 检查物品或实体是否为给定的类型。这经常对变量很有效,你也可以用is来代替。(如. 'victim is a creeper'). 示例: tool is of type {*selected type} victim is of type {villager type} Is Online 模型: %offline players% ((is|are) online|(is not|isn't|are not|aren't) offline) %offline players% ((is|are) offline|(is not|isn't|are not|aren't) online) 加入的版本: 1.4 检查玩家是否在线 示例: player is online player-argument is offline Is Poisoned 模型: %living entities% (is|are) poisoned %living entities% (isn't|is not|aren't|are not) poisoned 加入的版本: 1.4.4 检测实体是否中毒 示例: player is poisoned: cure the player from posion message "You have been cured!" Is Riding 模型: %entities% (is|are) riding [%entity types%] %entities% (isn't|is not|aren't|are not) riding [%entity types%] 加入的版本: 2.0 检查实体有无骑着其他实体 示例: player is riding a saddled pig Is Sleeping 模型: %players% (is|are) sleeping %players% (isn't|is not|aren't|are not) sleeping 加入的版本: 1.4.4 检查玩家是否在睡觉 示例: # cut your enemies' throats in their sleep >=) on attack: attacker is holding a sword victim is sleeping increase the damage by 1000 Is Sneaking 模型: %players% (is|are) sneaking %players% (isn't|is not|aren't|are not) sneaking 加入的版本: 1.4.4 检测玩家是否在潜行 示例: # prevent mobs from seeing sneaking players if they are at least 4 meters apart on target: target is sneaking distance of target and the entity is bigger than 4 cancel the event Is Sprinting 模型: %players% (is|are) sprinting %players% (isn't|is not|aren't|are not) sprinting 加入的版本: 1.4.4 检查玩家是否在疾跑 示例: player is not sprinting Is Wearing 模型: %living entities% (is|are) wearing %item types% %living entities% (isn't|is not|aren't|are not) wearing %item types% 加入的版本: 1.0 Checks whether a player is wearing some armour. 示例: player is wearing an iron chestplate and iron leggings player is wearing all diamond armour PvP 模型: (is PvP|PvP is) enabled [in %worlds%] (is PvP|PvP is) disabled [in %worlds%] 加入的版本: 1.3.4 检查PVP状态 示例: PvP is enabled PvP is disabled in "world" Region Contains 模型: 不能直接使用 加入的版本: 2.1 区域中有XXX,必须有区域插件 示例: player is in the region {regions::3} on region enter: region contains {flags.%world%.red} message "The red flag is near!" Time 模型: %date% (was|were)( more|(n't| not) less) than %time span% [ago] %date% (was|were)((n't| not) more| less) than %time span% [ago] 加入的版本: 2.0 给予变量时间 示例: command /command_with_cooldown: trigger: {command.%player%.lastused} was less than a minute ago: message "Please wait a minute between uses of this command." stop set {command.%player%.lastused} to now # ... actual command trigger here ... Weather 模型: is %weather types% [in %worlds%] 加入的版本: 1.0 检查世界的天气 示例: is thundering is raining in "world" or "world2" |
效果
| Ban 模型: ban %texts/offline players% [(by reason of|because [of]|on account of|due to) %text%] unban %texts/offline players% ban %players% by IP [(by reason of|because [of]|on account of|due to) %text%] unban %players% by IP IP(-| )ban %players% [(by reason of|because [of]|on account of|due to) %text%] (IP(-| )unban|un[-]IP[-]ban) %players% 加入的版本: 1.4, 2.1.1 (ban reason) BAN掉玩家或IP 必须满足Skript 2.1.1及Bukkit 172 R0.4以上,可以使用原因来ban出玩家。 如果是一个不支持的原因[如没有创建的变量],玩家仍旧会被BAN,但会使用默认原因。 示例: unban player ban "127.0.0.1" IP-ban the player because "he is an idiot" Broadcast 模型: broadcast %texts% [(to|in) %worlds%] 加入的版本: 1.0 在服务器公告内容 示例: broadcast "Welcome %player% to the server!" broadcast "Woah! It's a message!" Cancel Event 模型: cancel [the] event uncancel [the] event 加入的版本: 1.0 取消事件的发生 示例: on damage: victim is a player victim has the permission "skript.god" cancel the event Change: Set/Add/Remove/Delete/Reset 模型: (add|give) %objects% to %~objects% increase %~objects% by %objects% give %~objects% %objects% set %~objects% to %objects% remove (all|every) %objects% from %~objects% (remove|subtract) %objects% from %~objects% reduce %~objects% by %objects% (delete|clear) %~objects% reset %~objects% 加入的版本: 1.0 (set, add, remove, delete), 2.0 (remove all) 改变表达式,非常常规的效果 示例: # set: Set the player's display name to "<red>%name of player%" set the block above the victim to lava # add: add 2 to the player's health # preferably use '<a href='#heal'>heal</a>' for this add argument to {blacklist::*} give a diamond pickaxe of efficiency 5 to the player increase the data value of the clicked block by 1 # remove: remove 2 pickaxes from the victim subtract 2.5 from {points.%player%} # remove all: remove every iron tool from the player remove all minecarts from {entitylist::*} # delete: delete the block below the player clear drops delete {variable} # reset: reset walk speed of player reset chunk at the targeted block Colour Armour 模型: (dye|colour|paint) %slots/item stack% %color% (dye|colour|paint) %slots/item stack% (%number%, %number%, %number%) 加入的版本: 2.0 给当前装备染色,你可以使用RGB代码。 示例: dye player's helmet blue colour the player's tool red Command 模型: [execute] [the] command %texts% [by %players/console%] [execute] [the] %players/console% command %texts% (let|make) %players/console% execute [[the] command] %texts% 加入的版本: 1.0 使用指令 示例: make player execute command "/suicide" execute console command "/say Hello everyone!" Damage/Heal/Repair 模型: damage %slots/living entities/item stack% by %number% [hearts] heal %living entities% [by %number% [hearts]] repair %slots/item stack% [by %number%] 加入的版本: 1.0 攻击/治疗/修复 示例: damage player by 5 hearts heal the player repair tool of player Delay 模型: (wait|halt) [for] %time span% 加入的版本: 1.4 等待一定的事件,不能作为tempban使用 示例: wait 2 minutes halt for 5 minecraft hours wait a tick Drop 模型: drop %item types/experience point% [%directions% %locations%] 加入的版本: 1.0 掉落一个或多个物品 示例: on death of creeper: drop 1 TNT Enchant/Disenchant 模型: enchant %~item stack% with %enchantment types% disenchant %~item stack% 加入的版本: 2.0 给物品附魔或解除附魔 示例: enchant the player's tool with sharpness 5 disenchant the player's tool Equip 模型: equip [%living entity%] with %item types% make %living entity% wear %item types% 加入的版本: 1.0 给玩家穿戴装备,会覆盖当前装备。 Skript 2.1 起怪物也能穿戴装备了,猪可以穿戴鞍,马可以穿戴鞍,马铠和箱子。 示例: equip player with diamond helmet equip player with all diamond armour equip the clicked horse with diamond horse armour and a saddle make the last spawned pig wear a saddle Exit 模型: (exit|stop) [trigger] (section|loop|conditional) (section|loop|conditional)s (section|loop|conditional)s 加入的版本: unknown 停止循环的触发器 示例: if player has any ore: stop message "%player% has no ores!" loop blocks above the player: loop-block is not air: exit 2 sections set loop-block to water Explosion 模型: [(create|make)] [an] explosion (of|with) (force|strength|power) %number% [%directions% %locations%] [(create|make)] [a] safe explosion (of|with) (force|strength|power) %number% [%directions% %locations%] [(create|make)] [a] fake explosion [%directions% %locations%] [(create|make)] [an] explosion[ ]effect [%directions% %locations%] 加入的版本: 1.0 用给出的力量制造爆炸。 力量是0时可以制造一场假爆炸,如第三行。 从 Bukkit 1.4.5 / Skript 2.0 开始你可以使用第二行,即安全爆炸,不会破坏方块。 示例: create an explosion of force 10 at the player create a fake explosion at the victim Ignite/Extinguish 模型: (ignite|set fire to) %entities% [for %time span%] (set|light) %entities% on fire [for %time span%] extinguish %entities% 加入的版本: 1.4 在实体上制造火焰/打雷 示例: ignite the player extinguish the player Kick 模型: kick %players% [(by reason of|because [of]|on account of|due to) %text%] 加入的版本: 1.0 把玩家从服务器踢出 示例: on place of TNT, lava, or obsidian: kick the player due to "You may not place %block%!" cancel the event Kill 模型: kill %entities% 加入的版本: 1.0 击杀一个或多个实体。 注意: 这个效果不是把实体的生命设置为0,并不会触发死亡消息,而且不会掉落物品,而是用它最大生命的100倍去伤害它。 示例: kill the player kill all creepers in the player's world kill all endermen, witches and bats Lightning 模型: [[ ]effect] %directions% %locations% 加入的版本: 1.4 在位置生成一道闪电 示例: strike lightning at the player strike lightning effect at the victim Log 模型: log %texts% [(to|in) [files] %texts%] 加入的版本: 2.0 写一个log文件。你可以在 /plugins/Skript/logs 里找到 使用 'server.log' 将如此记录 '[Skript] [<script>.sk] <message>' 示例: on place of TNT: log "%player% placed TNT in %world% at %location of block%" to "tnt/placement.log" Message 模型: (message|send [message]) %texts% [to %players/console%] 加入的版本: 1.0 发送消息 示例: message "A wild %player% appeared!" message "This message is a distraction. Mwahaha!" send "Your kill streak is %{kill streak.%player%}%." to player if the targeted entity exists: message "You're currently looking at a %type of the targeted entity%!" op/deop 模型: [de[-]]op %offline players% 加入的版本: 1.0 给予/拿走玩家的OP权限 示例: op the player deop all players Open Inventory 模型: [(open|show) ((crafting [table]|workbench) (view|window|inventory)]|%inventory%) (to|for) %players% close [the] inventory [view] (to|of|for) %players% close %players%'s inventory [view] 加入的版本: 2.0, 2.1.1 (closing) 为玩家打开背包 SHOW为不能移动东西 OPEN为可以移动 示例: show the victim's inventory to the player open the player's inventory for the player close the player's inventory Play Effect 模型: (play|show) %visual effects% (on|%directions%) %entities/locations% [to %players%] 加入的版本: 2.1 播放声音 示例: play wolf hearts on the clicked wolf show mob spawner flames at the targeted block to the player Poison/Cure 模型: poison %living entities% [for %time span%] (cure|unpoison) %living entities% [(from|of) poison] 加入的版本: 1.3.2 中毒 示例: poison the player poison the victim for 20 seconds cure the player from poison Potion Effects 模型: apply [potion of] %potions% [potion] [[[of] tier] %number%] to %living entities% [for %time span%] 加入的版本: 2.0 药水效果 示例: apply swiftness 2 to the player remove haste from the victim on join: apply potion of strength of tier {strength.%player%} to the player for 999 days Push 模型: (push|thrust) %entities% %direction% [(at|with) (speed|velocity|force) %number%] 加入的版本: 1.4.6 推开实体 示例: push the player upwards push the victim downwards at speed 0.5 PvP 模型: enable PvP [in %worlds%] disable PVP [in %worlds%] 加入的版本: 1.3.4 检测PVP状态 示例: enable PvP #(current world only) disable PvP in all worlds Replace 模型: replace [(all|every)] %texts% in %text% with %text% replace [(all|every)] %texts% with %text% in %text% 加入的版本: 2.0 把一些文本替换 示例: replace "<item>" in {textvar} with "%tool of player%" replace every "&" with "§" in line 1 # The following acts as a simple chat censor, but it will e.g. censor mass, hassle, assassin, etc. as well: on chat: replace all "fuc[k"<ref>这是译者为了过审而加的</ref>, "bit]c][h" and "ass" with "****" in the message Shear 模型: shear %living entities% un[-]shear %living entities% 加入的版本: 2.0 为羊剪羊毛,请注意不会掉落物品 示例: on rightclick on a sheep holding a sword: shear the clicked sheep Shoot 模型: shoot %entity types% [from %living entities/locations%] [(at|with) (speed|velocity) %number%] [%direction%] (make|let) %living entities/locations% shoot %entity types% [(at|with) (speed|velocity) %number%] [%direction%] 加入的版本: 1.4 从实体身上发射物品 示例: shoot an arrow make the player shoot a creeper at speed 10 shoot a pig from the creeper Spawn 模型: spawn %entity types% [%directions% %locations%] spawn %number% of %entity types% [%directions% %locations%] 加入的版本: 1.0 召唤一个实体 示例: spawn 3 creepers at the targeted block spawn a ghast 5 meters above the player Teleport 模型: teleport %entities% (to|%direction%) %location% 加入的版本: 1.0 传送实体到某个位置 示例: teleport the player to {homes.%player%} teleport the attacker to the victim Toggle 模型: (close|turn off|de[-]activate) %blocks% (toggle|switch) [[the] state of] %blocks% (open|turn on|activate) %blocks% 加入的版本: 1.4 切换某个方块的状态,如开门 示例: # use arrows to toggle levers, doors, etc. on projectile hit: projectile is arrow toggle the block at the arrow Tree 模型: (grow|create|generate) tree [of type %tree type%] %directions% %locations% (grow|create|generate) %tree type% [tree] %directions% %locations% 加入的版本: 1.0 生成树,需要有足够空间 示例: grow a tall redwood tree above the clicked block Vehicle 模型: (make|let|force) %entities% [to] (ride|mount) [(in|on)] %entity/entity types% [(make|let|force) %entities% [to] (dismount|(dismount|leave) (from|of)] [(any|the[ir]|his|her)] vehicles) [(eject|dismount) (any|the)] passengers (of|from) %entities% 加入的版本: 2.0 使实体坐上载具。 示例: make the player ride a saddled pig make the attacker ride the victim |