Lua/Triggers
トリガ
これらはスクリプトがAlephOneが特定の時や出来事で呼ぶように定義できる関数である。以下は、HPを回復させるコード:
Triggers = {
スクリプト開始時にTriggers = {}を呼び出す理由は、スクリプトの起動を早くするため。
- init(restoring_game)
- レベルの最初。
- restoring_game
- 保存されたゲームから再開するときはtrue
- cleanup()
- レベルの最後。主にこれはゲーム後の虐殺レポートの前にネットゲームの点を変える最後のチャンスを意図している
- idle()
- ティック(1/30秒)ごとに、物理などの前
- postidle()
- ティックごとに、物理などの後で、描画の前
- start_refuel(type, player_index, side_index)
- プレーヤーが回復パネルを使い始める前
- end_refuel(type, player_index, side_index)
- プレーヤーが回復パネルを使い終わった後
- tag_switch(tag, player)
- プレーヤーがタグ・スイッチを使うとき武器(拳骨など)でスイッチを操作したときは呼ばれない
- light_switch(light, player)
- プレーヤーがライト・スイッチを使うとき武器(拳骨など)でスイッチを操作したときは呼ばれない
- platform_switch(platform, player)
- プレーヤーがプラットフォーム・スイッチを使うとき武器(拳骨など)でスイッチを操作したときは呼ばれない
- terminal_enter(terminal_id, player)
- プレーヤーがターミナルを使い始めたとき
- terminal_exit(terminal_id, player)
- プレーヤーがターミナルを使い終えたとき
- pattern_buffer(buffer_id, player)
- プレーヤーがパターンバッファを使うとき
- got_item(type, player)
- プレーヤーがアイテムを拾ったときさらにスクリプトが.items.add()を使ってアイテムを得たときも
- light_activated(index)
- ライトがオンになったかオフになったとき
- platform_activated(index)
- プラットフォームが起動したか停止したとき
- player_revived(player)
- プレーヤーが生き返ったとき(ネットワークゲームでしか起こらない)
- player_killed(player, aggressor_player, action, projectile)
- プレーヤーが死んだとき
- aggressor_player
- プレーヤーを殺したプレーヤー、自分もありうる(自殺)、プレーヤー以外の時は-1
- action
- 現時点はニューモニックがないため使用は困難
- projectile
- 最後の一撃を加えたショット、ないときは-1
- player_damaged(victim_player_index, aggressor_player_index, aggressor_monster_index, damage_type, damage_amount, projectile)
- プレーヤーがダメージを受けた時で、適用可能なら死ぬ前。プレーヤーのスーツのエネルギーか酸素はこのトリガーが呼ばれたときには負でもよい。もしトリガがリターンしたときにまだ負の時は、0にセットされる。プレーヤーのスーツのエネルギーはこのトリガが返った後再評価されるため、スクリプトはプレーヤーの死を防ぐことができる。
- victim_player_index
- 犠牲者がプレーヤー以外からダメージを受けたときは-1
- aggressor_monster_index
- 犠牲者がプレーヤーでもモンスターでもないものからダメージを受けたときは-1
- damage_type
- ダメージ型の一つ。例: _damage_fusion
- damage_amount
- 最近プレーヤーから減らされた量。もし_damage_oxygen_drainの時は、damage_amountはプレーヤーの酸素に対して評価される。さもなければスーツエネルギーに対して評価される,
- projectile
- ダメージをもたらしたショット、ないときは-1
- monster_killed(monster, aggressor_player, projectile)
- モンスターが死んだとき
これはモンスターが致死のダメージを受けた後だが、モンスターリストから削除される前に呼ばれる。これをいつnew_monsterが作られたモンスターが死んだかを見つけるために使うことができるが、select_monsterによって発見されたモンスターはすでに致死ダメージを受けているかもしれないので、 select_monsterを使うときはそのような場合を検査する必要があるかもしれない。- aggressor_player
- 殺したプレーヤーのインデックス、プレーヤー以外に殺されたときは-1
- projectile
- 最後の一撃を加えたショット、ないときは-1
- item_created(item_index)
- アイテムが作られてどこか地面に置かれてら(か浮いてる)とき現在、初期配置はLuaが初期化される前に行われるため、初期配置に対してはトリガーしない。
- projectile_detonated(type, owner, polygon, x, y, z)
- ショットが命中し、効果ダメージをエリアに行った後
Last Modified: 2012-01-13 20:32:41