【 関数 】 ■アイテム追加 alife():create("アイテムID", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) 引数: アイテムID:文字列型 アイテムID以外は固定値。上記の通りに記述する。 文字列を指定する場合は例のように「"(ダブルクォーテーション)」で括る。 戻り値: なし 使用例: alife():create("wpn_rpg7", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) この例を実行するとイベントリの中に「wpn_rpg7(ロケットランチャー)」が出現する。 ■ゲーム開始フラグ取得 xr_logic.pstor_retrieve(db.actor, "x_first_run", true) 引数: 固定。上記の通りに記述する。 戻り値(フラグ型): true :ゲーム開始直後である。 false:ゲーム開始直後ではない。 使用例: if (xr_logic.pstor_retrieve(db.actor, "x_first_run", true) == true) then ゲーム起動時にのみ行いたい処理 end この判定処理を行った後、ゲーム開始フラグを下ろす作業を手動で行う必要がある。 つまり、常に後述の「ゲーム開始フラグ設定」とセットで使われると言う事。 ■ゲーム開始フラグ設定 xr_logic.pstor_store(db.actor, "x_first_run", false) 引数: 固定。上記の通りに記述する。 戻り値: なし 使用例: if (ゲーム開始直後であるか?) then ゲーム起動時に行いたい処理 xr_logic.pstor_store(db.actor, "x_first_run", false) end ■文字列一致判定 string.find(文字列1, 文字列2) 引数: 文字列1:文字列型 文字列2:文字列型 戻り値(フラグ型): true :一致 false:不一致 使用例: if (string.find(obj_name, "repair_kit") == true) then アイテムIDが"repair_kit"であった時に行う処理 end この例では文字列1には文字列情報が格納された変数「obj_name」を、文字列2には変数を使用せずに文字列を直接指定している。 ■装備アイテム情報取得 db.actor:item_in_slot(装備スロット) 引数: 装備スロット番号:整数型 1:サブ武器スロット 2:メイン武器スロット 6:防具スロット 戻り値(構造体): アイテム情報 使用例: local item_in_slot_1 = db.actor:item_in_slot(1) local item_in_slot_2 = db.actor:item_in_slot(2) local item_in_slot_6 = db.actor:item_in_slot(6) ■アイテム耐久度取得 アイテム情報:condition() 引数: なし 戻り値(小数型): アイテム耐久度:「0.00〜1.00」の範囲。 「0.00」が0%、つまり完全に壊れている。「1.00」が新品状態。 使用例: local item_condition_1 = item_in_slot_1:condition() local item_condition_2 = item_in_slot_2:condition() local item_condition_6 = item_in_slot_6:condition() ■アイテム耐久度設定 アイテム情報:set_condition(設定したい耐久度) 引数: 設定したい耐久度:小数型 「0.00〜1.00」の範囲で指定する。 戻り値:なし 使用例: item_in_slot_1:set_condition(0.20) item_in_slot_2:set_condition(1.00) item_in_slot_6:set_condition(item_in_slot_6:condition() + 0.20) この例ではサブ武器の耐久度が20%になり(回復ではない)、メイン武器が新品同様に、防具の耐久度が20%回復する。 ■ランダム数値取得 math.random(最小値, 最大値) 引数: 最小値:整数型 最大値:整数型 戻り値(整数型): 指定した範囲内のランダムな数値。 使用例: lucky_num_1 = math.random(1, 10) この例では「1〜10」のいずれかの数値がランダムで返される。 |