ちぇるまが!

bukkitプラグイン「skript」の導入~書き方例まで(その3)

2014/09/13 23:16 投稿

コメント:13

  • タグ:
  • Minecraft
  • bukkit
  • プラグイン
  • skript
  • plugin
はい。チェル(ry

じゃぁチェックポイントのskriptを書いていきます。が、
最初に一気にskriptを書いて、あとからじっくり解説していきます。
on rightclick:
( tab ) block is a sign
( tab ) line 1 of clicked block is "=========="
( tab ) line 2 of clicked block is "&4checkpoint"
( tab ) line 3 of clicked block is "&1[rightclick]"
( tab ) line 4 of clicked block is "=========="
( tab ) set {checkpoint.%player%} to location of player
( tab ) message "<gold>checkpoint saved!!"
( tab ) command "/playsound note.pling %player% ~ ~ ~ 1 2 1"

はい。何が書いてあるかさっぱりわかりませんね^^
解説していきましょう。

1行目、on rightclick は「右クリックをする」というイベント
ーーここから条件ーー
2行目、block is a sign は、「クリックしたブロックは看板である」という条件
3行目、line 1 of clicked block is "==(ry は「看板の1行目は==========である」という条件
4~6行目も同様
ーーここから動作ーー
7行目、set {checkpoint.%player%} to location of player は「{checkpoint.%player}という値にプレイヤーの位置を記録する」という動作。これが一番ミソになる部分です。
8行目、message "<gold>checkpoint saved!!"は「クリックしたプレイヤーに金色でcheckpoint saved!!というメッセージを出す」という動作。メッセージなどに※日本語は使えませんので注意してください。
9行目、command (ry は「""内のコマンドをコンソールに送る」という動作。
%player%はプレイヤー名の引用です。今回はcommandで音を鳴らします。

※(追記14/10/01)
.skファイルの文字コードをUTF-8にすることで日本語メッセも出せることを確認しました。

これでチェックポイントをセーブする文章が完成しました。


はい。解説しても意味不ですよね知ってます。が、まぁ真似して書いてみましょうそのうちわかります。

次。ノーマル水晶ブロックの上に乗ったらチェックポイントまでtpする、ってのを作りましょう。
on walking on normal quartz block:
( tab ) player's gamemode is adventure
( tab ) teleport player to {checkpoint.%player%}

1行目、on walking で「歩く」というイベント。on normal quartz blockは「ノーマル水晶ブロックの上を」という条件。
2行目、player's gamemode is adventureは「プレイヤーのゲームモードがアドベンチャーモードのとき」という条件。
3行目、teleport player to {checkpoint.%player%}は「プレイヤーを{checkpoint.%player%} にテレポートする」という動作。



はい。どうでしたか?

そうですね・・・すぐには理解できないと思いますが、がんばってください。

次回はLoopについてお話しましょう。


次回はこちら→ ar630426



コメント

chelcy(チェルシー) (著者)
No.12 (2015/09/27 23:42)
>>11
申し訳ありません。ブロマガを作るのをすっかり忘れておりました。
代わりにといっては申し訳ないのですが、旧ちぇるアスレ鯖で使用していたチェックポイントのSkriptを公開しますので、こちらで確認していただけると幸いです。
https://gist.github.com/chelcy/4db26973d9c10eff5310
看板の設置方法は50-69行目にございます。
on sign changeというイベントを拾って、1行目が~なら 2,3,4,1行目行目の文字を設定する という処理をしています。

以上よろしくお願いします。
くり(栗)
No.13 (2016/04/20 16:36)
この記事の{checkpoint.%player%}というのは、
サーバーを終了しても残るんですか?
また残らないなら残す方法はありますか?
chelcy(チェルシー) (著者)
No.14 (2016/04/20 17:01)
>>13
サーバーを終了しても値は残ります。
plugins/Skript/variables.csvファイル内に保存されます。
コメントを書き込むにはログインしてください。

いまブロマガで人気の記事