CreateObject(int, string, location, int)
与えられた地点に指定した種類のobjectを作成します。
object CreateObject( int nObjectType, string sTemplate, location locLocation, int bUseAppearAnimation = FALSE );
Parameters
nObjectType
作成するobjectの種類(OBJECT_TYPE_*;使える物は限定されています。Remarksをみてください)
sTemplate
作成するobjectのブループリントResRef文字列
locLocation
objectを作成する位置
bUseAppearAnimation
それが現われる時、作成されたオブジェクトにアニメーションを使用させます。
Description
この関数はモジュール内の特定の位置に指定したobjectを作成させます。
この関数を使うことで、アイテム類、クリーチャー、配置物または商店等をあるイベントの発生に合わせて出現させることが可能になります。
sTemplateが無効の場合、次のオブジェクトが作成されます:
OBJECT_TYPE_ITEM - その他小物
OBJECT_TYPE_CREATURE - アナグマ
OBJECT_TYPE_PLACEABLE - 何も生じない
OBJECT_TYPE_STORE - 何も生じない
Remarks
nObjectTypeパラメーターには下記の定数のみが使用できます。
- OBJECT_TYPE_ITEM
- OBJECT_TYPE_CREATURE
- OBJECT_TYPE_PLACEABLE
- OBJECT_TYPE_STORE
「sTemplate」には注意してください、さもないと貴方が望んでいる以上のアナグマが発生することになります。ResRefはツールセットと貴方のモジュールで、objectのパレットにおいてユニークキー(他に同じ物がない独特の文字列)です。スタンダードの配置物とクリーチャーのResRefが見たければ、画面内に配置したobjectを右クリックして、「プロパティ」オプションで見てください。配置していない、もしくは一番最良の方法は−ブループリントのパレットで「コピーを作成して編集」を使うことです。「コピーを作成して編集」は適切なobjectの詳細設定を見る事ができる為、非常に確実です。そこには例えば「SKELETON001」のようにブループリントResRefが書いてあります。
残念ながら、ツールセットはそういった動作をします。− ブループリントのコピー(ブループリントを使用して作成されたオブジェクトのコピーではないもの)が、貴方が予期するかもしれないことを示します。よって、貴方のResRefは実際は新しいブループリント用にツールセットに作成された参照文字列(ResRef)です。− プロパティスクリーンを取り消し、スクリプト・エディタに戻る際に即座に消えるもの。さらに混乱することに、標準のブループリントから作成されるobjectのデフォルトのtagは、ブループリントのResRefと同じで、TagをResRefと間違いへと導きかねません。
リソースのResRefを見つける最も簡単な方法は、「表示」メニューをクリックし、「プレビューウィンドゥの表示」メニューを選択することです。これはプレビューウィンドゥを開き、ResRefだけでなく、名前、Tag、そしてもしあればリソースの詳細なコメント等の詳細を表示します。既に配置しているobjectをクリックするか、ツールセットの様々なパレットからObjectを選択するかでプロパティを見ることができます。
Known Bugs
bUseAppearAnimationは、この関数での使用において制限のある定数のために何もしないように思えます。
エリアのOnEnterイベントでクリーチャーObjectを作成することは、エリアロード中画面の間ゲームをフリーズさせ、最終的にクラッシュします。
Version
1.29
Example
// 下記のスクリプトは次のウェイポイントにニワトリを作成する。 // 備考:以下のスクリプトはモジュール内に「Waypoint1」というタグを持つ // ウェイポイントを使うことを必要とする。 // 「このプログラムを含むスクリプトを絶対にエリアの // OnEnter用イベントに用いないこと!!」(Known Bugsを参照) int nObjectType = OBJECT_TYPE_CREATURE; string strTemplate = "nw_chicken"; // スタンダードのニワトリ location locLocation= GetLocation(GetObjectByTag("Waypoint1")); // ウェイポイントの位置を調べる int bUseAppearAnimation = TRUE; CreateObject(nObjectType, strTemplate, locLocation, bUseAppearAnimation);
See Also
functions: | ActionCreate | CopyObject | CreateObjectVoid |
categories: | Item Creation Functions |
constants: | OBJECT_TYPE_* Constants |
author: Dave Withnall, editor: Charles Feduke, additional contributor(s): Jit Fong Oon, Jazael, JP team: Rainie
Send comments on this topic.