そもそもfunctionシステムとは
これまでthelowにおいて計算などを含む高度な処理を行う場合、commandscoreを何回も用いて面倒な処理を行う必要がありました。
functionシステムはそれに代わる新たな開発用システムで、実際にシート上に簡単なプログラムを書き、それをゲーム内で実行することが出来ます。
基本的な文法はJava言語とかなり近いものにしてありますが、プログラミング経験のない人にとっては躓くことも多いと思います。
こういうプログラミング関係の事はAIがかなり強いので、分からなくなったら適宜chatGPTなどに相談してみると良いかもしれません
function(関数)って何?
関数とは、入力をもとに動く、まとまった処理の単位です。といってもピンとこないでしょうから、具体例を基に説明します。
以下のような構造は、ダンジョンを作ったことがある人に馴染みあるものだと思います。
これは羊毛の上に赤石が置かれることで、連結したコマンドが実行される仕組みです。
このコマンド群は、それぞれ対応した処理を行うブロックになっています。こうすることで、例えばボスを召喚させたくなったら緑羊毛に、雑魚を湧かせたくなったらピンク羊毛に赤石を置くだけで、関連の処理を全部行ってくれます。
この連続で実行されるコマンドの群が、関数に相当します。
雑魚を召喚する際の「ボスの周りにエフェクトを出して...」「音とエフェクトをつけて...」「チャットに表示して...」「実際に召喚して...」
の処理をまとめて、"雑魚を召喚する関数"と表現します。
これを赤石を設置して呼び出していた部分を代わりにfunction(関数)としてシートに記入し、該当の関数を呼び出すことで実行してしまおうというのがfunctionシステムの意味になります。
他のページへのリンク集
構文を知りたい!
どういう風に使うの?
Q & A
処理重くない?大丈夫?
大丈夫です。基本的にプログラムの解析はsrコマンドの実行時に行い、実行するときは解析済のものを動かすだけになっているため軽量です。
特に計算などについてはcommandscoreよりはるかに軽量かつ高速に行うことが出来ます。
昔の開発形態しかできないんだけど...
問題ありません。現状functionシステムを使わないとできないことはそこまで多くありません(小数や文字列など扱うには必要ですが)
ただfunctionシステムは今後拡張していく予定なので、凝ったことをするにはfunctionに慣れておくといいかもしれません
