2018年4月25日星期三

Chapter 1 - ECE Principle 事件,条件,效果


请看了上一篇再来哟



ECE Principle ECE原理

什么是 ECE Principle ?它是我自订的一个原理用在 Skript上的,何为 ECE?
  1. Events 事件
  2. Conditions 条件
  3. Effects 效果
Skript脚本编程就有如你的人生什么事件达到了什么条件就会有什么效果。这个原理恰好跟Skript相同。接下来给你看个例子
on break of glass: // 事件  - 在打破玻璃的时候
    if player's name is "GlassMan": // 条件  - 玩家的名字是 "GlassMan"
        drop glass  // 效果  -  掉落玻璃

当然你的人生会有许多的条件许多的效果 也当然脚本里一个事件 多个条件与多个效果都能。刚刚说了关于 ECE Principle 过后还有两样 Skript 重要的东西是
  1. Expression 表达
  2. Types 类别
Expression的例子就在 上面的程式码里有 player's name 这是一个 expression 表达着 玩家的名称 当然你要放为 字体也能 只需要 "玩家的名字 %player's name%" 他就会return 玩家的名字.

Types 的例子也有在上面的程式码,glass 是 玻璃 你也能用 ID 来指定 但是不鼓励 (我也不知为啥 ),这就只是分类一些 物品,方式,方法,点击类型之类的.

Variables 变数

那五个都理解了后就能到 最重要的部分了 Variables 变数,变数是可以 数值可以让你随意改变的 所以才叫变数。在 Skript 的变数只有两种类型 "列表变数" 与 "变数"  和 两种 存档方式 "暂存变数" 与 "永存变数"。

永存变数

{variables} // 这类型的变数通常会列为 Global Variables 全球变数 因为设定了到哪都能用 {list_variables::*} // 这如上只是他是 列表 能存档多个 变数 这样的变数都会存档在一个在 /plugins/Skript/variables.csv 的档案里面

暂存变数

{_variables} // 这样的呢就是 他们只能在你 宣告它的 那个事件 或条件里使用 {_variables::*} // 暂存也能用 列表变数 这样的变数在你的事件运行完之后就会自动删除了

善用指定变数

若以以上的设定要设定 指定变数在指定玩家身上的话 能考虑使用 {var.%player%} 用 player's name 或者 player's uuid 来指定 就能做到每个玩家都有自己的变数,这边有点像 Object的逻辑,就如每个object有自己的特殊名字或者id。

Options 设置

这算是一个原设定,只要写了就能在脚本里面使用,就能在脚本里无限处使用。

options:
    π: 3.142   // 字体 : 数值 或 字体 之类的设定

command /test:
    trigger:
        send "{@π}"

设定了 options了过后要采用它就用 {@名字} 他就会replace成 那个变数 这种情况不需要 %% 让他宣告成字体 直接 {@π} 就可以了.

Startup & Unload Skript 读取与卸载脚本

这我没什么例子 我就拿了 Skript原作人的例子

on script load:  // 脚本读取的时候
 set {running.%script%} to true
on script unload:  // 脚本卸载的时候
 set {running.%script%} to false

善用这两个事件 设定读取和释放不必要的变数之类的是很不错的哟,因为有些人只是卸载一些 脚本 不是所有 所以 没设定的话东西都会残留在伺服 造成卡顿。

最后

如你说见 脚本只需要要 英文语法好就很好开始了 当然 ECE Principle 做到很好的话 就能很好的 开发脚本咯 ~ 。如果以上的东西你都会了 那很好你已经成为了脚本师!欢迎加入爆肝党!

请耐心等待续篇 (Chatper 2 - 指令与循环 Command and Loops)

0 comments :

发表评论