sora200507

そらまめのskript解説

Jan 2nd, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.37 KB | None | 0 0
  1. さて わかりにくいskript解説ページでも作ろうかなって気持ちで作りましたがどうも そらまめです
  2. まぁまずは基礎から覚えてもらいたいかなと思ったので基礎から書いていきます
  3. まず基礎中の基礎として
  4. イベントや分岐があった時って基本的にon ~:とかif ~:とかですよね
  5. 一番注目してほしいのがon ~:とかの:の部分です
  6. :がついたらtabやスペースが入ると考えてもらいたいです
  7. 例としては
  8. on click:
  9. if player has permission "test.test":
  10. cancel event
  11. みたいな感じです
  12. cancel event等のエフェクト player has permission "test.test"等のコンディションはのちに解説します
  13. さて次はイベントの書き方などです
  14. まずイベントは絶対にtabがないところで来ます
  15. 上の例文でもon clickの前にtabはないですよね
  16. またイベントにも種類があって それぞれ書き方が変わってきます
  17. 例えば 鯖がひらいて定期的に実行される every
  18. everyは基本的に every 時間:
  19. です 時間のところは例として every 1 hourや every 10 seconds等があります
  20. tickもあるのですが every 1 ticksとかにしてしまうと少しラグが生じます
  21. そして各イベントごとに使える関数が設定されています
  22. 例えばon place や on breakなど
  23. これらは基本的に壊した、置いた人は event-player もしくはplayerとして使うことができます
  24. 壊したもの 置いたものは event-block
  25. そのブロックが置かれた場所はevent-locationなど
  26. on damageやon deathイベントはattackerやvictimなどが使えます
  27. 詳しいイベントの書き方などは英語で書かれていますが SKUnityや skHubなどで確かめることができます
  28. では次 条件に付いて
  29. 条件は上の例文でいうif player has permission "test.test":のplayer has permission "test.test"の部分です
  30. まず 上の例文の構成は <だれが> <どのパーミッションを持っているか> <パーミッション名>です
  31. だれが の部分は上のevent-playerや victim attackerなどが入ってきます
  32. どのパーミッションを持っているか のところは has permissionや does not have permissionです
  33. パーミッション名は""で囲っていますが これで囲まないと関数以外が使えません 例えばメッセージを送信するmessageなら message "&btest" to playerだと動きますが message &btest to playerだと動きません
  34. どのパーミッションを持っているかの部分では
  35. ほかの条件も使えます 例えば プレイヤーのレベルがoo以上であれば player's level is greater than or equal to ooです
  36. 条件も一覧表示で skUnityやskhubに乗っています
  37. さて次はエフェクトです
  38. 一番重要なところで イベントと同じようにこれがないと動きません これはイベントが起こった時何をするか 等です
  39. 一番簡単なことだと
  40. on damage:
  41. cancel event
  42. 等です
  43. cancel eventはon damageをキャンセルする(ダメージを食らったことをキャンセルする)ということです
  44. 条件の時チョコっと出てきたmessageもエフェクトです
  45. 一覧はskunity skhubでどうぞ
  46. さてここまで読んだ人で説明されてないものがありませんか?
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56. 「関数」ですね 上ではそこまで触れられていませんが重要な要素の一つです
  57. 条件やイベントなどでplayerとかありましたよね
  58. あれが関数です
  59. 数学にも関数がありますがそこまで関係はないので気にしなくてもいいです
  60. 関数がないと指定したプレイヤーにメッセージが送れなかったり エフェクト自体成り立たなかったりします
  61. player等の関数はskhub等で確認できますが
  62. 関数を保存したいときとかありませんか?
  63. 例えばランダムに生成した数字を保存してなんぼでも使いたい!って
  64. そういう時はsetやadd等を使います
  65. 構文は set 設定したい関数 または変数 to 関数 または数字や"で囲ったもの
  66. addも add 挿入したいもの to 足される関数や変数
  67. removeなどは少し構文が変わります remove けしたいものもしくは引きたいもの from 引かれる関数 変数です
  68. set や add等はエフェクト部分です
  69. 上で説明したようにエフェクト自体成り立たないことがありますね
  70. さて 関数をmessage等の "で囲った中に入れるとき%で囲わないといけないというルールがあります
  71. それ以外の時は%で囲う必要はありません
  72. 次はカスタムコマンドです
  73. カスタムコマンドはサバでよく見る鯖内でだけ使えるオリジナルのコマンドです
  74. commandというイベントを使います
  75. やり方は command /作りたいコマンド <arg1> <arg2>....:
  76. で作れます argは必要な分だけ作ってください
  77. argはtextが基本ですが numberや playerなどで入力できる文字を指定することができます
  78. またcommand独特の条件等があります
  79. commandを作るとき絶対必須なのがtrigger:です
  80. triggerがないとコマンドとして認識されないどころかエラーがでます
  81. 任意でいいのですが permissionはコマンドをtabキーを押したときに表示することや実行するのに必要なパーミッションを設定できます
  82. permission-message は↑のものがついてないと使えません 上で必要パーミッションが足りないのに実行したときに出てくるメッセージを設定できます
  83. aliasesは短縮コマンド
  84. descriptionはhelpコマンドで表示される説明
  85. executable byは説明しにくいのですが executable by consoleならコンソールやコマンドブロックのみ実行可能 executable by playerならプレイヤーからのみ実行可能などです
  86. usageは構文を間違った時に表示されるメッセージです
  87. さて trigger:のあとはいつもどうり条件やエフェクトをつなげていきましょう
  88. これでわかりにくいそらまめの解説を終わります ここまで見てくれてありがとうございました
  89.  
  90.  
  91.  
  92. 参考:
  93. http://en.njol.ch/projects/skript/doc
  94. https://skripthub.net/
  95. https://forums.skunity.com/
Add Comment
Please, Sign In to add comment