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.