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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Etablir une constante?

Par Dark Le Fakochere MF le 29/9/2002 à 15:51:58 (#2254599)

Voila j'aimerais que lorsque qu'un monstre meurt,une variable nommé "mort" continne le chiffre "1"...
J'ai donc mis dans le "OnDeath" de l'animal ceci :
void main()
{
SetLocalInt(OBJECT_SELF,"mort",1)

...
...
...
}

VOila...et bien sur ça marche pas lors de la compilation (ERREUR : VARIABLE DEFINED WITHOUT TYPE)
Qq sait pq?Peut-il me dire comment faire ? Mc d'avance :D





DEUXIEME QUESTION :p ::

Voila le truc du PNJ qui invoque lemonstre je sais faire...J'ai voulu faire en sorte que le monstre soit invoqué dans une autre zone et ça foire...Pq tant de souffrance? :(

Si qq peut repondre a cette question mc d'avance aussi :)

Par Azrael07 le 29/9/2002 à 16:46:17 (#2254922)

ben la première question comme la 2e on peut pas repondre grand chose avec si peu d'infos...

le SetLocalInt(OBJECT_SELF,"mort",1) enregistre une variable destinée a être utilisée tel quelle (et eventuellement modifiée) une fois le jeu lancé, et la ligne ke tu a donne ne provoque aucune erreur(si ce n'est k'il n'y a pas de ; a la fin)

par contre tu ne peut recuperer cette var k'en ecrivant
GetLocalInt(OBJECT_SELF, "mort");

si jamais tu met une ligne du genre
if (mort == 1)

ben ca va pas marcher pasque mort n'est pas une variable pour le complilateur

donc si tu veut faire le "if" si dessus tu devrais ajouter avant
int mort = GetLocalInt(oCreature, "mort");
sans oublier d'initialiser oCreature avec la creature consernée

Si tu m'en dit un peu plus je pourrais te repondre plus presisement mais la c impossible

rien compris

Par Blam le 29/9/2002 à 17:45:38 (#2255179)

explique un petit peu plus clairement ;)

je commence a m'y interesser moi zaussi :)

Par Dark Le Fakochere MF le 29/9/2002 à 18:17:59 (#2255361)

Bon je vous explique donc en detail pour les 2 questions:

Une PNJ,est censé invoquer une creature dans une zone nommé Zone002 et cette PNJ est dans une zone nommé Zone001.
Elle invoque cette creature lorsqu'on lui dit une certaine phrase...Ainsi dans le menu "dialogue" et dans l'option "actions consequentes " un script censé faire invoqué un phacochere au WayPoint : "WP_Fako_Spawn"
Voici ce script :

void main()
{
object oWaypoint=GetWaypointByTag("WP_Fako_Spawn");
location lApparitionBestiole=GetLocation(oWaypoint);
effect eBestiole = EffectSummonCreature("fakochere", SPELL_SUMMON_CREATURE_I);

ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eBestiole,lApparitionBestiole);
}


Cepandant le WP_Fako_Spawn est situé dans la zone002.Lorsque je mettais le WP dans la zone001 ça marchait mais pas dans la 002...


Ensuite,imaginons que j'ai reussi a tuer le monstre invoquer.J'aimerais que la PNJ me dise autre chose quand je lui parle ainsi dans le menu dialogue,j'ai inscrit une nouvelle phrase principale et dans l'option "Conditions d'executions"
j'ai mis ce script :

int StartingConditional()
{
If(mort==1)
{
return TRUE;
}
else
{
return false
}
}

Pourquoi mort==1?Parce que dans le OnDeath du monstre fakochere j'ai inscrit ce script :
SetLocalInt(OBJECT_SELF,"mort",1)


Bon donc voila l'etat actuel de cet affreux script :D

Par Dark Le Fakochere MF le 29/9/2002 à 18:38:49 (#2255471)

Bon j'ai corrigé le script pour la variable.Maintenant pour ça,c'est bon je pense :

Quand j'apparait pour la première fois sur le monde,ma variable est a 0
Quand je tue le monstre elle est a 1

Le seul probleme que je pourrais rencontr c'est qu'elle ne s'enregistre pas d'une zone a l'autre....

Par Azrael07 le 29/9/2002 à 19:02:24 (#2255597)


Une PNJ,est censé invoquer une creature dans une zone nommé Zone002 et cette PNJ est dans une zone nommé Zone001.
Elle invoque cette creature lorsqu'on lui dit une certaine phrase...Ainsi dans le menu "dialogue" et dans l'option "actions consequentes " un script censé faire invoqué un phacochere au WayPoint : "WP_Fako_Spawn"
Voici ce script :

void main()
{
object oWaypoint=GetWaypointByTag("WP_Fako_Spawn");
location lApparitionBestiole=GetLocation(oWaypoint);
effect eBestiole = EffectSummonCreature("fakochere", SPELL_SUMMON_CREATURE_I);

ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eBestiole,lApparitionBestiole);
}


Cepandant le WP_Fako_Spawn est situé dans la zone002.Lorsque je mettais le WP dans la zone001 ça marchait mais pas dans la 002...


:doute: :doute: :doute: :doute: :doute:


ben la vraiment je ne voit pas ce ki va pas, apparament ton script marche.... Ben je testerais ca kan j'aurais le temp.... c a dire peut etre pas avant un moment ^_^


Bon j'ai corrigé le script pour la variable.Maintenant pour ça,c'est bon je pense :

Quand j'apparait pour la première fois sur le monde,ma variable est a 0
Quand je tue le monstre elle est a 1

Le seul probleme que je pourrais rencontr c'est qu'elle ne s'enregistre pas d'une zone a l'autre....


La variable s'enregistre sur toutes les areas, il faut simplement savoir k'el est liée a l'objet de ta créature, donc il te faut initialiser un pointeur vers la créature morte a chaques fois ke tu veut utiliser la variable

Par Dark Le Fakochere MF le 29/9/2002 à 19:20:09 (#2255701)

Quand tu dis initialisé,c'est ça ?

object oCreature = GetObjectByTag("fakochere")


Sinon pour le script où tu dis qu'il doit forcement marché,bah ça marche mais que sur la zone001 :D

Par Azrael07 le 29/9/2002 à 21:32:32 (#2256255)


Quand tu dis initialisé,c'est ça ?

object oCreature = GetObjectByTag("fakochere")


yep c ca (desole en me relisant je me rend compte que j'utilise un vocabulaire un peu complexe, il faut pas hésiter a me demander de réexpliquer)

Pour ton script le mieux c ke tu me mail les deux zones consernées de ton module, et pis je regarde moi meme, je pense ke c plus simple cme ca, plustot ke passer je sais pas combien de post a te demander keske tu a mis cme valeur ici, cme tag la....
Azrael07@free.fr

JOL Archives 1.0.1
@ JOL / JeuxOnLine