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.