Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- さて わかりにくいskript解説ページでも作ろうかなって気持ちで作りましたがどうも そらまめです
- まぁまずは基礎から覚えてもらいたいかなと思ったので基礎から書いていきます
- まず基礎中の基礎として
- イベントや分岐があった時って基本的にon ~:とかif ~:とかですよね
- 一番注目してほしいのがon ~:とかの:の部分です
- :がついたらtabやスペースが入ると考えてもらいたいです
- 例としては
- on click:
- if player has permission "test.test":
- cancel event
- みたいな感じです
- cancel event等のエフェクト player has permission "test.test"等のコンディションはのちに解説します
- さて次はイベントの書き方などです
- まずイベントは絶対にtabがないところで来ます
- 上の例文でもon clickの前にtabはないですよね
- またイベントにも種類があって それぞれ書き方が変わってきます
- 例えば 鯖がひらいて定期的に実行される every
- everyは基本的に every 時間:
- です 時間のところは例として every 1 hourや every 10 seconds等があります
- tickもあるのですが every 1 ticksとかにしてしまうと少しラグが生じます
- そして各イベントごとに使える関数が設定されています
- 例えばon place や on breakなど
- これらは基本的に壊した、置いた人は event-player もしくはplayerとして使うことができます
- 壊したもの 置いたものは event-block
- そのブロックが置かれた場所はevent-locationなど
- on damageやon deathイベントはattackerやvictimなどが使えます
- 詳しいイベントの書き方などは英語で書かれていますが SKUnityや skHubなどで確かめることができます
- では次 条件に付いて
- 条件は上の例文でいうif player has permission "test.test":のplayer has permission "test.test"の部分です
- まず 上の例文の構成は <だれが> <どのパーミッションを持っているか> <パーミッション名>です
- だれが の部分は上のevent-playerや victim attackerなどが入ってきます
- どのパーミッションを持っているか のところは has permissionや does not have permissionです
- パーミッション名は""で囲っていますが これで囲まないと関数以外が使えません 例えばメッセージを送信するmessageなら message "&btest" to playerだと動きますが message &btest to playerだと動きません
- どのパーミッションを持っているかの部分では
- ほかの条件も使えます 例えば プレイヤーのレベルがoo以上であれば player's level is greater than or equal to ooです
- 条件も一覧表示で skUnityやskhubに乗っています
- さて次はエフェクトです
- 一番重要なところで イベントと同じようにこれがないと動きません これはイベントが起こった時何をするか 等です
- 一番簡単なことだと
- on damage:
- cancel event
- 等です
- cancel eventはon damageをキャンセルする(ダメージを食らったことをキャンセルする)ということです
- 条件の時チョコっと出てきたmessageもエフェクトです
- 一覧はskunity skhubでどうぞ
- さてここまで読んだ人で説明されてないものがありませんか?
- 「関数」ですね 上ではそこまで触れられていませんが重要な要素の一つです
- 条件やイベントなどでplayerとかありましたよね
- あれが関数です
- 数学にも関数がありますがそこまで関係はないので気にしなくてもいいです
- 関数がないと指定したプレイヤーにメッセージが送れなかったり エフェクト自体成り立たなかったりします
- player等の関数はskhub等で確認できますが
- 関数を保存したいときとかありませんか?
- 例えばランダムに生成した数字を保存してなんぼでも使いたい!って
- そういう時はsetやadd等を使います
- 構文は set 設定したい関数 または変数 to 関数 または数字や"で囲ったもの
- addも add 挿入したいもの to 足される関数や変数
- removeなどは少し構文が変わります remove けしたいものもしくは引きたいもの from 引かれる関数 変数です
- set や add等はエフェクト部分です
- 上で説明したようにエフェクト自体成り立たないことがありますね
- さて 関数をmessage等の "で囲った中に入れるとき%で囲わないといけないというルールがあります
- それ以外の時は%で囲う必要はありません
- 次はカスタムコマンドです
- カスタムコマンドはサバでよく見る鯖内でだけ使えるオリジナルのコマンドです
- commandというイベントを使います
- やり方は command /作りたいコマンド <arg1> <arg2>....:
- で作れます argは必要な分だけ作ってください
- argはtextが基本ですが numberや playerなどで入力できる文字を指定することができます
- またcommand独特の条件等があります
- commandを作るとき絶対必須なのがtrigger:です
- triggerがないとコマンドとして認識されないどころかエラーがでます
- 任意でいいのですが permissionはコマンドをtabキーを押したときに表示することや実行するのに必要なパーミッションを設定できます
- permission-message は↑のものがついてないと使えません 上で必要パーミッションが足りないのに実行したときに出てくるメッセージを設定できます
- aliasesは短縮コマンド
- descriptionはhelpコマンドで表示される説明
- executable byは説明しにくいのですが executable by consoleならコンソールやコマンドブロックのみ実行可能 executable by playerならプレイヤーからのみ実行可能などです
- usageは構文を間違った時に表示されるメッセージです
- さて trigger:のあとはいつもどうり条件やエフェクトをつなげていきましょう
- これでわかりにくいそらまめの解説を終わります ここまで見てくれてありがとうございました
- 参考:
- http://en.njol.ch/projects/skript/doc
- https://skripthub.net/
- https://forums.skunity.com/
Add Comment
Please, Sign In to add comment