DetectMagicUse

概要

指定した魔法をキャラクターが使ったかどうか調べます。

プロトタイプ

void *DetectMagicUse(int magic);

戻り値

指定した魔法を使用したキャラクターがいれば、そのキャラクターのポインタが返ります。それ以外の場合は NULL が返ります。

パラメータ

magic

使用したかどうか調べる魔法のインデックス

解説

DetectMagicUse 関数は、アクションログを調べて、いずれかのキャラクターが magic で指定された魔法を使用したかどうか調べます。指定された魔法を使用したキャラクターがいれば、アクションログからそのデータを削除して、魔法を使用したキャラクターのポインタを返します。NormalProcess 関数が実行されると、それまでのアクションログがクリアされ、同時に新たに魔法が使用される可能性があります。また、OpenItemBox 関数の実行中にも呪符によって魔法が使用される可能性があります。OpenItemBox 関数が実行された後で DetectMagicUse 関数が実行されずに NormalProcess 関数が実行されると、その魔法が使用されたことはわからなくなってしまうので注意してください (しかも、その呪符が使い捨てならなくなってしまいます)。複数のキャラクターが同時に同じ魔法を使用した場合も考慮したい場合、DetectMagicUse 関数の戻り値が NULL になるまで繰り返し実行することで、その魔法を使用した複数のキャラクターをすべて処理することができます。

▲SecTop | ▲PageTop
Copyright (c) 1999-2006 インターネット停留所