パッチ。サーバースクリプト
サーバースクリプト」パッチにより、マシンクラフトと相互作用するスクリプトをC#でプログラムできるようになります。
有効にすると、HOST メニューに新しいテキストボックスが表示されます。ここに実行されるスクリプトの名前を入力します。 部屋をホストしている場合(JOINを使用しない場合)は、サーバスクリプトが実行されます。
//#requires
スクリプトの最初に、スクリプトの中で別のスクリプトを必要とする場合は、ここでそれらを定義する必要があります。
例えば、commandLib.cs
と nameLib.cs
がスクリプトを正しく動作させるために必要な場合、スクリプトの先頭は以下のようになります。
//#requires commandLib.cs
//#requires nameLib.cs
これらの必要なファイルは _scripts
ディレクトリで検索されるので、スクリプトが別のディレクトリにある場合は、必ず requires 文に追加してください:
//#requires libs\commandLib.cs
これは、ディレクトリUserData\_scripts\libs\commandLib.cs
内のスクリプトを探します。
基本的なサーバスクリプト
すべてのサーバスクリプトは HostScript
クラスを継承しなければなりません。また、pluginName
と pluginCreator
プロパティをオーバーライドしなければなりません。簡単なテンプレートを以下に示します。
class templateScript : HostScript {
public override string pluginName => "template";
public override string pluginCreator => "Dylan";
}
MCNPlayer
オブジェクト MCNPlayer
は現在部屋に接続されているプレイヤーを表す。
物件情報
playerName
選手の名前です。
machineName
プレイヤーのマシン名。
plrID
プレイヤーがいつ入室したかを基準にしたID。最初のプレイヤーはID 0、2番目のプレイヤーはID 1となります。
働き
sendMessage(string)
チャットでプレイヤーにメッセージを表示します。
MCNServer
MCNServer
クラスは、マシンクラフトサーバと対話するための様々な関数を含む静的クラスである。
物件情報
players
現在接続されているプレイヤーを表現するMCNPlayer
オブジェクトの配列。
機能
broadcastMessage(string)
接続されているすべてのプレイヤーにメッセージをブロードキャスト
setSnow(int)
>snow=?
コマンドのように動作し、0から9までの数値を指定できます。
setRain(int)
>rain=?
コマンドのように動作し、0から9までの数値を指定できます。
setCloud(int)
>cloud=?
コマンドのように動作し、0から9までの数値を指定できます。
setCycle(int)
>cycle=?
コマンドのように振る舞う
setTime(int)
>time=?
コマンドのように動作し、0から24までの数値を指定できます。
playMovie(string)
動作は >movie=?
コマンドのようになります。最初のパラメータは再生するファイルのURLです。
stopMovie()
再生中のムービーを停止します。
pauseMovie()
再生中のムービーを一時停止します。
resumeMovie()
再生中のムービーを再開します。
HostScript
これは、独自のスクリプトを作成する際に使用するメインクラスです。イベントが発生したときに呼び出されるオーバーライド可能な関数を持っています。
オーバーライド可能なメソッド
onInit()
スクリプトが最初にコンパイルされて実行されるときに呼び出されます。Unity の Start()
メソッドに似ています。
onDestroy()
スクリプトが破棄されたときに呼び出されます。スクリプトによって作成されたリソースをクリーンアップするために使用します。
onPlayerJoin(MCNPlayer)
プレイヤーが入室した際に呼び出される。
onPlayerSwitchedMachine(MCNPlayer)
プレイヤーがマシンを切り替えるときに呼び出される(マシンスイッチパッチを使用している
onPlayerLeave(MCNPlayer)
プレイヤーが退室したときに呼び出される
onChatMessage(MCNPlayer, string)
プレイヤーがチャットメッセージを送信するときに呼び出されます。
onDeath(MCNPlayer)
プレイヤーのマシンが爆発したときに呼び出されます。