ユーザーブロマガは2021年10月7日(予定)をもちましてサービスを終了します

配布マップのためのコマンド技法(Macro/Keybind mod 中編)
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

配布マップのためのコマンド技法(Macro/Keybind mod 中編)

2016-09-06 21:31
    ●スクリプトとは
    プログラムと同じように
    ・これをやってね
    ・これをやってね
    ・こういうときはこれをやってね
    って書いていく言語みたいなもの。
    言ってしまえば、簡単なプログラム。(簡単だからできることは少ない)
    とは、言ってもできることは、かなり増える。

    ●何ができるのか
    ・今、手に持っているアイテム名とアイテムIDを画面上に表示する
    ・矢もしくは火薬を持ったらVoxelSniper用のキー設定に切り替える
    ・WorldEditの //rep とかでブロック選択画面から選択して実行する
    ・左クリックと右クリックで選択した範囲を空気に置き換える
    ・マウスホイールでズームイン・ズームアウトする
    みたいなことができます。(難易度は様々)

    ●簡単なところから
    ■スクリプトを作る
    基礎?編のスクリプト画面で、新しいファイルを何か作って下さい。
    HandItem みたいな?
    そして、下の文章を打ってください。
    setlabel("SlotItem",%ITEMIDDMG%);
    そしたらセーブ。

    ■画面を作る
    じゃあ、キーボードが映ってる画面の右下に レンチ のアイコンがあるのでクリック


    こんな画面が出てきたら、左側の「default」をダブルクリックしてください。



    こんな画面が出てくると思うので、左下の みたいなやつをクリック。
    リストが出てくると思うので、「Add Label」を選択してください。
    そしたら右下あたりに黄色い十字架を配置してください。



    小難しそうな画面が出てくると思いますが、そんなのは流し見しておいて
    ・Control Name を 「 SlotItem (上のスクリプトで書いたやつがこれ)
    ・Text Align を 「Middle Centre」(中段の真ん中)
    って設定したらOK

    ■イベントに割り当てる
    ということで、基礎?編で説明したようにイベントに割り当てます。
    今回は「onInventorySlotChange」に割り当てましょう。
    インベントリを左右に移動させたら動くやつです。
    そこに、前回と同じように「$${$$<ファイル名.txt>}$$」と打ちましょう。
    上では、HandItemって名前だったので、「$${$$<HandItem.txt>}$$」になります。
    じゃあセーブ。

    ■動かしてみる
    じゃあインベントリをマウスホイールとかで左右に動かしてみましょう。
    右下に何か表示されてません?手に持ってるアイテム名とアイテムID表示されてません?

    ●スクリプトで何をしたのか
    setlabel("SlotItem",%ITEMIDDMG%);
    上で打ったのはこれですね。
    まず「 setlabel() 」。

    これが、ラベルのテキストを設定するコマンド(関数っていいます)です。
    こういった関数が、このModにはいっぱい用意されています。
    そこに "SlotItem" と %ITEMIDDMG% という設定する値(引数っていいます)を入れます。

    つまり、「"SlotItem"」って名前のラベルに「%ITEMIDDMG%」っていう、
    テキストを書いてくださいっていうスクリプトです。

    ???

    %ITEMIDDMG%ってなに?

    これは定数と呼ばれる、Mod内に最初から用意されている値です。
    ITEMIDDMGというのは、手に持っているアイテムIDダメージ値(メタ値)を
    定義した値になります。

    じゃあ、前後の%%は何かというとちょっと説明が難しいので次回。

    こういった、関数定数、そして自由に値を入れることのできる変数を使って、
    スクリプトを組んでいくことで、あらゆることができるようになります。

    じゃあ、どんな関数があるのか?どんな定数があるのか?
    どうやってそれらを使えばいいのか?

    次回、詳しく説明します。
    -----
    [TOPへ戻る]
    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。