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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

La nuit tombe : tous le monde au dodo !

Par Frolo Xeres le 3/11/2002 à 12:55:44 (#2468261)

-> Bon j'ai fait un script à peine compliqué pour faire rentrer les passants à la tombé de la nuit. (Et les faire revenir au levé du jour ;-)
-> Comme Drakalien l'avait déjà fait remarqué j'ai du utilisé le HeartBeat.

//:://///////////////////////////////////////////////////////////////
// Script onHeartBeat du village //
// -> Si la nuit tombe : faire rentrer les villageois chez eux. //
// -> Si le jour se leve : les faire revenir ! //
//:://///////////////////////////////////////////////////////////////

void main()
{
int iNUIT = 1;
int iJOUR = 2;
int iActuel = 0;

object oPC = GetFirstPC(); // Ligne de degug TEMPO
string sDebug = "; // Ligne de debug TEMPO

// Le Module : il possede la variable qui nous interesse
object oModule = GetModule();

if( GetIsNight() ) {
// La nuit est tombee
sDebug += "Il fait nuit, "; // TEMPO
if( GetLocalInt( oModule, "iNuitJour" ) == iNUIT ) {
// Il fait bien nuit
sDebug += "la variable est a Nuit."; // TEMPO
}
else if( GetLocalInt( oModule, "iNuitJour" ) == iJOUR ) {
// Le passage n'a pas encore ete fait : les paysans sont encore dehors
sDebug += "la variable est a Jour."; // TEMPO
SetLocalInt( oModule, "iNuitJour", iNUIT );

// Faire rentrer les paysans
ExecuteScript( "rentrerpaysan", OBJECT_SELF );
}
}
else if( GetIsDay() ) {
// Il fait jour
sDebug += "Il fait jour, ";
if( ( GetLocalInt( oModule, "iNuitJour" ) ) == iJOUR ) {
// Il fait bien jour
sDebug += "la variable est a Jour."; // TEMPO
}
else if( GetLocalInt( oModule, "iNuitJour" ) == iNUIT ) {
// Le passage n'a pas encore ete fait : les paysans sont encore dedans
sDebug += "la variable est a Nuit."; // TEMPO
SetLocalInt( oModule, "iNuitJour", iJOUR );

// Faire sortir les paysans
ExecuteScript( "sortirpaysan", OBJECT_SELF );
}
}
FloatingTextStringOnCreature( sDebug, oPC );
}

J'initialise ma variable iNuitJour au chargement du module.

Bon je vais vous faire grâce du code qui fait rentrer les passants ou les fait sortir mais PROBLEME !

Mes passants rentrent tous chez eux !
Je vais les voir dans leur maison : hop ils ressortent !
Je ressors : hop ils rentrent !

Bon j'ai fait un debug sur ma variable 'iNuitJour' : elle a la bonne valeur...

Alors je vois pas !

Si vous voulez le code des scripts : "rentrerpaysan" et "sortirpaysan" dites le moi mais j'ai pas trouvé d'erreur non plus.

-> Pour resumer : ce script est sur le onHeartBeat du village où sont mes passants.
L'initialisation de la variable : sur le onModuleLoad.

Si vous avez le temps, merci de m'aider à résoudre ce problème, çà fait deux jour qu'il me prends la tête grave !

Par mobidique le 3/11/2002 à 14:09:35 (#2468830)

Hurm ... je sais pas si tu es au courant mais dans le OnSpawn tu peux décommenter une ligne qui permet de faire une distinction entre le jour et la nuit pour les Waypoints ... Ainsi de jour les waypoint ont pour nom WP_XXXXX et de nuit ils ont pour nom WN_XXXX. De même les postes fixes restent POST_XXXX pourt le jour et NIGHT_XXXX la nuit. C'est expliqué je crois dans le tutorial traduit sur les waypoints ...

Merci !

Par Frolo Xeres le 3/11/2002 à 14:38:03 (#2469056)

Bon si j'y arrive pas avec çà, je rend les armes !
Merci pour ton aide mobi !

Par Zariel le 6/11/2002 à 12:50:45 (#2494412)

J'ai fouillé tous les persistants et je n'ai pas trouvé le tutorial sur les WP pour appliquer ce script.

Quelqu'un peut m'orienter sur le lien ? Ce serai super sympa, ca fait 2 heures que je cherche.

Par mobidique le 6/11/2002 à 13:09:41 (#2494631)

Tiens ... t'as trouvé finalement ...

Voici une recherche que je viens de faire.

http://forums.jeuxonline.info/search.php?s=&action=showresults&searchid=222265&sortby=lastpost&sortorder=descending

si le lien marche (je sais pas si un lien vers une recherche marche ... ) le troisième post sorti qui s'appelle "Aide pour un script j'y donne la même explication que ci dessus ... Alors tu comprends ... 3 fois en aussi peu de temps ... ça gerce un peu ...

Par ailleurs 3 réponse c'est finalement peu ... Et c'est sans doute dû à la limitation temporelle des recherches qui a été imposée lorsque trop de gens sont conectés en même temps de manière a améliorer les perfs du forum ... tu sais le bandeau noir en haut là ... quand y a ça et que t'as pas ta réponse faut relancer plus tard ....

Par Zariel le 6/11/2002 à 13:20:17 (#2494739)

Merci pour ta réponse, en plus, le lien marche :D

Encore une bonne prise de tête en vue....:p

JOL Archives 1.0.1
@ JOL / JeuxOnLine