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.