閉じる
閉じる
×
ここからは応用まで見てくれた人のための実例編ですので、詳細な解説はありません。
●矢 or 火薬を持ったらVoxelSniper用コンフィグに変える
ということで、さっそく何をすればいいのかまとめてみましょう。
とりあえず、やりたいことはこれだけ。
「いつ」スクリプトを走らせればいいのか。
「持っていたら」なので、
インベントリから取り出したときが面倒なので、GUIを閉じた時にしましょう。
GUIを閉じたときはちょっと捻った考え方なので最後に。
さあ、スクリプトを組んでいきます。
あとは"voxelsniper"って名前のコンフィグを追加すれば問題ないですね。
(%が無いじゃないか!って怒られそうですが、左辺はいらないみたいです)
でも、これだとデフォルトに戻せません。
なので、デフォルトに戻す用のスクリプトを
"voxelsniper"のコンフィグのイベントに登録しておきます。
ココ重要。コンフィグ設定が切り替わってるので、デフォルトに設定しても意味なし。
ということで、戻す用のスクリプトを組みます。
●GUIを閉じたとき(元のゲーム画面に戻ったとき)のイベント
このイベントを作ります。これがちょっと面倒。
起動するイベントはこちら。
これで、下のスクリプトを組みます。
onShowGuiイベント(何かしらのGUIを開いたら走るイベント)で動作させると、
(3) でちょっと待っているのは、ずっと処理中とかCPUの無駄だからです。
(4) でもしもゲーム画面じゃ無い(インベントリを開いたまま)だったら、(2)に戻ります。
onShowGuiはチャット画面を開いても発生するので、
(1) でクリエイティブモードのインベントリ画面限定にしたということです。
●スクリプトを作ろう!
ここからは、皆さんが自由にスクリプトを作って、
便利なマイクラライフを送っていただけることを切に願っております!
それでは、長々とお付き合いいただきありがとうございました!
-----
[TOPへ戻る]
●矢 or 火薬を持ったらVoxelSniper用コンフィグに変える
ということで、さっそく何をすればいいのかまとめてみましょう。
とりあえず、やりたいことはこれだけ。
- 矢 or 火薬を持っていたら
- コンフィグを変更する
「いつ」スクリプトを走らせればいいのか。
「持っていたら」なので、
- ホットバーを切り替えたとき
- ログインしたとき
- インベントリから取り出したとき
- onInventorySlotChange イベント
- onJoinGame イベント
- インベントリから取り出したときは、ないので自作する
インベントリから取り出したときが面倒なので、GUIを閉じた時にしましょう。
GUIを閉じたときはちょっと捻った考え方なので最後に。
さあ、スクリプトを組んでいきます。
// ItemCheck.txtはい。これを各イベントに入れれば、変更できますね。
if((ITEMIDDMG=="arrow:0")||(ITEMIDDMG=="gunpowder:0"));
config("voxelsniper");
endif;
あとは"voxelsniper"って名前のコンフィグを追加すれば問題ないですね。
(%が無いじゃないか!って怒られそうですが、左辺はいらないみたいです)
でも、これだとデフォルトに戻せません。
なので、デフォルトに戻す用のスクリプトを
"voxelsniper"のコンフィグのイベントに登録しておきます。
ココ重要。コンフィグ設定が切り替わってるので、デフォルトに設定しても意味なし。
ということで、戻す用のスクリプトを組みます。
// VoxelSniper.txtはい。これを同じ各イベントに登録すれば、OKですね。
if((ITEMIDDMG!="arrow:0")&&(ITEMIDDMG!="gunpowder:0"));
config("default");
endif;
●GUIを閉じたとき(元のゲーム画面に戻ったとき)のイベント
このイベントを作ります。これがちょっと面倒。
起動するイベントはこちら。
- onShowGui
これで、下のスクリプトを組みます。
//onClosedInventory.txt何をしているか分かりますでしょうか?
if(GUI=="GUICONTAINERCREATIVE");
do;
wait(50ms);
until(GUI=="NONE");
exec("ItemCheck.txt");
endif;
onShowGuiイベント(何かしらのGUIを開いたら走るイベント)で動作させると、
// (1) もしもクリエイティブのインベントリを開いたらという流れになります。
if(GUI=="GUICONTAINERCREATIVE");
// (2) 無限ループに入って
do;
wait(50ms); // (3) ちょっとだけ待って
// (4) ゲーム画面(GUIは何も無いのでNONE)に戻ったらループを抜けて
until(GUI=="NONE");
// (5) ItemCheck.txtのスクリプトを実行する
exec("ItemCheck.txt");
endif;
(3) でちょっと待っているのは、ずっと処理中とかCPUの無駄だからです。
(4) でもしもゲーム画面じゃ無い(インベントリを開いたまま)だったら、(2)に戻ります。
onShowGuiはチャット画面を開いても発生するので、
(1) でクリエイティブモードのインベントリ画面限定にしたということです。
●スクリプトを作ろう!
ここからは、皆さんが自由にスクリプトを作って、
便利なマイクラライフを送っていただけることを切に願っております!
それでは、長々とお付き合いいただきありがとうございました!
-----
[TOPへ戻る]
広告