GUIメニューとは
ここでいうGUIメニューというのはインベントリに並んだアイテムをクリックすることで何かを実行するものです。
わたしが運営するMonsterLifeServerにもわたくしの作ったプラグインで実装されたGUIメニューはあり、添付画像のような見た目をしています。
今回はこれをSkriptで実装するやり方を説明していきます。
さっそく書いてみよう
説明はあとです!!
command /gui:
trigger:
open chest inventory with 6 row named "&a&lGUIMENU" to player
set {_i} to 0
set {_glass} to white glass pane named "&c&lクリック不可"
loop 54 times:
set slot {_i} of player's current inventory to {_glass}
add 1 to {_i}
set slot 13 of player's current inventory to stone named "Yeah"
set slot 53 of player's current inventory to barrier named "閉じる"
on inventory click:
name of clicked inventory is "&a&lGUIMENU"
cancel event
if event-item is stone named "Yeah":
send "Yeah" to player
if event-item is barrier named "閉じる":
close player's inventory
説明
commnad /gui:
・trigger:
の部分は説明しませんからね?
知りたい人は**Minecraft Skript 入門編 Part.3 - カスタムコマンドについて・・・**をご覧ください。
open chest inventory with 6 row named "&a&lGUIMENU" to player
これだけで&a&lGUIMENU
という名前のインベントリを開くことができます。
6 rows
の6
部分を変更することでインベントリの大きさを変更可能です。
しかし、1~6の数字以外は指定できないのでお気を付けください。
set {_i} to 0
set {_glass} to white glass pane named "&c&lクリック不可"
loop 54 times:
set slot {_i} of player's current inventory to {_glass}
add 1 to {_i}
これで開いたインベントリすべてを白色のガラスで埋めます。
set slot 13 of player's current inventory to stone named "Yeah"
set slot 53 of player's current inventory to barrier named "閉じる"
これで13番と53番のスロットにYeah
という名前の焼き石と閉じる
という名前のバリアブロックが設置されます。
スロット番号は左上から右向きに0,1,2...となっていき、9番は2列目の一番左のスロットになり同じように9,10,11...となります。
よってスロット13は二列目のど真ん中、53は最後の列の一番右となります。
on inventory click:
name of clicked inventory is "&a&lGUIMENU"
cancel event
これで&a&lGUIMENU
という名前のインベントリをクリックした場合キャンセルする仕組みになっています。
if event-item is stone named "Yeah":
send "Yeah" to player
if event-item is barrier named "閉じる":
close player's inventory
そしてもしYeah
という名前の焼き石をクリックした場合はチャットにYeah
と表示し、閉じる
という名前のバリアブロックをクリックするとインベントリを閉じるというシステムになっています。
クリックと同時にMinecraftのメニュー画面をクリックしたときになる音を鳴らしてあげることでよりいっそうGUI感を出せます。
追加1
アイテムが取れてしまうという報告を受けていますので追加させていただきます。
アイテムが取れる場合はclicked inventory
をevent-inventory
にするだけで治るかもしれません
最後に
今では多くのサーバーがGUIシステムを採用しているように思われます。
コマンドよりも便利という点では採用されるのは当たり前なのでしょうね。
この記事が役に立ったら金を出せ。
この記事が役に立ったらとてもうれしいです。
え?お金がどうしたって?なんのことですか?
それでは次回もよろしくお願いします。
次はコチラ
前はコチラ