SetIsTemporaryEnemy(object, object, int, float)
無限時間もしくは一定時間、クリーチャーが別のクリーチャーを敵対と見なすようにします。
void SetIsTemporaryEnemy( object oTarget, object oSource = OBJECT_SELF, int bDecays = FALSE, float fDurationInSeconds = 180.0f );
Parameters
oTarget
関係を変化されるオブジェクト
oSource
意見を変えるクリーチャー(デフォルト: OBJECT_SELF)
bDecays
TRUEであれば、敵意はfDurationInSecondsを越えるとなくなります。そのほかの場合は無限時間に敵意を持ちます。(デフォルト: FALSE)
fDurationInSeconds
bDecaysがTRUEの場合のみ使用します。これは敵意を持つ時間を表します。(デフォルト: 180.0f)
Description
個人的な関係調整を使用してoSourceがoTargetの一時的な敵であるようにします。
Note: bDecaysがTRUEであれば、fDurationInSeconds以上は個人的な評判量は減少します。敵意は(ファクション関係 + 個人的な全評判)がREPUTATION_TYPE_ENEMY以下である間、続くでしょう。
Remarks
ファクションがクリーチャーを敵対と見なすような場合は、この関数の代わりにAdjustReputationを使うべきです。
David Gaider's (Bioware) Scripting FAQ より:
COMMON PROBLEMS: あなたが戦闘させたいクリーチャーがコモナーのレベルを持っていないことを確かめてください。コモナーはgeneric AIによって敵から逃げるように、そして近くにレベル10以上のコモナーが居るときは群れになるように設定されています。
また、OnSpawnスクリプト内で'Special Behaviors'を使用(special behaviorコマンド行をコメントアウト)するなかで'Herbivore'行動を使用していないかどうかを確かめてください。草食動物(Herbivores)は決して戦闘を行わず、いつも逃げてしまいます。
David Gaider (Bioware) による別の投稿より:
プロットフラグを持っているクリーチャーは敵になりません。それは破壊不可能なNPCが偶然、PCについて何かにより設定されて、PCを追いかけることを防ぐためです。
もしあなたが破壊不可能なNPCにPCを攻撃させたいならば、NPCを敵に変える前に、特別にプロットフラグを取り除いてそれを行う必要があります。
Version
1.22
Example
//:://///////////////////////////////////////////// //:: Attack on End of Conversation //:: NW_D1_AttOnEnd02 //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* このスクリプトはNPCを現在会話中の人物へ 攻撃させます。キャラクタ単体を敵にするだけで ファクション全体ではありません。n*/ //::////////////////////////////////////////////// //:: Created By: Preston Watamaniuk //:: Created On: Nov 7, 2001 //::////////////////////////////////////////////// #include "NW_I0_GENERIC" void main() { SetIsTemporaryEnemy(GetPCSpeaker()); DetermineCombatRound(); }
See Also
functions: | AdjustReputation |
categories: | Reputation/Faction Functions |
constants: | REPUTATION_TYPE_* Constants |
author: Tom Cassiotis, JP team: Redondo
Send comments on this topic.