Voir le sujet précédent ¤
Voir le sujet suivant
|
Auteur |
Message |
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline |
Posté le : 23/07/2006 11:23:32 Sujet du message : [résolu !] Script pour lanceur de sort pnj
Bonjour à toutes et à tous.
Je suis à la recherche d'un script qui me serait bien utile pour mes magos pnjs. En effet, leur taux de mortalité en face d'un guerrier ou d'un pretre boosté avec tous ses sorts et objets... ça ne lui laisse pas beaucoup de chance, à part par groupe de 8 dans les rencontres.
Donc voilà, je souhaiterais en fait que quand mon pnj lanceur de sort spawne, il soit deja tout boosté avec des sorts. Je crois qu'il existe une fonction qui fait ça dans les scripts de nwn par défaut (onspawn, onheartbeat...?) mais j'ai du mal à tout comprendre.
Quelqu'un pour éclairer ma lanterne ?
Dernière édition par chevalier blanc le 24/07/2006 12:51:32; édité 1 fois
|
|
Revenir en haut |
|
|
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde |
Posté le : 23/07/2006 11:29:55 Sujet du message :
Dans le OnSpawn de la creature tu met ApplyEffectToObject() patati patata et les sorts seront mis dès qu'il aura spawn. _________________ [http]
|
|
Revenir en haut |
|
|
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline |
Posté le : 23/07/2006 12:11:09 Sujet du message :
Euh... désolé d'avoir à te dire ça mais, j'ai rien compris du tout.
Ca c'est le script par defaut :
Ce message est un spoiler, et risque de vous informer de choses que vous auriez dû apprendre par vous même (fin d'un jeu, film, etc). À vos risques et périls (ludiques), vous pouvez le voir en cliquant sur cet avertissement.Spoiler :NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
Je le met ou ton ApplyEffectToObject() patati patata ?
|
|
Revenir en haut |
|
|
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
|
Posté le : 23/07/2006 12:54:30 Sujet du message :
Ce que tu cherches c'est le TalentAdvancedBuff().
C'est une fonction qui fait ce que tu veux : booster un PNJ instantanément.
Dans le HeartBeat par défaut, il y a une vérification, qui lance cette fonction si un flag est à TRUE sur le PNJ (je me rappele pas e nom du flag)
Donc tu peux changer le OnSpawn de ton PNJ pour mettre ce flag en route (si ça se trouve il y a une partie commentée correspondante), comme ça en présence d'ennemis à moins de 40 mètres il se retrouve boosté à bloc.
Le script est vieux et a pas été mis à jour depuis longtemps, ce qui fait que pas mal de sorts parmis les plus récents sont oubliés... J'ai posté une correction sur NWN-Système, avec plus de sorts de boost, regarde à l'occasion.
|
|
Revenir en haut |
|
|
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline |
Posté le : 23/07/2006 13:10:44 Sujet du message :
Ok ok ok donc je récapitule...
1) faire un script OnHeartBeat du style
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
2) compiler ton script de nwn systeme sous le nom "machinchose"
Ce message est un spoiler, et risque de vous informer de choses que vous auriez dû apprendre par vous même (fin d'un jeu, film, etc). À vos risques et périls (ludiques), vous pouvez le voir en cliquant sur cet avertissement.Spoiler :NWScript :
///version modifiee de TalentAdvancedBuff()
///(x0_i0_talent)
///bAllClassSpell :
/// TRUE : le lanceur verifiera s'il possede les sorts de toutes les classes
/// FALSE : (defaut) seulement les sorts ou il possede des niveaux
/// renvoie TRUE si le buff a lieu FALSE sinon
/// Par Sith Vicious
/////////////////////////
#include "x0_inc_generic"
int MyBuff(float fDistance, int bInstant = TRUE, int bAllClassSpell = FALSE)
{
object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF, 1, CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY);
if(GetIsObjectValid(oPC))
{
if(GetDistanceToObject(oPC) <= fDistance)
{
//int bPaladin = GetLevelByClass(CLASS_TYPE_PALADIN);
int bMage = bAllClassSpell || GetLevelByClass(CLASS_TYPE_WIZARD) || GetLevelByClass(CLASS_TYPE_SORCERER) || GetLevelByClass(CLASS_TYPE_BARD);
int bDruid = bAllClassSpell || GetLevelByClass(CLASS_TYPE_DRUID);
int bRanger = bAllClassSpell || GetLevelByClass(CLASS_TYPE_RANGER);
int bCleric = bAllClassSpell || GetLevelByClass(CLASS_TYPE_CLERIC);
//int bBard = GetLevelByClass(CLASS_TYPE_BARD);
if (bDruid || bRanger) SummonAnimalCompanion();
if (bMage) SummonFamiliar();
if(!GetIsFighting(OBJECT_SELF))
{
ClearActions(CLEAR_X0_I0_TALENT_AdvancedBuff);
//Combat Protections
if(GetHasSpell(SPELL_PREMONITION) && !GetHasSpellEffect(SPELL_PREMONITION))
{
ActionCastSpellAtObject(SPELL_PREMONITION, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_GREATER_STONESKIN)&& !GetHasSpellEffect(SPELL_GREATER_STONESKIN))
{
ActionCastSpellAtObject(SPELL_GREATER_STONESKIN, OBJECT_SELF, METAMAGIC_NONE, 0, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_STONESKIN)&& !GetHasSpellEffect(SPELL_STONESKIN))
{
ActionCastSpellAtObject(SPELL_STONESKIN, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_BARKSKIN)&& !GetHasSpellEffect(SPELL_BARKSKIN))
{
ActionCastSpellAtObject(SPELL_STONESKIN, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Visage Protections
if(GetHasSpell(SPELL_SHADOW_SHIELD)&& !GetHasSpellEffect(SPELL_SHADOW_SHIELD))
{
ActionCastSpellAtObject(SPELL_SHADOW_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_ETHEREAL_VISAGE)&& !GetHasSpellEffect(SPELL_ETHEREAL_VISAGE))
{
ActionCastSpellAtObject(SPELL_ETHEREAL_VISAGE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_GHOSTLY_VISAGE)&& !GetHasSpellEffect(SPELL_GHOSTLY_VISAGE))
{
ActionCastSpellAtObject(SPELL_GHOSTLY_VISAGE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_DISPLACEMENT)&& !GetHasSpellEffect(SPELL_DISPLACEMENT))
{
ActionCastSpellAtObject(SPELL_DISPLACEMENT, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Mantle Protections
if(GetHasSpell(SPELL_GREATER_SPELL_MANTLE)&& !GetHasSpellEffect(SPELL_GREATER_SPELL_MANTLE))
{
ActionCastSpellAtObject(SPELL_GREATER_SPELL_MANTLE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SPELL_MANTLE)&& !GetHasSpellEffect(SPELL_SPELL_MANTLE))
{
ActionCastSpellAtObject(SPELL_SPELL_MANTLE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_LESSER_SPELL_MANTLE)&& !GetHasSpellEffect(SPELL_LESSER_SPELL_MANTLE))
{
ActionCastSpellAtObject(SPELL_LESSER_SPELL_MANTLE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
// Globes
if(GetHasSpell(SPELL_GLOBE_OF_INVULNERABILITY)&& !GetHasSpellEffect(SPELL_GLOBE_OF_INVULNERABILITY))
{
ActionCastSpellAtObject(SPELL_GLOBE_OF_INVULNERABILITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_MINOR_GLOBE_OF_INVULNERABILITY)&& !GetHasSpellEffect(SPELL_MINOR_GLOBE_OF_INVULNERABILITY))
{
ActionCastSpellAtObject(SPELL_MINOR_GLOBE_OF_INVULNERABILITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Misc Protections
if(GetHasSpell(SPELL_ELEMENTAL_SHIELD)&& !GetHasSpellEffect(SPELL_ELEMENTAL_SHIELD))
{
ActionCastSpellAtObject(SPELL_ELEMENTAL_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if (GetHasSpell(SPELL_MESTILS_ACID_SHEATH)&& !GetHasSpellEffect(SPELL_MESTILS_ACID_SHEATH))
{
ActionCastSpellAtObject(SPELL_MESTILS_ACID_SHEATH, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if (GetHasSpell(SPELL_DEATH_ARMOR)&& !GetHasSpellEffect(SPELL_DEATH_ARMOR))
{
ActionCastSpellAtObject(SPELL_DEATH_ARMOR, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Elemental Protections
if(GetHasSpell(SPELL_ENERGY_BUFFER)&& !GetHasSpellEffect(SPELL_ENERGY_BUFFER))
{
ActionCastSpellAtObject(SPELL_ENERGY_BUFFER, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_PROTECTION_FROM_ELEMENTS)&& !GetHasSpellEffect(SPELL_PROTECTION_FROM_ELEMENTS))
{
ActionCastSpellAtObject(SPELL_PROTECTION_FROM_ELEMENTS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_RESIST_ELEMENTS)&& !GetHasSpellEffect(SPELL_RESIST_ELEMENTS))
{
ActionCastSpellAtObject(SPELL_RESIST_ELEMENTS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_ENDURE_ELEMENTS)&& !GetHasSpellEffect(SPELL_ENDURE_ELEMENTS))
{
ActionCastSpellAtObject(SPELL_ENDURE_ELEMENTS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Mental Protections
if(GetHasSpell(SPELL_MIND_BLANK)&& !GetHasSpellEffect(SPELL_MIND_BLANK))
{
ActionCastSpellAtObject(SPELL_MIND_BLANK, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_LESSER_MIND_BLANK)&& !GetHasSpellEffect(SPELL_LESSER_MIND_BLANK))
{
ActionCastSpellAtObject(SPELL_LESSER_MIND_BLANK, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_CLARITY)&& !GetHasSpellEffect(SPELL_CLARITY))
{
ActionCastSpellAtObject(SPELL_CLARITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Summon Ally
if (GetAssociate(ASSOCIATE_TYPE_SUMMONED)==OBJECT_INVALID)
{
if(GetHasSpell(SPELL_ELEMENTAL_SWARM))
{
ActionCastSpellAtLocation(SPELL_ELEMENTAL_SWARM, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_BLACK_BLADE_OF_DISASTER))
{
ActionCastSpellAtLocation(SPELL_BLACK_BLADE_OF_DISASTER, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_MORDENKAINENS_SWORD))
{
ActionCastSpellAtLocation(SPELL_MORDENKAINENS_SWORD, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_IX))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_IX, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_GREATER_PLANAR_BINDING))
{
ActionCastSpellAtLocation(SPELL_GREATER_PLANAR_BINDING, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_VIII))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_VIII, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_VII))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_VII, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_PLANAR_BINDING))
{
ActionCastSpellAtLocation(SPELL_PLANAR_BINDING, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_PLANAR_ALLY))
{
ActionCastSpellAtLocation(SPELL_PLANAR_ALLY, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_VI))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_VI, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_LESSER_PLANAR_BINDING))
{
ActionCastSpellAtLocation(SPELL_LESSER_PLANAR_BINDING, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_V))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_V, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_IV))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_IV, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_ANIMATE_DEAD))
{
ActionCastSpellAtLocation(SPELL_ANIMATE_DEAD, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_III))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_III, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_II))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_II, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_I))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_I, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SHELGARNS_PERSISTENT_BLADE))
{
ActionCastSpellAtLocation(SPELL_SHELGARNS_PERSISTENT_BLADE, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
}
//boost carac
if(GetHasSpell(SPELL_GREATER_BULLS_STRENGTH) && !GetHasSpellEffect(SPELL_GREATER_BULLS_STRENGTH))
{
ActionCastSpellAtObject(SPELL_GREATER_BULLS_STRENGTH, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_BULLS_STRENGTH) && !GetHasSpellEffect(SPELL_BULLS_STRENGTH))
{
ActionCastSpellAtObject(SPELL_BULLS_STRENGTH, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_EAGLE_SPLENDOR) && !GetHasSpellEffect(SPELL_GREATER_EAGLE_SPLENDOR))
{
ActionCastSpellAtObject(SPELL_GREATER_EAGLE_SPLENDOR, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_EAGLE_SPLEDOR) && !GetHasSpellEffect(SPELL_EAGLE_SPLEDOR))
{
ActionCastSpellAtObject(SPELL_EAGLE_SPLEDOR, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_CATS_GRACE) && !GetHasSpellEffect(SPELL_GREATER_CATS_GRACE))
{
ActionCastSpellAtObject(SPELL_GREATER_CATS_GRACE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_CATS_GRACE) && !GetHasSpellEffect(SPELL_CATS_GRACE))
{
ActionCastSpellAtObject(SPELL_CATS_GRACE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_FOXS_CUNNING) && !GetHasSpellEffect(SPELL_GREATER_FOXS_CUNNING))
{
ActionCastSpellAtObject(SPELL_GREATER_FOXS_CUNNING, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_FOXS_CUNNING) && !GetHasSpellEffect(SPELL_FOXS_CUNNING))
{
ActionCastSpellAtObject(SPELL_FOXS_CUNNING, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_OWLS_WISDOM) && !GetHasSpellEffect(SPELL_GREATER_OWLS_WISDOM))
{
ActionCastSpellAtObject(SPELL_GREATER_OWLS_WISDOM, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_OWLS_WISDOM) && !GetHasSpellEffect(SPELL_OWLS_WISDOM))
{
ActionCastSpellAtObject(SPELL_OWLS_WISDOM, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_ENDURANCE) && !GetHasSpellEffect(SPELL_GREATER_ENDURANCE))
{
ActionCastSpellAtObject(SPELL_GREATER_ENDURANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_ENDURANCE) && !GetHasSpellEffect(SPELL_ENDURANCE))
{
ActionCastSpellAtObject(SPELL_ENDURANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Autres protections
if(GetHasSpell(SPELL_DEATH_WARD) && !GetHasSpellEffect(SPELL_DEATH_WARD))
{
ActionCastSpellAtObject(SPELL_DEATH_WARD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_FREEDOM_OF_MOVEMENT) && !GetHasSpellEffect(SPELL_FREEDOM_OF_MOVEMENT))
{
ActionCastSpellAtObject(SPELL_FREEDOM_OF_MOVEMENT, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_NEGATIVE_ENERGY_PROTECTION) && !GetHasSpellEffect(SPELL_NEGATIVE_ENERGY_PROTECTION))
{
ActionCastSpellAtObject(SPELL_NEGATIVE_ENERGY_PROTECTION, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_PROTECTION_FROM_SPELLS) && !GetHasSpellEffect(SPELL_PROTECTION_FROM_SPELLS))
{
ActionCastSpellAtObject(SPELL_PROTECTION_FROM_SPELLS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_SHIELD_OF_FAITH) && !GetHasSpellEffect(SPELL_SHIELD_OF_FAITH))
{
ActionCastSpellAtObject(SPELL_SHIELD_OF_FAITH, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_SPELL_RESISTANCE) && !GetHasSpellEffect(SPELL_SPELL_RESISTANCE))
{
ActionCastSpellAtObject(SPELL_SPELL_RESISTANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Autres boost
if(GetHasSpell(SPELL_BLESS) && !GetHasSpellEffect(SPELL_BLESS))
{
ActionCastSpellAtObject(SPELL_BLESS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_AID) && !GetHasSpellEffect(SPELL_AID))
{
ActionCastSpellAtObject(SPELL_AID, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_MASS_HASTE) && !GetHasSpellEffect(SPELL_MASS_HASTE))
{
ActionCastSpellAtObject(SPELL_MASS_HASTE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_HASTE) && !GetHasSpellEffect(SPELL_HASTE))
{
ActionCastSpellAtObject(SPELL_HASTE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_RESISTANCE) && !GetHasSpellEffect(SPELL_RESISTANCE))
{
ActionCastSpellAtObject(SPELL_RESISTANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//invisibilite
if(GetHasSpell(SPELL_IMPROVED_INVISIBILITY) && !GetHasSpellEffect(SPELL_IMPROVED_INVISIBILITY))
{
ActionCastSpellAtObject(SPELL_IMPROVED_INVISIBILITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_INVISIBILITY_SPHERE) && !GetHasSpellEffect(SPELL_INVISIBILITY_SPHERE))
{
ActionCastSpellAtObject(SPELL_INVISIBILITY_SPHERE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_INVISIBILITY) && !GetHasSpellEffect(SPELL_INVISIBILITY))
{
ActionCastSpellAtObject(SPELL_INVISIBILITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Armes magiques
if(GetHasSpell(SPELL_GREATER_MAGIC_WEAPON) && !GetHasSpellEffect(SPELL_GREATER_MAGIC_WEAPON))
{
ActionCastSpellAtObject(SPELL_GREATER_MAGIC_WEAPON, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_DARKFIRE) && !GetHasSpellEffect(SPELL_DARKFIRE))
{
ActionCastSpellAtObject(SPELL_DARKFIRE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_MAGIC_WEAPON) && !GetHasSpellEffect(SPELL_MAGIC_WEAPON))
{
ActionCastSpellAtObject(SPELL_MAGIC_WEAPON, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_BLESS_WEAPON) && !GetHasSpellEffect(SPELL_BLESS_WEAPON))
{
ActionCastSpellAtObject(SPELL_BLESS_WEAPON, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_KEEN_EDGE) && !GetHasSpellEffect(SPELL_KEEN_EDGE))
{
ActionCastSpellAtObject(SPELL_KEEN_EDGE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//vision
if(GetHasSpell(SPELL_TRUE_SEEING) && !GetHasSpellEffect(SPELL_TRUE_SEEING))
{
ActionCastSpellAtObject(SPELL_TRUE_SEEING, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE) && !GetHasSpellEffect(SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE))
{
ActionCastSpellAtObject(SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//DRUIDE
if (bDruid || bRanger)
{
if(GetHasSpell(SPELL_GREATER_MAGIC_FANG))
{
ActionCastSpellAtObject(SPELL_GREATER_MAGIC_FANG, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_MAGIC_FANG))
{
ActionCastSpellAtObject(SPELL_MAGIC_FANG, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if (bDruid)
{
if(GetHasSpell(SPELL_AURA_OF_VITALITY)&& !GetHasSpellEffect(SPELL_AURA_OF_VITALITY))
{
ActionCastSpellAtObject(SPELL_AURA_OF_VITALITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_BLOOD_FRENZY)&& !GetHasSpellEffect(SPELL_BLOOD_FRENZY))
{
ActionCastSpellAtObject(SPELL_BLOOD_FRENZY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
}
}
//MAGES ENSOS BARDES
if (bMage)
{
if(GetHasSpell(SPELL_SHIELD) && !GetHasSpellEffect(SPELL_SHIELD))
{
ActionCastSpellAtObject(SPELL_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_MAGE_ARMOR) && !GetHasSpellEffect(SPELL_MAGE_ARMOR))
{
ActionCastSpellAtObject(SPELL_MAGE_ARMOR, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_IRONGUTS) && !GetHasSpellEffect(SPELL_IRONGUTS))
{
ActionCastSpellAtObject(SPELL_IRONGUTS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
}
//PRETRES
if (bCleric)
{
if(GetHasSpell(SPELL_DIVINE_SHIELD) && !GetHasSpellEffect(SPELL_DIVINE_SHIELD))
{
ActionCastSpellAtObject(SPELL_DIVINE_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_DIVINE_POWER) && !GetHasSpellEffect(SPELL_DIVINE_POWER))
{
ActionCastSpellAtObject(SPELL_DIVINE_POWER, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_ENTROPIC_SHIELD) && !GetHasSpellEffect(SPELL_ENTROPIC_SHIELD))
{
ActionCastSpellAtObject(SPELL_ENTROPIC_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_MAGIC_VESTMENT) && !GetHasSpellEffect(SPELL_ENTROPIC_SHIELD))
{
ActionCastSpellAtObject(SPELL_MAGIC_VESTMENT, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_UNDEATHS_ETERNAL_FOE) && !GetHasSpellEffect(SPELL_UNDEATHS_ETERNAL_FOE))
{
ActionCastSpellAtObject(SPELL_UNDEATHS_ETERNAL_FOE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
}
return TRUE;
}
}
}
return FALSE;
} Le code a colorer syntaxiquement est trop long (plus de 10240 caractères) et risque de ne pas s'afficher du tout. Vous pouvez le voir en version colorée ici.
afin d'eviter de surcharger le onheartbeat...
3) ben ... normalement ca doit marcher !
Je me suis pas trompé ?
|
|
Revenir en haut |
|
|
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
|
Posté le : 23/07/2006 14:02:24 Sujet du message :
Dans les grandes lignes c'est ça.
Juste là mon script est une fonction, donc il faut lui ajouter un main() qui appele cette fonction.
Et déplacer la vérification qu'il y a un ennemi à portée dans le HeartBeat du PNJ. Et dernière chose, ça doit se lancer qu'une fois donc jouer sur une variable pour savoir si ça a déjà été lancé ou pas.
|
|
Revenir en haut |
|
|
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline |
Posté le : 23/07/2006 14:10:23 Sujet du message :
Sith Vicious a écrit :Et déplacer la vérification qu'il y a un ennemi à portée dans le HeartBeat du PNJ. Et dernière chose, ça doit se lancer qu'une fois donc jouer sur une variable pour savoir si ça a déjà été lancé ou pas. oulà ... ça se complique
Je me la joue encore un peu boulet mais bon... je fais comment
|
|
Revenir en haut |
|
|
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde |
Posté le : 23/07/2006 14:16:25 Sujet du message :
Main() :
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
Hmm dans le heartbeat tu fais que si il y a un ennemi dans la zone (prés de ton mage) et bien tu active la fonction. _________________ [http]
|
|
Revenir en haut |
|
|
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline |
Posté le : 23/07/2006 14:27:19 Sujet du message :
Pour le main j'avais compris
J'ai fait un script comme ca pour le OnHeartBeat :
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
Je suis sur la bonne piste ?
Pour la variable j'ai pas tout compris non plus
|
|
Revenir en haut |
|
|
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline |
Posté le : 23/07/2006 14:37:15 Sujet du message :
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
Hem j'ai fait ça ...en mettant la variable "BOOST" sur le pnj à 0 par défaut, est ce que ce sera mieux qu'avant ?
Dernière édition par chevalier blanc le 23/07/2006 15:00:20; édité 2 fois
|
|
Revenir en haut |
|
|
Noon
Héros
Inscrit le: 15 Jan 2005
Messages: 272
Localisation: Entre Vannes et les RO |
Posté le : 23/07/2006 14:57:15 Sujet du message :
Salut, j'avais trouvé un système un peu différent sur le Vault pour faire des contingences (les sorts se lancent dès qu'il voit une créature, j'ai rajouté les sorts des addons):
NWScript ://: //////////////////////////////////////////////
//:: Pseudo Contingency Script!!!!
//:: Used to buff up those mages a bit before combat..
//:: 01/12/03, by BrianDahlquist/Plas
//: /////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/*
Instructions: Put this Script in the SpellCasters :OnPerception: script. Give
the caster a Tag in the format PCS_XX_YY_ZZ, where
XX,YY,ZZ = All integers, between 00-31, to pick which spell is cast when
the wizard sees a hostile player.
Tag MUST be full 12 characters long. If you only want to cast one or two spells,
put in '00' for the parameter.
00 = Cast no Spell.
//Level One Spells
01 = MageArmor
02 = ProtectionFromLaw
41 = Shield
//Level Two Spells
03 = ResistElements
04 = CatsGrace
05 = Endurance
06 = Ghostly Visage
07 = See Invisibility
32 = invisibility
//Level Three Spells
08 = Haste
09 = MagicCircleAgainst Good
10 = ProtectionFromElements
33 = Massinv
//Level Four Spells
11 = ImprovedInvis
12 = MinorGlobeOfInvulnerability
13 = PolyMorph Self
14 = StoneSkin
//Level Five Spells
15 = ElementalShield
16 = EnergyBuffer
17 = LesserSpellMantle
42 = MestilsAcidSheath
//Level SixSpells
18 = EtherealVisage
19 = GlobeOfInvulnerability
20 = GreaterStoneSkin
21 = MassHaste
22 = TensersTransformation
23 = TrueSeeing
//Level Seven Spells
24 = ProtectionFromSpells
25 = ShadowShield
26 = SpellMantle
//Level EightSpells
27 = MindBlank
28 = Premonition
//Level NineSpells
29 = GreaterSpellMantle
30 = ShapeChange
31 = TimeStop
//LeveL Priest
34 = Aid
35 = Bless
36 = Divine Power
37 = Prayer
38 = regenerate
//LeveL Epic
39 = Epicwarding
40 = MageArmor
*/
////////////////////////////////////////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
void CastContingencySpell(int SpellNumber)
{
switch(SpellNumber)
{
case 00:
break;
//level 1 spells
case 1:
ActionCastSpellAtObject(SPELL_MAGE_ARMOR,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 2:
ActionCastSpellAtObject(SPELL_PROTECTION_FROM_LAW,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 41:
ActionCastSpellAtObject(SPELL_SHIELD,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
//level 2 spells
case 3:
ActionCastSpellAtObject(SPELL_RESIST_ELEMENTS,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 4:
ActionCastSpellAtObject(SPELL_CATS_GRACE,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 5:
ActionCastSpellAtObject(SPELL_ENDURANCE,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 6:
ActionCastSpellAtObject(SPELL_GHOSTLY_VISAGE,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 32:
ActionCastSpellAtObject(SPELL_INVISIBILITY,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 7:
ActionCastSpellAtObject(SPELL_SEE_INVISIBILITY,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE); ActionCastSpellAtObject(SPELL_PROTECTION_FROM_LAW,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
//Level 3 SPells
case 8:
ActionCastSpellAtObject(SPELL_HASTE,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 9:
ActionCastSpellAtObject(SPELL_MAGIC_CIRCLE_AGAINST_GOOD,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 10:
ActionCastSpellAtObject(SPELL_PROTECTION_FROM_ELEMENTS,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 33:
ActionCastSpellAtObject(SPELL_INVISIBILITY_SPHERE,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 44:
ActionCastSpellAtObject(SPELL_DISPLACEMENT,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
//Level 4 Spells
case 11:
ActionCastSpellAtObject(SPELL_IMPROVED_INVISIBILITY,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 12:
ActionCastSpellAtObject(SPELL_MINOR_GLOBE_OF_INVULNERABILITY,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 13:
ActionCastSpellAtObject(SPELL_POLYMORPH_SELF,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 14:
ActionCastSpellAtObject(SPELL_STONESKIN,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
//Level 5 Spells
case 15:
ActionCastSpellAtObject(SPELL_ELEMENTAL_SHIELD,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 16:
ActionCastSpellAtObject(SPELL_ENERGY_BUFFER,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 17:
ActionCastSpellAtObject(SPELL_LESSER_SPELL_MANTLE,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 42:
ActionCastSpellAtObject(SPELL_MESTILS_ACID_SHEATH,OBJECT_SELF,METAMAGIC_ANY,TRUE,28,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
//Level 6 Spells
case 18:
ActionCastSpellAtObject(SPELL_ETHEREAL_VISAGE,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 19:
ActionCastSpellAtObject(SPELL_GLOBE_OF_INVULNERABILITY,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 20:
ActionCastSpellAtObject(SPELL_GREATER_STONESKIN,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 21:
ActionCastSpellAtObject(SPELL_MASS_HASTE,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 22:
ActionCastSpellAtObject(SPELL_TENSERS_TRANSFORMATION,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 23:
ActionCastSpellAtObject(SPELL_TRUE_SEEING,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
//Level 7 Spells
case 24:
ActionCastSpellAtObject(SPELL_PROTECTION_FROM_SPELLS,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 25:
ActionCastSpellAtObject(SPELL_SHADOW_SHIELD,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 26:
ActionCastSpellAtObject(SPELL_SPELL_MANTLE,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
//Level 8 SPells
case 27:
ActionCastSpellAtObject(SPELL_MIND_BLANK,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 28:
ActionCastSpellAtObject(SPELL_PREMONITION,OBJECT_SELF,METAMAGIC_ANY,TRUE,25,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
//Level 9 Spells
case 29:
ActionCastSpellAtObject(SPELL_GREATER_SPELL_MANTLE,OBJECT_SELF,METAMAGIC_ANY,TRUE,28,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 30:
ActionCastSpellAtObject(SPELL_SHAPECHANGE,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 31:
ActionCastSpellAtObject(SPELL_TIME_STOP,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
//Level Priest
case 35:
ActionCastSpellAtObject(SPELL_BLESS,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 34:
ActionCastSpellAtObject(SPELL_AID,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 36:
ActionCastSpellAtObject(SPELL_DIVINE_POWER,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 37:
ActionCastSpellAtObject(SPELL_PRAYER,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 38:
ActionCastSpellAtObject(SPELL_REGENERATE,OBJECT_SELF,METAMAGIC_ANY,TRUE,20,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 43:
ActionUseFeat(FEAT_DIVINE_SHIELD,OBJECT_SELF);
break;
//LeveL Epic
case 39:
ActionCastSpellAtObject(695,OBJECT_SELF,METAMAGIC_ANY,TRUE,28,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
case 40:
ActionCastSpellAtObject(SPELL_EPIC_MAGE_ARMOR,OBJECT_SELF,METAMAGIC_ANY,TRUE,28,PROJECTILE_PATH_TYPE_DEFAULT,TRUE);
break;
}
}
void main()
{
//////////////////////////////////////////////////////////////////////////////////
// This Section Has The Default Bioware OnPerception Script -nw_c2_default2-. I
// did NOT write this, and do NOT take credit for it. Only thier for proper AI
// reactions.
//////////////////////////////////////////////////////////////////////////////////
//If the last perception event was hearing based or if someone vanished then go to search mode
if ((GetLastPerceptionVanished()) && GetIsEnemy(GetLastPerceived()))
{
object oGone = GetLastPerceived();
if((GetAttemptedAttackTarget() == GetLastPerceived() ||
GetAttemptedSpellTarget() == GetLastPerceived() ||
GetAttackTarget() == GetLastPerceived()) && GetArea(GetLastPerceived()) != GetArea(OBJECT_SELF))
{
ClearAllActions();
DetermineCombatRound();
}
}
//Do not bother checking the last target seen if already fighting
else if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget()))
{
//Check if the last percieved creature was actually seen
if(GetLastPerceptionSeen())
{
if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL))
{
DetermineSpecialBehavior();
}
else if(GetIsEnemy(GetLastPerceived()))
{
if(!GetHasEffect(EFFECT_TYPE_SLEEP))
{
SetFacingPoint(GetPosition(GetLastPerceived()));
SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_TALK);
DetermineCombatRound();
}
}
//Linked up to the special conversation check to initiate a special one-off conversation
//to get the PCs attention
else if(GetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION) && GetIsPC(GetLastPerceived()))
{
ActionStartConversation(OBJECT_SELF);
}
}
}
if(GetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT) && GetLastPerceptionSeen())
{
SignalEvent(OBJECT_SELF, EventUserDefined(1002));
}
////////////////////////////////////////////////////////////////////////////////
// End of Bioware Default Script.
// Now Goes through the SelectionProcess of filtering out the Other creatures
// And Finding out WHat Spells to Cast.
////////////////////////////////////////////////////////////////////////////////
object oNoticed = GetLastPerceived();
int DoOnce = GetLocalInt(OBJECT_SELF,"ContCheck");
//Will Cast it when Wizard Sees an Object of A different Faction.
if( !GetFactionEqual(oNoticed,OBJECT_SELF)&&GetLastPerceptionSeen() )
{
SetLocalInt(OBJECT_SELF,"ContCheck",1); //So we dont Cast the spells for EVERY hostile Player
string CreatureTag = GetTag(OBJECT_SELF); //Get the Tag of the Creature.
int StringTagLength = GetStringLength(CreatureTag); //Get the TagLength.
string CastCheck = GetSubString(CreatureTag, 0,3); //Get first 3 figures in tag, to Verify it starts with SC
//only run the script if the first letters in the Tag are PCS,and the taglength is 12.Just to make sure
//that people actually REMEMBER to change the tag name, and put enough parameters in it.
if((CastCheck == "PCS")&&(StringTagLength==12))
{
ClearAllActions();
//disect each part of the Tag - each of the three spells, and the visual.
int Spell1 = StringToInt(GetSubString(CreatureTag,4,2));
int Spell2 = StringToInt(GetSubString(CreatureTag,7,2));
int Spell3 = StringToInt(GetSubString(CreatureTag,10,2));
//CastTheSpells Themselves.
CastContingencySpell(Spell1);
CastContingencySpell(Spell2);
CastContingencySpell(Spell3);
SpeakString ("Declencheur de sort");
}
}
} Le code a colorer syntaxiquement est trop long (plus de 10240 caractères) et risque de ne pas s'afficher du tout. Vous pouvez le voir en version colorée ici.
A mettre dans le OnPerception des PNJ hostiles, les neutres se mettant à t'attaquer sans devenir hostiles.
=> Ou alors à la fin d'un dialogue avec un changement de faction du PNJ pour qu'il attaque à la fin.
Attention, tel quel, si le script est dans le OnPreception, il se relance dès que le PJ invoque un allié. _________________ Beshaba me protège, Tymora guide mes tirs.
The Cake is a lie !
Mes modules NwN2: De Vieilles Rencontres! et De Vieilles Rencontres2
Double Avenir sur le Nwvault
|
|
Revenir en haut |
|
|
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
|
Posté le : 23/07/2006 15:09:20 Sujet du message :
>Chevalier Blanc
Ouaip c'est pas mal, juste rajoute une vérification de distance, pas la peine de lancer le buff si le PJ est a l'autre bout de la carte :
NWScript :void main() { object oPC = GetNearestCreature( CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF, 1, CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY); if( GetIsObjectValid( oPC) && GetDistanceBetween( OBJECT_SELF, oPC) <= 30.0) { if( GetLocalInt( OBJECT_SELF, "BOOST") == 0 ) ExecuteScript( "machinchose", OBJECT_SELF); SetLocalInt( OBJECT_SELF, "BOOST", 1); } } Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
Ensuite si t'as modifié machin chose en rajoutant à la fin :
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
Tu peux même du coup virer le paramètre distance et la vérification de la présence d'un PJ dans la fonction, puisque c'est déjà fait avant de lancer le script.
|
|
Revenir en haut |
|
|
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline |
Posté le : 23/07/2006 15:24:00 Sujet du message :
Du coup les scripts deviennent :
Dans le OnHeartBeat :
NWScript :void main() { object oPC = GetNearestCreature( CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF, 1, CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY); if( GetIsObjectValid( oPC) && GetDistanceBetween( OBJECT_SELF, oPC) <= 30.0) { if( GetLocalInt( OBJECT_SELF, "BOOST") == 0 ) ExecuteScript( "machinchose", OBJECT_SELF); SetLocalInt( OBJECT_SELF, "BOOST", 1); } } Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
Et mon script machinchose :
Ce message est un spoiler, et risque de vous informer de choses que vous auriez dû apprendre par vous même (fin d'un jeu, film, etc). À vos risques et périls (ludiques), vous pouvez le voir en cliquant sur cet avertissement.Spoiler :NWScript :///version modifiee de TalentAdvancedBuff()
///(x0_i0_talent)
///bAllClassSpell :
/// TRUE : le lanceur verifiera s'il possede les sorts de toutes les classes
/// FALSE : (defaut) seulement les sorts ou il possede des niveaux
/// renvoie TRUE si le buff a lieu FALSE sinon
/// Par Sith Vicious
/////////////////////////
#include "x0_inc_generic"
void main()
{
int MyBuff(float fDistance, int bInstant = TRUE, int bAllClassSpell = FALSE)
{
//int bPaladin = GetLevelByClass(CLASS_TYPE_PALADIN);
int bMage = bAllClassSpell || GetLevelByClass(CLASS_TYPE_WIZARD) || GetLevelByClass(CLASS_TYPE_SORCERER) || GetLevelByClass(CLASS_TYPE_BARD);
int bDruid = bAllClassSpell || GetLevelByClass(CLASS_TYPE_DRUID);
int bRanger = bAllClassSpell || GetLevelByClass(CLASS_TYPE_RANGER);
int bCleric = bAllClassSpell || GetLevelByClass(CLASS_TYPE_CLERIC);
//int bBard = GetLevelByClass(CLASS_TYPE_BARD);
if (bDruid || bRanger) SummonAnimalCompanion();
if (bMage) SummonFamiliar();
if(!GetIsFighting(OBJECT_SELF))
{
ClearActions(CLEAR_X0_I0_TALENT_AdvancedBuff);
//Combat Protections
if(GetHasSpell(SPELL_PREMONITION) && !GetHasSpellEffect(SPELL_PREMONITION))
{
ActionCastSpellAtObject(SPELL_PREMONITION, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_GREATER_STONESKIN)&& !GetHasSpellEffect(SPELL_GREATER_STONESKIN))
{
ActionCastSpellAtObject(SPELL_GREATER_STONESKIN, OBJECT_SELF, METAMAGIC_NONE, 0, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_STONESKIN)&& !GetHasSpellEffect(SPELL_STONESKIN))
{
ActionCastSpellAtObject(SPELL_STONESKIN, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_BARKSKIN)&& !GetHasSpellEffect(SPELL_BARKSKIN))
{
ActionCastSpellAtObject(SPELL_STONESKIN, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Visage Protections
if(GetHasSpell(SPELL_SHADOW_SHIELD)&& !GetHasSpellEffect(SPELL_SHADOW_SHIELD))
{
ActionCastSpellAtObject(SPELL_SHADOW_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_ETHEREAL_VISAGE)&& !GetHasSpellEffect(SPELL_ETHEREAL_VISAGE))
{
ActionCastSpellAtObject(SPELL_ETHEREAL_VISAGE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_GHOSTLY_VISAGE)&& !GetHasSpellEffect(SPELL_GHOSTLY_VISAGE))
{
ActionCastSpellAtObject(SPELL_GHOSTLY_VISAGE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_DISPLACEMENT)&& !GetHasSpellEffect(SPELL_DISPLACEMENT))
{
ActionCastSpellAtObject(SPELL_DISPLACEMENT, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Mantle Protections
if(GetHasSpell(SPELL_GREATER_SPELL_MANTLE)&& !GetHasSpellEffect(SPELL_GREATER_SPELL_MANTLE))
{
ActionCastSpellAtObject(SPELL_GREATER_SPELL_MANTLE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SPELL_MANTLE)&& !GetHasSpellEffect(SPELL_SPELL_MANTLE))
{
ActionCastSpellAtObject(SPELL_SPELL_MANTLE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_LESSER_SPELL_MANTLE)&& !GetHasSpellEffect(SPELL_LESSER_SPELL_MANTLE))
{
ActionCastSpellAtObject(SPELL_LESSER_SPELL_MANTLE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
// Globes
if(GetHasSpell(SPELL_GLOBE_OF_INVULNERABILITY)&& !GetHasSpellEffect(SPELL_GLOBE_OF_INVULNERABILITY))
{
ActionCastSpellAtObject(SPELL_GLOBE_OF_INVULNERABILITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_MINOR_GLOBE_OF_INVULNERABILITY)&& !GetHasSpellEffect(SPELL_MINOR_GLOBE_OF_INVULNERABILITY))
{
ActionCastSpellAtObject(SPELL_MINOR_GLOBE_OF_INVULNERABILITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Misc Protections
if(GetHasSpell(SPELL_ELEMENTAL_SHIELD)&& !GetHasSpellEffect(SPELL_ELEMENTAL_SHIELD))
{
ActionCastSpellAtObject(SPELL_ELEMENTAL_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if (GetHasSpell(SPELL_MESTILS_ACID_SHEATH)&& !GetHasSpellEffect(SPELL_MESTILS_ACID_SHEATH))
{
ActionCastSpellAtObject(SPELL_MESTILS_ACID_SHEATH, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if (GetHasSpell(SPELL_DEATH_ARMOR)&& !GetHasSpellEffect(SPELL_DEATH_ARMOR))
{
ActionCastSpellAtObject(SPELL_DEATH_ARMOR, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Elemental Protections
if(GetHasSpell(SPELL_ENERGY_BUFFER)&& !GetHasSpellEffect(SPELL_ENERGY_BUFFER))
{
ActionCastSpellAtObject(SPELL_ENERGY_BUFFER, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_PROTECTION_FROM_ELEMENTS)&& !GetHasSpellEffect(SPELL_PROTECTION_FROM_ELEMENTS))
{
ActionCastSpellAtObject(SPELL_PROTECTION_FROM_ELEMENTS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_RESIST_ELEMENTS)&& !GetHasSpellEffect(SPELL_RESIST_ELEMENTS))
{
ActionCastSpellAtObject(SPELL_RESIST_ELEMENTS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_ENDURE_ELEMENTS)&& !GetHasSpellEffect(SPELL_ENDURE_ELEMENTS))
{
ActionCastSpellAtObject(SPELL_ENDURE_ELEMENTS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Mental Protections
if(GetHasSpell(SPELL_MIND_BLANK)&& !GetHasSpellEffect(SPELL_MIND_BLANK))
{
ActionCastSpellAtObject(SPELL_MIND_BLANK, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_LESSER_MIND_BLANK)&& !GetHasSpellEffect(SPELL_LESSER_MIND_BLANK))
{
ActionCastSpellAtObject(SPELL_LESSER_MIND_BLANK, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_CLARITY)&& !GetHasSpellEffect(SPELL_CLARITY))
{
ActionCastSpellAtObject(SPELL_CLARITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Summon Ally
if (GetAssociate(ASSOCIATE_TYPE_SUMMONED)==OBJECT_INVALID)
{
if(GetHasSpell(SPELL_ELEMENTAL_SWARM))
{
ActionCastSpellAtLocation(SPELL_ELEMENTAL_SWARM, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_BLACK_BLADE_OF_DISASTER))
{
ActionCastSpellAtLocation(SPELL_BLACK_BLADE_OF_DISASTER, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_MORDENKAINENS_SWORD))
{
ActionCastSpellAtLocation(SPELL_MORDENKAINENS_SWORD, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_IX))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_IX, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_GREATER_PLANAR_BINDING))
{
ActionCastSpellAtLocation(SPELL_GREATER_PLANAR_BINDING, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_VIII))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_VIII, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_VII))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_VII, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_PLANAR_BINDING))
{
ActionCastSpellAtLocation(SPELL_PLANAR_BINDING, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_PLANAR_ALLY))
{
ActionCastSpellAtLocation(SPELL_PLANAR_ALLY, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_VI))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_VI, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_LESSER_PLANAR_BINDING))
{
ActionCastSpellAtLocation(SPELL_LESSER_PLANAR_BINDING, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_V))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_V, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_IV))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_IV, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_ANIMATE_DEAD))
{
ActionCastSpellAtLocation(SPELL_ANIMATE_DEAD, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_III))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_III, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_II))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_II, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_I))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_I, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SHELGARNS_PERSISTENT_BLADE))
{
ActionCastSpellAtLocation(SPELL_SHELGARNS_PERSISTENT_BLADE, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
}
//boost carac
if(GetHasSpell(SPELL_GREATER_BULLS_STRENGTH) && !GetHasSpellEffect(SPELL_GREATER_BULLS_STRENGTH))
{
ActionCastSpellAtObject(SPELL_GREATER_BULLS_STRENGTH, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_BULLS_STRENGTH) && !GetHasSpellEffect(SPELL_BULLS_STRENGTH))
{
ActionCastSpellAtObject(SPELL_BULLS_STRENGTH, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_EAGLE_SPLENDOR) && !GetHasSpellEffect(SPELL_GREATER_EAGLE_SPLENDOR))
{
ActionCastSpellAtObject(SPELL_GREATER_EAGLE_SPLENDOR, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_EAGLE_SPLEDOR) && !GetHasSpellEffect(SPELL_EAGLE_SPLEDOR))
{
ActionCastSpellAtObject(SPELL_EAGLE_SPLEDOR, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_CATS_GRACE) && !GetHasSpellEffect(SPELL_GREATER_CATS_GRACE))
{
ActionCastSpellAtObject(SPELL_GREATER_CATS_GRACE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_CATS_GRACE) && !GetHasSpellEffect(SPELL_CATS_GRACE))
{
ActionCastSpellAtObject(SPELL_CATS_GRACE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_FOXS_CUNNING) && !GetHasSpellEffect(SPELL_GREATER_FOXS_CUNNING))
{
ActionCastSpellAtObject(SPELL_GREATER_FOXS_CUNNING, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_FOXS_CUNNING) && !GetHasSpellEffect(SPELL_FOXS_CUNNING))
{
ActionCastSpellAtObject(SPELL_FOXS_CUNNING, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_OWLS_WISDOM) && !GetHasSpellEffect(SPELL_GREATER_OWLS_WISDOM))
{
ActionCastSpellAtObject(SPELL_GREATER_OWLS_WISDOM, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_OWLS_WISDOM) && !GetHasSpellEffect(SPELL_OWLS_WISDOM))
{
ActionCastSpellAtObject(SPELL_OWLS_WISDOM, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_ENDURANCE) && !GetHasSpellEffect(SPELL_GREATER_ENDURANCE))
{
ActionCastSpellAtObject(SPELL_GREATER_ENDURANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_ENDURANCE) && !GetHasSpellEffect(SPELL_ENDURANCE))
{
ActionCastSpellAtObject(SPELL_ENDURANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Autres protections
if(GetHasSpell(SPELL_DEATH_WARD) && !GetHasSpellEffect(SPELL_DEATH_WARD))
{
ActionCastSpellAtObject(SPELL_DEATH_WARD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_FREEDOM_OF_MOVEMENT) && !GetHasSpellEffect(SPELL_FREEDOM_OF_MOVEMENT))
{
ActionCastSpellAtObject(SPELL_FREEDOM_OF_MOVEMENT, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_NEGATIVE_ENERGY_PROTECTION) && !GetHasSpellEffect(SPELL_NEGATIVE_ENERGY_PROTECTION))
{
ActionCastSpellAtObject(SPELL_NEGATIVE_ENERGY_PROTECTION, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_PROTECTION_FROM_SPELLS) && !GetHasSpellEffect(SPELL_PROTECTION_FROM_SPELLS))
{
ActionCastSpellAtObject(SPELL_PROTECTION_FROM_SPELLS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_SHIELD_OF_FAITH) && !GetHasSpellEffect(SPELL_SHIELD_OF_FAITH))
{
ActionCastSpellAtObject(SPELL_SHIELD_OF_FAITH, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_SPELL_RESISTANCE) && !GetHasSpellEffect(SPELL_SPELL_RESISTANCE))
{
ActionCastSpellAtObject(SPELL_SPELL_RESISTANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Autres boost
if(GetHasSpell(SPELL_BLESS) && !GetHasSpellEffect(SPELL_BLESS))
{
ActionCastSpellAtObject(SPELL_BLESS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_AID) && !GetHasSpellEffect(SPELL_AID))
{
ActionCastSpellAtObject(SPELL_AID, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_MASS_HASTE) && !GetHasSpellEffect(SPELL_MASS_HASTE))
{
ActionCastSpellAtObject(SPELL_MASS_HASTE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_HASTE) && !GetHasSpellEffect(SPELL_HASTE))
{
ActionCastSpellAtObject(SPELL_HASTE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_RESISTANCE) && !GetHasSpellEffect(SPELL_RESISTANCE))
{
ActionCastSpellAtObject(SPELL_RESISTANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//invisibilite
if(GetHasSpell(SPELL_IMPROVED_INVISIBILITY) && !GetHasSpellEffect(SPELL_IMPROVED_INVISIBILITY))
{
ActionCastSpellAtObject(SPELL_IMPROVED_INVISIBILITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_INVISIBILITY_SPHERE) && !GetHasSpellEffect(SPELL_INVISIBILITY_SPHERE))
{
ActionCastSpellAtObject(SPELL_INVISIBILITY_SPHERE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_INVISIBILITY) && !GetHasSpellEffect(SPELL_INVISIBILITY))
{
ActionCastSpellAtObject(SPELL_INVISIBILITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Armes magiques
if(GetHasSpell(SPELL_GREATER_MAGIC_WEAPON) && !GetHasSpellEffect(SPELL_GREATER_MAGIC_WEAPON))
{
ActionCastSpellAtObject(SPELL_GREATER_MAGIC_WEAPON, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_DARKFIRE) && !GetHasSpellEffect(SPELL_DARKFIRE))
{
ActionCastSpellAtObject(SPELL_DARKFIRE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_MAGIC_WEAPON) && !GetHasSpellEffect(SPELL_MAGIC_WEAPON))
{
ActionCastSpellAtObject(SPELL_MAGIC_WEAPON, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_BLESS_WEAPON) && !GetHasSpellEffect(SPELL_BLESS_WEAPON))
{
ActionCastSpellAtObject(SPELL_BLESS_WEAPON, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_KEEN_EDGE) && !GetHasSpellEffect(SPELL_KEEN_EDGE))
{
ActionCastSpellAtObject(SPELL_KEEN_EDGE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//vision
if(GetHasSpell(SPELL_TRUE_SEEING) && !GetHasSpellEffect(SPELL_TRUE_SEEING))
{
ActionCastSpellAtObject(SPELL_TRUE_SEEING, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE) && !GetHasSpellEffect(SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE))
{
ActionCastSpellAtObject(SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//DRUIDE
if (bDruid || bRanger)
{
if(GetHasSpell(SPELL_GREATER_MAGIC_FANG))
{
ActionCastSpellAtObject(SPELL_GREATER_MAGIC_FANG, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_MAGIC_FANG))
{
ActionCastSpellAtObject(SPELL_MAGIC_FANG, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if (bDruid)
{
if(GetHasSpell(SPELL_AURA_OF_VITALITY)&& !GetHasSpellEffect(SPELL_AURA_OF_VITALITY))
{
ActionCastSpellAtObject(SPELL_AURA_OF_VITALITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_BLOOD_FRENZY)&& !GetHasSpellEffect(SPELL_BLOOD_FRENZY))
{
ActionCastSpellAtObject(SPELL_BLOOD_FRENZY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
}
}
//MAGES ENSOS BARDES
if (bMage)
{
if(GetHasSpell(SPELL_SHIELD) && !GetHasSpellEffect(SPELL_SHIELD))
{
ActionCastSpellAtObject(SPELL_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_MAGE_ARMOR) && !GetHasSpellEffect(SPELL_MAGE_ARMOR))
{
ActionCastSpellAtObject(SPELL_MAGE_ARMOR, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_IRONGUTS) && !GetHasSpellEffect(SPELL_IRONGUTS))
{
ActionCastSpellAtObject(SPELL_IRONGUTS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
}
//PRETRES
if (bCleric)
{
if(GetHasSpell(SPELL_DIVINE_SHIELD) && !GetHasSpellEffect(SPELL_DIVINE_SHIELD))
{
ActionCastSpellAtObject(SPELL_DIVINE_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_DIVINE_POWER) && !GetHasSpellEffect(SPELL_DIVINE_POWER))
{
ActionCastSpellAtObject(SPELL_DIVINE_POWER, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_ENTROPIC_SHIELD) && !GetHasSpellEffect(SPELL_ENTROPIC_SHIELD))
{
ActionCastSpellAtObject(SPELL_ENTROPIC_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_MAGIC_VESTMENT) && !GetHasSpellEffect(SPELL_ENTROPIC_SHIELD))
{
ActionCastSpellAtObject(SPELL_MAGIC_VESTMENT, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_UNDEATHS_ETERNAL_FOE) && !GetHasSpellEffect(SPELL_UNDEATHS_ETERNAL_FOE))
{
ActionCastSpellAtObject(SPELL_UNDEATHS_ETERNAL_FOE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
}
return TRUE;
}
}
}
return FALSE;
}
AssignCommand(OBJECT_SELF,MyBuff(50.0));
} Le code a colorer syntaxiquement est trop long (plus de 10240 caractères) et risque de ne pas s'afficher du tout. Vous pouvez le voir en version colorée ici.
C'est ca si j'ai bien compris ? *aime bien passer pour un blaireau sanguinaire *
|
|
Revenir en haut |
|
|
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
|
Posté le : 23/07/2006 15:41:50 Sujet du message :
Presque :
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
Oups, un truc que j'avais pas vu : change le type de fonction (la c'est int passe la en void et vire les 2 return TRUE et FALSE de la fin)
et dis moi si ça marche ^^
|
|
Revenir en haut |
|
|
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline |
Posté le : 23/07/2006 15:50:35 Sujet du message :
Ce message est un spoiler, et risque de vous informer de choses que vous auriez dû apprendre par vous même (fin d'un jeu, film, etc). À vos risques et périls (ludiques), vous pouvez le voir en cliquant sur cet avertissement.Spoiler :NWScript :
#include "x0_inc_generic"
void MyBuff(int bInstant = TRUE, bAllClassSpell = FALSE)
{
//int bPaladin = GetLevelByClass(CLASS_TYPE_PALADIN);
int bMage = bAllClassSpell || GetLevelByClass(CLASS_TYPE_WIZARD) || GetLevelByClass(CLASS_TYPE_SORCERER) || GetLevelByClass(CLASS_TYPE_BARD);
int bDruid = bAllClassSpell || GetLevelByClass(CLASS_TYPE_DRUID);
int bRanger = bAllClassSpell || GetLevelByClass(CLASS_TYPE_RANGER);
int bCleric = bAllClassSpell || GetLevelByClass(CLASS_TYPE_CLERIC);
//int bBard = GetLevelByClass(CLASS_TYPE_BARD);
if (bDruid || bRanger) SummonAnimalCompanion();
if (bMage) SummonFamiliar();
if(!GetIsFighting(OBJECT_SELF))
{
ClearActions(CLEAR_X0_I0_TALENT_AdvancedBuff);
//Combat Protections
if(GetHasSpell(SPELL_PREMONITION) && !GetHasSpellEffect(SPELL_PREMONITION))
{
ActionCastSpellAtObject(SPELL_PREMONITION, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_GREATER_STONESKIN)&& !GetHasSpellEffect(SPELL_GREATER_STONESKIN))
{
ActionCastSpellAtObject(SPELL_GREATER_STONESKIN, OBJECT_SELF, METAMAGIC_NONE, 0, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_STONESKIN)&& !GetHasSpellEffect(SPELL_STONESKIN))
{
ActionCastSpellAtObject(SPELL_STONESKIN, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_BARKSKIN)&& !GetHasSpellEffect(SPELL_BARKSKIN))
{
ActionCastSpellAtObject(SPELL_STONESKIN, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Visage Protections
if(GetHasSpell(SPELL_SHADOW_SHIELD)&& !GetHasSpellEffect(SPELL_SHADOW_SHIELD))
{
ActionCastSpellAtObject(SPELL_SHADOW_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_ETHEREAL_VISAGE)&& !GetHasSpellEffect(SPELL_ETHEREAL_VISAGE))
{
ActionCastSpellAtObject(SPELL_ETHEREAL_VISAGE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_GHOSTLY_VISAGE)&& !GetHasSpellEffect(SPELL_GHOSTLY_VISAGE))
{
ActionCastSpellAtObject(SPELL_GHOSTLY_VISAGE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_DISPLACEMENT)&& !GetHasSpellEffect(SPELL_DISPLACEMENT))
{
ActionCastSpellAtObject(SPELL_DISPLACEMENT, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Mantle Protections
if(GetHasSpell(SPELL_GREATER_SPELL_MANTLE)&& !GetHasSpellEffect(SPELL_GREATER_SPELL_MANTLE))
{
ActionCastSpellAtObject(SPELL_GREATER_SPELL_MANTLE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SPELL_MANTLE)&& !GetHasSpellEffect(SPELL_SPELL_MANTLE))
{
ActionCastSpellAtObject(SPELL_SPELL_MANTLE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_LESSER_SPELL_MANTLE)&& !GetHasSpellEffect(SPELL_LESSER_SPELL_MANTLE))
{
ActionCastSpellAtObject(SPELL_LESSER_SPELL_MANTLE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
// Globes
if(GetHasSpell(SPELL_GLOBE_OF_INVULNERABILITY)&& !GetHasSpellEffect(SPELL_GLOBE_OF_INVULNERABILITY))
{
ActionCastSpellAtObject(SPELL_GLOBE_OF_INVULNERABILITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_MINOR_GLOBE_OF_INVULNERABILITY)&& !GetHasSpellEffect(SPELL_MINOR_GLOBE_OF_INVULNERABILITY))
{
ActionCastSpellAtObject(SPELL_MINOR_GLOBE_OF_INVULNERABILITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Misc Protections
if(GetHasSpell(SPELL_ELEMENTAL_SHIELD)&& !GetHasSpellEffect(SPELL_ELEMENTAL_SHIELD))
{
ActionCastSpellAtObject(SPELL_ELEMENTAL_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if (GetHasSpell(SPELL_MESTILS_ACID_SHEATH)&& !GetHasSpellEffect(SPELL_MESTILS_ACID_SHEATH))
{
ActionCastSpellAtObject(SPELL_MESTILS_ACID_SHEATH, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if (GetHasSpell(SPELL_DEATH_ARMOR)&& !GetHasSpellEffect(SPELL_DEATH_ARMOR))
{
ActionCastSpellAtObject(SPELL_DEATH_ARMOR, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Elemental Protections
if(GetHasSpell(SPELL_ENERGY_BUFFER)&& !GetHasSpellEffect(SPELL_ENERGY_BUFFER))
{
ActionCastSpellAtObject(SPELL_ENERGY_BUFFER, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_PROTECTION_FROM_ELEMENTS)&& !GetHasSpellEffect(SPELL_PROTECTION_FROM_ELEMENTS))
{
ActionCastSpellAtObject(SPELL_PROTECTION_FROM_ELEMENTS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_RESIST_ELEMENTS)&& !GetHasSpellEffect(SPELL_RESIST_ELEMENTS))
{
ActionCastSpellAtObject(SPELL_RESIST_ELEMENTS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_ENDURE_ELEMENTS)&& !GetHasSpellEffect(SPELL_ENDURE_ELEMENTS))
{
ActionCastSpellAtObject(SPELL_ENDURE_ELEMENTS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Mental Protections
if(GetHasSpell(SPELL_MIND_BLANK)&& !GetHasSpellEffect(SPELL_MIND_BLANK))
{
ActionCastSpellAtObject(SPELL_MIND_BLANK, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_LESSER_MIND_BLANK)&& !GetHasSpellEffect(SPELL_LESSER_MIND_BLANK))
{
ActionCastSpellAtObject(SPELL_LESSER_MIND_BLANK, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_CLARITY)&& !GetHasSpellEffect(SPELL_CLARITY))
{
ActionCastSpellAtObject(SPELL_CLARITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Summon Ally
if (GetAssociate(ASSOCIATE_TYPE_SUMMONED)==OBJECT_INVALID)
{
if(GetHasSpell(SPELL_ELEMENTAL_SWARM))
{
ActionCastSpellAtLocation(SPELL_ELEMENTAL_SWARM, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_BLACK_BLADE_OF_DISASTER))
{
ActionCastSpellAtLocation(SPELL_BLACK_BLADE_OF_DISASTER, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_MORDENKAINENS_SWORD))
{
ActionCastSpellAtLocation(SPELL_MORDENKAINENS_SWORD, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_IX))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_IX, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_GREATER_PLANAR_BINDING))
{
ActionCastSpellAtLocation(SPELL_GREATER_PLANAR_BINDING, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_VIII))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_VIII, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_VII))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_VII, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_PLANAR_BINDING))
{
ActionCastSpellAtLocation(SPELL_PLANAR_BINDING, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_PLANAR_ALLY))
{
ActionCastSpellAtLocation(SPELL_PLANAR_ALLY, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_VI))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_VI, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_LESSER_PLANAR_BINDING))
{
ActionCastSpellAtLocation(SPELL_LESSER_PLANAR_BINDING, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_V))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_V, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_IV))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_IV, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_ANIMATE_DEAD))
{
ActionCastSpellAtLocation(SPELL_ANIMATE_DEAD, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_III))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_III, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_II))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_II, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SUMMON_CREATURE_I))
{
ActionCastSpellAtLocation(SPELL_SUMMON_CREATURE_I, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_SHELGARNS_PERSISTENT_BLADE))
{
ActionCastSpellAtLocation(SPELL_SHELGARNS_PERSISTENT_BLADE, GetLocation(OBJECT_SELF), METAMAGIC_NONE, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
}
//boost carac
if(GetHasSpell(SPELL_GREATER_BULLS_STRENGTH) && !GetHasSpellEffect(SPELL_GREATER_BULLS_STRENGTH))
{
ActionCastSpellAtObject(SPELL_GREATER_BULLS_STRENGTH, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_BULLS_STRENGTH) && !GetHasSpellEffect(SPELL_BULLS_STRENGTH))
{
ActionCastSpellAtObject(SPELL_BULLS_STRENGTH, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_EAGLE_SPLENDOR) && !GetHasSpellEffect(SPELL_GREATER_EAGLE_SPLENDOR))
{
ActionCastSpellAtObject(SPELL_GREATER_EAGLE_SPLENDOR, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_EAGLE_SPLEDOR) && !GetHasSpellEffect(SPELL_EAGLE_SPLEDOR))
{
ActionCastSpellAtObject(SPELL_EAGLE_SPLEDOR, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_CATS_GRACE) && !GetHasSpellEffect(SPELL_GREATER_CATS_GRACE))
{
ActionCastSpellAtObject(SPELL_GREATER_CATS_GRACE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_CATS_GRACE) && !GetHasSpellEffect(SPELL_CATS_GRACE))
{
ActionCastSpellAtObject(SPELL_CATS_GRACE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_FOXS_CUNNING) && !GetHasSpellEffect(SPELL_GREATER_FOXS_CUNNING))
{
ActionCastSpellAtObject(SPELL_GREATER_FOXS_CUNNING, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_FOXS_CUNNING) && !GetHasSpellEffect(SPELL_FOXS_CUNNING))
{
ActionCastSpellAtObject(SPELL_FOXS_CUNNING, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_OWLS_WISDOM) && !GetHasSpellEffect(SPELL_GREATER_OWLS_WISDOM))
{
ActionCastSpellAtObject(SPELL_GREATER_OWLS_WISDOM, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_OWLS_WISDOM) && !GetHasSpellEffect(SPELL_OWLS_WISDOM))
{
ActionCastSpellAtObject(SPELL_OWLS_WISDOM, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_GREATER_ENDURANCE) && !GetHasSpellEffect(SPELL_GREATER_ENDURANCE))
{
ActionCastSpellAtObject(SPELL_GREATER_ENDURANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_ENDURANCE) && !GetHasSpellEffect(SPELL_ENDURANCE))
{
ActionCastSpellAtObject(SPELL_ENDURANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Autres protections
if(GetHasSpell(SPELL_DEATH_WARD) && !GetHasSpellEffect(SPELL_DEATH_WARD))
{
ActionCastSpellAtObject(SPELL_DEATH_WARD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_FREEDOM_OF_MOVEMENT) && !GetHasSpellEffect(SPELL_FREEDOM_OF_MOVEMENT))
{
ActionCastSpellAtObject(SPELL_FREEDOM_OF_MOVEMENT, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_NEGATIVE_ENERGY_PROTECTION) && !GetHasSpellEffect(SPELL_NEGATIVE_ENERGY_PROTECTION))
{
ActionCastSpellAtObject(SPELL_NEGATIVE_ENERGY_PROTECTION, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_PROTECTION_FROM_SPELLS) && !GetHasSpellEffect(SPELL_PROTECTION_FROM_SPELLS))
{
ActionCastSpellAtObject(SPELL_PROTECTION_FROM_SPELLS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_SHIELD_OF_FAITH) && !GetHasSpellEffect(SPELL_SHIELD_OF_FAITH))
{
ActionCastSpellAtObject(SPELL_SHIELD_OF_FAITH, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_SPELL_RESISTANCE) && !GetHasSpellEffect(SPELL_SPELL_RESISTANCE))
{
ActionCastSpellAtObject(SPELL_SPELL_RESISTANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Autres boost
if(GetHasSpell(SPELL_BLESS) && !GetHasSpellEffect(SPELL_BLESS))
{
ActionCastSpellAtObject(SPELL_BLESS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_AID) && !GetHasSpellEffect(SPELL_AID))
{
ActionCastSpellAtObject(SPELL_AID, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_MASS_HASTE) && !GetHasSpellEffect(SPELL_MASS_HASTE))
{
ActionCastSpellAtObject(SPELL_MASS_HASTE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_HASTE) && !GetHasSpellEffect(SPELL_HASTE))
{
ActionCastSpellAtObject(SPELL_HASTE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_RESISTANCE) && !GetHasSpellEffect(SPELL_RESISTANCE))
{
ActionCastSpellAtObject(SPELL_RESISTANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//invisibilite
if(GetHasSpell(SPELL_IMPROVED_INVISIBILITY) && !GetHasSpellEffect(SPELL_IMPROVED_INVISIBILITY))
{
ActionCastSpellAtObject(SPELL_IMPROVED_INVISIBILITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_INVISIBILITY_SPHERE) && !GetHasSpellEffect(SPELL_INVISIBILITY_SPHERE))
{
ActionCastSpellAtObject(SPELL_INVISIBILITY_SPHERE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_INVISIBILITY) && !GetHasSpellEffect(SPELL_INVISIBILITY))
{
ActionCastSpellAtObject(SPELL_INVISIBILITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//Armes magiques
if(GetHasSpell(SPELL_GREATER_MAGIC_WEAPON) && !GetHasSpellEffect(SPELL_GREATER_MAGIC_WEAPON))
{
ActionCastSpellAtObject(SPELL_GREATER_MAGIC_WEAPON, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_DARKFIRE) && !GetHasSpellEffect(SPELL_DARKFIRE))
{
ActionCastSpellAtObject(SPELL_DARKFIRE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_MAGIC_WEAPON) && !GetHasSpellEffect(SPELL_MAGIC_WEAPON))
{
ActionCastSpellAtObject(SPELL_MAGIC_WEAPON, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_BLESS_WEAPON) && !GetHasSpellEffect(SPELL_BLESS_WEAPON))
{
ActionCastSpellAtObject(SPELL_BLESS_WEAPON, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_KEEN_EDGE) && !GetHasSpellEffect(SPELL_KEEN_EDGE))
{
ActionCastSpellAtObject(SPELL_KEEN_EDGE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//vision
if(GetHasSpell(SPELL_TRUE_SEEING) && !GetHasSpellEffect(SPELL_TRUE_SEEING))
{
ActionCastSpellAtObject(SPELL_TRUE_SEEING, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE) && !GetHasSpellEffect(SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE))
{
ActionCastSpellAtObject(SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
//DRUIDE
if (bDruid || bRanger)
{
if(GetHasSpell(SPELL_GREATER_MAGIC_FANG))
{
ActionCastSpellAtObject(SPELL_GREATER_MAGIC_FANG, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
else if(GetHasSpell(SPELL_MAGIC_FANG))
{
ActionCastSpellAtObject(SPELL_MAGIC_FANG, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if (bDruid)
{
if(GetHasSpell(SPELL_AURA_OF_VITALITY)&& !GetHasSpellEffect(SPELL_AURA_OF_VITALITY))
{
ActionCastSpellAtObject(SPELL_AURA_OF_VITALITY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_BLOOD_FRENZY)&& !GetHasSpellEffect(SPELL_BLOOD_FRENZY))
{
ActionCastSpellAtObject(SPELL_BLOOD_FRENZY, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
}
}
//MAGES ENSOS BARDES
if (bMage)
{
if(GetHasSpell(SPELL_SHIELD) && !GetHasSpellEffect(SPELL_SHIELD))
{
ActionCastSpellAtObject(SPELL_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_MAGE_ARMOR) && !GetHasSpellEffect(SPELL_MAGE_ARMOR))
{
ActionCastSpellAtObject(SPELL_MAGE_ARMOR, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_IRONGUTS) && !GetHasSpellEffect(SPELL_IRONGUTS))
{
ActionCastSpellAtObject(SPELL_IRONGUTS, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
}
//PRETRES
if (bCleric)
{
if(GetHasSpell(SPELL_DIVINE_SHIELD) && !GetHasSpellEffect(SPELL_DIVINE_SHIELD))
{
ActionCastSpellAtObject(SPELL_DIVINE_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_DIVINE_POWER) && !GetHasSpellEffect(SPELL_DIVINE_POWER))
{
ActionCastSpellAtObject(SPELL_DIVINE_POWER, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_ENTROPIC_SHIELD) && !GetHasSpellEffect(SPELL_ENTROPIC_SHIELD))
{
ActionCastSpellAtObject(SPELL_ENTROPIC_SHIELD, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_MAGIC_VESTMENT) && !GetHasSpellEffect(SPELL_ENTROPIC_SHIELD))
{
ActionCastSpellAtObject(SPELL_MAGIC_VESTMENT, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
if(GetHasSpell(SPELL_UNDEATHS_ETERNAL_FOE) && !GetHasSpellEffect(SPELL_UNDEATHS_ETERNAL_FOE))
{
ActionCastSpellAtObject(SPELL_UNDEATHS_ETERNAL_FOE, OBJECT_SELF, METAMAGIC_NONE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstant);
}
}
}
}
void main()
{
AssignCommand(OBJECT_SELF,MyBuff(50.0));
} Le code a colorer syntaxiquement est trop long (plus de 10240 caractères) et risque de ne pas s'afficher du tout. Vous pouvez le voir en version colorée ici.
comme ça ?
|
|
Revenir en haut |
|
|
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde |
Posté le : 23/07/2006 16:05:03 Sujet du message :
Ba faut testé mon coco _________________ [http]
|
|
Revenir en haut |
|
|
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline |
Posté le : 23/07/2006 16:11:32 Sujet du message :
Bon je viens de tester. yavais une coquille a la declaration de la fonction au depart (manquait un int) et la il me fait une declaration d'erreur : ERREUR : DECLARATION DOES NOT MATCH PARAMETERS
sur cette ligne : NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
|
|
Revenir en haut |
|
|
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
|
Posté le : 23/07/2006 17:03:41 Sujet du message :
Nan !
Vire le 50.0 puisque tu as viré le paramètre de distance !
|
|
Revenir en haut |
|
|
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline |
Posté le : 23/07/2006 17:22:14 Sujet du message :
Bon ça à l'air de fonctionner... je vous tiens au courant si ya des problèmes.
merci quand meme de votre infinie patiente envers un pauvre bougre comme moi
|
|
Revenir en haut |
|
|
|