Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > La nuit tombe : tous le monde au dodo !
La nuit tombe : tous le monde au dodo !
Par Frolo Xeres le 3/11/2002 à 12:55:44 (#2468261)
-> 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)
Merci !
Par Frolo Xeres le 3/11/2002 à 14:38:03 (#2469056)
Merci pour ton aide mobi !
Par Zariel le 6/11/2002 à 12:50:45 (#2494412)
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)
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)
Encore une bonne prise de tête en vue....:p
JOL Archives 1.0.1
@ JOL / JeuxOnLine