GetIsTalentValid(talent)
タレントが有効かどうかを調べます。
int GetIsTalentValid( talent tTalent );
Parameters
tTalent
有効性を調べたいタレント
Description
tTalentが有効ならばTRUEを返します。(OBJECT_INVALIDテストと同種です)
Remarks
タレントは呪文、スキル、特技です。この関数はクリーチャーがタレントを所有しているかどうか以外何もしません − 与えられたタレントがゲームに存在するかどうかを単に調べます。
しかしながら、無効なタレントと遭遇するかどうか困難です。タレントオブジェクトは以下の3つの関数のうちの1つによって構築されます。TalentFeat(FEAT_*)、TalentSkill(SKILL_*)、そしてTalentSpell(SPELL_*)です。スクリプト・コンパイラは、したがってコンパイラ・エラーとして潜在的な無効のタレントほとんど全てにフラグを立てることができます。
「GetFirstTalent()」や「GetNextTalent()」のような関数があった場合、GetIsTalentValidはwhile-loopの条件を置くのに役立つでしょう。
GetCreatureTalentRandom()関数は与えられたタレントグループから任意のタレントを返し、そのクリーチャーが任意に生成されたタレントを所有しない場合、無効のタレントを返すでしょう。
Version
1.22
Example
void main() { talent tFireBall = TalentSpell(SPELL_FIREBALL); // 有効 talent tHeal = TalentSkill(SKILL_HEAL); // 有効 talent tJuggle = TalentSkill(SKILL_JUGGLE); // 無効、しかしコンパイルできる talent tMissle = TalentFeat(SPELL_MAGIC_MISSLE); // 無効、しかしコンパイルできない if (!GetIsTalentValid(tMissle)) SendMessageToAllDMs("tMissle is not a valid talent"); // OBJECT_SELFにとってランダムに有効なタレントを調べる if (!GetIsTalentValid( GetCreatureTalentRandom(TALENT_CATEGORY_BENEFICIAL_PROTECTION_SINGLE) )) { SendMessageToAllDMs("Creature calling this script does not have a self protection talent."); } }
See Also
functions: | GetCreatureHasTalent | GetCreatureTalentBest | GetCreatureTalentRandom |
categories: | Talents/Skills/Feats Functions |
author: Jason Harris, editor: Charles Feduke, additional contributor(s): James Allen, JP team: Rainie
Send comments on this topic.