Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

script OnActivedItem

Par Prophet le 26/9/2002 à 18:40:04 (#2238038)

bonjour

jai encore un probleme avec un script...

void main()
{
object oPc = GetItemActivator();
object oItem = GetItemActivated();
effect eArocean2 = EffectVisualEffect(VFX_DUR_GLOBE_MINOR);
effect eArocean = EffectACIncrease(4, AC_ARMOUR_ENCHANTMENT_BONUS, AC_VS_DAMAGE_TYPE_ALL);

//Coeur de l'ocean (pour l'armure)//
if (GetTag(oItem) && (GetItemPossessedBy(oPc, "armureocean")))
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eArocean2, oPc);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eArocean, oPc);
//Fait attendre 2 minute et remove leffect du coeur ocean//
DelayCommand(120.0, RemoveEffect(oPc, eArocean));


}
}

J'ai toujours l'erreur 'Logical operation has invalid operands'.
je crois que ca vien de l'utilisation du &&. alors comment faire pour tester 2 chose en meme temps?

Merci

Par Tyn' le 26/9/2002 à 19:15:32 (#2238337)

:doute:

Une armure Océane dans NWN ? Tu fais une copie de T4C ?

Pasque si oui... => Althea :ange:

Sinon pour ton script :

void main()
{
object oPc = GetItemActivator();
object oItem = GetItemActivated();
effect eArocean2 = EffectVisualEffect(VFX_DUR_GLOBE_MINOR);
effect eArocean = EffectACIncrease(4, AC_ARMOUR_ENCHANTMENT_BONUS, AC_VS_DAMAGE_TYPE_ALL);

//Coeur de l'ocean (pour l'armure)//
if (GetTag(oItem) == "Tag_de_ton_coeur" && GetItemPossessedBy(oPc, "armureocean"))
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eArocean2, oPc);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eArocean, oPc);
//Fait attendre 2 minute et remove leffect du coeur ocean//
DelayCommand(120.0, RemoveEffect(oPc, eArocean));
}
}
L'erreur vient du fait que GetTag retourne une valeur string, qui n'a pas de valeur booléenne. Il ne faut donc pas oublier de la comparer :)

Par Prophet le 26/9/2002 à 19:37:20 (#2238499)

Merci beaucoup

Et oui je fait un module 't4c'. Je sais que deja un projet est commencer, mais se serveur va etre fermer au Roliste(doit poster un bg pour avoir un compte et tout) et personnellement j'aime pas le fait qu'un serveur soit fermer pour tel ou tel genre de personne. Je fait se module surtout pour passer le temps et me familiariser avec aurora et les script. Surtout que mon module sera *normalement* jamais jouer puisque je possede pas un Pc asser fort pour ouvrir un serveur (surtout ma connection 26k lol).

encore merci Tyn' :)

Par Prophet le 27/9/2002 à 3:00:00 (#2240733)

Je vien de tester le script, et il ne fonctionne toujours pas (enfin il ne se compile pas, jai un erreur a la ligne: if (GetTag(oItem)....
Lorsque je suprime la partit && GetItemPossessedBy();, le script se compile parfaitement et des que je le remet jai la meme erreur qu'au debut 'Logical operation has invalid operand'......

Par Tyn' le 27/9/2002 à 12:30:40 (#2242378)

void main()
{
object oPc = GetItemActivator();
object oItem = GetItemActivated();
effect eArocean2 = EffectVisualEffect(VFX_DUR_GLOBE_MINOR);
effect eArocean = EffectACIncrease(4, AC_ARMOUR_ENCHANTMENT_BONUS, AC_VS_DAMAGE_TYPE_ALL);

//Coeur de l'ocean (pour l'armure)//
if (GetTag(oItem) == "Tag_de_ton_coeur" && GetItemPossessedBy(oPc, "armureocean") == oPc)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eArocean2, oPc);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eArocean, oPc);
//Fait attendre 2 minute et remove leffect du coeur ocean//
DelayCommand(120.0, RemoveEffect(oPc, eArocean));
}
}
Désolé, je m'étais arreté à la première erreur.. Voilà, là ça se compile :)

JOL Archives 1.0.1
@ JOL / JeuxOnLine