Hello.
J'ai fait un petit script de spawn de monstre avec une boucle :
void main() { object oPC = GetEnteringObject(); object oArea0505 = GetObjectByTag("0505");
string sArea0505 = GetTag(oArea0505); string sCreature = "npc_"+sArea0505+"_1";
int nBoucle = 0; int nNumero = 0; string sNumero = IntToString (nNumero+1); // SPW_npc_0505_1_1 à SPW_npc_0505_1_5 location lCreature = GetLocation(GetWaypointByTag("SPW_"+sCreature+"_"+sNumero));
if(GetIsPC(oPC)) { while(nBoucle>=0) { if(nBoucle==5) { SpeakString("test fin de boucle",TALKVOLUME_SHOUT); break; } else { SpeakString("test de la boucle",TALKVOLUME_SHOUT); CreateObject(OBJECT_TYPE_CREATURE,sCreature,lCreature,FALSE); nBoucle++; nNumero++; } } } }
La boucle se réalise bien, j'ai bien les 5 messages voulu et le dernier comme quoi la boucle est out. Le probleme c'est que ca me cré les 5 mobs sur le meme Waypoint et non pas un mobs par Waypoint.
Je pensais qu'en mettant "nNumero++;" ca faisait passer au Waypoint suivant et que ca irait. Mais c'est pas le cas et je vois pas du tout où se trouve mon erreur.
Si qu'lqu'un peut m'aider merci (je précise que j'ai suivi le cours de script du site sur les while/for et que j'ai opté pour créer une boucle infini que je shoot avec un "break;" - j'arrive mieu a me servir des boucles comme ça pour commencer). La gestion des tag/resref je commence à maitriser, pas encore les IntToString et similaire, c'est un peu confus.
|