randomize

2014/09/12

Arma3スクリプティング講座その1:スクリプトの基本

そんなわけで唐突に始まりましたスクリプティング講座。分かりづらいところもあるかもしれませんが、生暖かく見守ってください。エディッティングは多少分かるけど、ユニット設置してバーンバーンはできるけど、スクリプトがさっぱりな皆さんのために書きます。Arma2でも基本は同じです。

というわけで、第一回はスクリプトの基本。難しい事は何も考えないでいってみましょう。

まずは、次のスクリプトをユニットのInitializationに入力してください。
hint "Script is running!"

注意:Arma 3 Eden Updateで導入されたEden 3D Editorでは表示が違います。基本は同じなのでInitializationを探して入力してください。

これでミッションをプレビューしてみてください。どうですか?右上に表示が出ましたか?
今回はこれだけの機能ですが、これも立派なスクリプトです。このスクリプトを笑うものはこのスクリプトに泣きます。
では、次に実際にゲーム内に効果を及ぼすスクリプトを使ってみましょう。
this setDamage 1
このスクリプトをプレイヤーでないユニットのInitializationに入力してください。そしてミッションをプレビューしてください。
AIユニットが最初から死んだ状態で登場しました。
さて、そろそろカンの良い人は分かると思いますが、ユニットのInitializationはそこにスクリプトを入力する場所で、ミッションが始まった瞬間に処理が行われます。では、それぞれスクリプトの解説をして見ましょう。
hint "Script is running!"
hintスクリプトは文字伊通り右上にヒントを表示します。文字列("で囲まれた文章)を入力するとヒントを表示してくれます。ためしに、括弧の中身を書き換えてみてください。
this setDamage 1
setDamageスクリプトも文字通りユニットのダメージを設定するスクリプトです。0で全快、1で死亡します。そしてsetDamageの前にあるthisはちょっと複雑なスクリプトです。UnitのInitializationの中ではユニットを指します。
例えばユニットの名前をUnit01と設定して、
Unit01 setDamage 1
と入力しても全く同じ効果になります。この場合Unit01はthisと同じ役割を果たして、どちらも同じユニットを指します。ですが、Triggerなどにthis setDamage 1と入力しても何の効果も出ません。ユニットを指すthisはInitializationの中でしか働かないのです。それ以外の場所で動かしたければ名前を付けて動かすことです。

今回はここまで。
 

0 件のコメント :

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。