TakeGoldFromCreature(int, object, int)

クリーチャーから指定した金額を取り除きます。

void TakeGoldFromCreature(
    int nAmount,
    object oCreatureToTakeFrom,
    int bDestroy = FALSE
);

Parameters

nAmount

取り除く金額

oCreatureToTakeFrom

もしこれが有効なクリーチャーでなければ、何も起こりません。

bDestroy

これがTRUEであれば、呼出者はゴールドを得ません。その代わりに、ゴールドは破壊され、ゲームから消滅します。(デフォルト:FALSE)


Description

oCreatureToTakeFromからnAmountゴールドを取り除きます。



Remarks

bDestroyに対するデフォルト値はFALSEですが、最も一般的な使用法はTRUEです。実際、BiowareはデフォルトのbDestroyをTRUEにした以外は同様のパラメーターを持つTakeGold関数(NW_I0_TOOL内)をつくりました。(そしてこの関数を下位呼出にしました)


Version

1.22

Example

// これはBiowareの復活プログラムである
// * プレイヤーは復活の際にXPとGPにペナルティが課せられる
void ApplyPenalty(object oDead)
{
    int nXP = GetXP(oDead);
    int nPenalty = 50 * GetHitDice(oDead);
    int nHD = GetHitDice(oDead);
    // * 復活の際にレベルまで失うことはありません
    int nMin = ((nHD * (nHD - 1)) / 2) * 1000;

    int nNewXP = nXP - nPenalty;
    if (nNewXP < nMin)
       nNewXP = nMin;
    SetXP(oDead, nNewXP);
    int nGoldToTake =    FloatToInt(0.10 * GetGold(oDead));
    // * 奪われるゴールドの上限は10000gpです
    if (nGoldToTake > 10000)
    {
        nGoldToTake = 10000;
    }
    AssignCommand(oDead, TakeGoldFromCreature(nGoldToTake, oDead, TRUE));
    DelayCommand(4.0, FloatingTextStrRefOnCreature(58299, oDead, FALSE));
    DelayCommand(4.8, FloatingTextStrRefOnCreature(58300, oDead, FALSE));

}

See Also

functions: GiveGoldToCreature | TakeGold | TakeNumItems
categories: Money Functions


author: Tom Cassiotis, JP team: geshi, Rainie
Send comments on this topic.