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.