これは何?

これはA1で機能するluaスクリプトを書くためのレファレンスである。この文書を作った段階では、それはluaスクリプトで利用可能な全てのトリガと関数のリストがある。A1でluaの機能性が成長して行くにつれて、この文章も成長していくと期待される。ここの全てが完全に文章化されているわけではないが、それを修正する手助けは歓迎される。

これはluaそのもののレファレンスではない。それについてはlua.orgを見なさい。

スクリプトを実行する方法

スクリプトを実行させる方法は二つある。レベル特有のMMLと、ネットワークゲーム集合ダイアログでスクリプトを選択することである。レベル特有のMMLを使うためには、マップファイルのTEXTリソースにスクリプトを置く。それからTEXTリソース128にスクリプトを見つける場所を伝えるためのに、基本形式が以下のようになるものを置く。

<marathon_levels>
	<level index="0">
		<lua resource="1000"/>
	</level>
</marathon_levels>

便宜のために我々はレベルxのスクリプトをTEXTリソース1000+xに置く、だからマップファイルの最初のレベル(それのレベルインデックスは0)はTEXTリソース1000になる。

これは一人プレーヤーゲームにはうまくいき、マルチプレーヤーゲームでも機能するが、それは全てのプレーヤーがマップファイルのコピーを持っていて、その環境設定で選択しているときだけである。

ネットワークゲームダイアログ経由でスクリプトを使うにはのスクリプトをテキストファイルで置く。それから、ネットワークゲーム集合ダイアログで"use script"を選び、スクリプトファイルを選択する。

ネットワークゲームをプレイするときは、集合しないときでも、それが君がプレイするマップでない限りが、君の環境設定でレベル特有MMLのあるマップファイルを選択しないようにすることが重要である。A1はそのマップファイルのスクリプトを実行し、君のゲームは同期がずれ、うれしくないだろう。

単位

我々が使う距離の単位はワールドユニット(WU)である。これらはForgeやF10位置表示で見られるのと同じ値で、A1が内部で使いPfhorteで見れる物の1/1024である。

速さの単位は . . . えっとややこしいと言っておこう。 :) Luaのスピードは、ワールドユニット(WU)毎ティックティックは、1/30秒である)Forgeでは、秒あたりのWUを使用するが、実際は、1秒あたり0.87890625 WU(これは、30ユニット毎ティックに等しい)を使用している。以下はそのへん寒冷だ。

実際7.5ワールドユニット毎秒
A1内部256ユニット毎ティック (7.5 * 1024 / 30)
Lua0.25 WU毎ティック (7.5 / 30)
Forge8.53 "WU毎秒" ((7.5 * 1024 / 30) / 30)

ローカルプレイヤー

コレクションの読み込み

持続性