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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

[Script] placement aléatoire

Par Daynos le 12/10/2002 à 16:00:07 (#2322904)

Script proposé par Tormax

Script pompé sur les forums de BioWare que j'ai trouvé super intéressant.
Il vous permet de faire apparaître un monstre (Goblin1) à 6 emplacements de manière aléatoire.


Voici le script en question:


void main()
{
// Définir la range de chiffre à prendre aléatoirement (1-6)
int nRandomNumber = d6(1);
// Créer le WayPoint Tag aléatoirement.
string sWaypoint = "WP_Goblin_Spawn_" + IntToString(nRandomNumber);
// Récupérer la loc de l'object
object oWaypoint = GetObjectByTag(sWaypoint);
// Faire apparaitre Goblin1 au WayPoint défini aléatoirement
object oGoblin= GetObjectByTag("Goblin1");
AssignCommand(oGoblin, JumpToObject(oWaypoint));
}


Nécessités:
1/ Placer ce script dans le OnSpawn de 'Goblin1'
2/ Placer 6 waypoints nommés WP_Goblin_Spawn_x (ou x=1 à 6)

Par AlphA da keech le 15/2/2003 à 13:02:16 (#3243634)

Je suis retombé sur ce post en fouillant les anciens thread, c'est bien je trouve, mais comment coupler ca avec un respawn automatique de monstre ?

Par gaeriel/nekresh le 15/2/2003 à 20:06:09 (#3245327)

Apparement, si tu cliques avec le bouton droit sur ton point de rencontre, tu peux placer plusieurs points de spawn.
Je connais pas vraiment l'éditeur, c'est peut-être faux mais je propose ça.

Par AlphA da keech le 15/2/2003 à 20:10:25 (#3245355)

Euh je crains que tu n'es pas trop compris ma question :p
Je souhaite rassembler ce script de spawn aléatoire et un autre de respawn de monstre... Un script du genre:

#include "NW_I0_GENERIC"

void VoidCreateObject(string sTemplate, location lLoc, int bUseAppearAnimation=TRUE);

void main()
{
location lLoca = GetLocation(GetObjectByTag ("Tag_du_waypoint"));
float fSeconds = 10.0; //temps en secondes pour le respawn
string sTemplate = "BLUEPRINT_de_votre_monstre";

if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
}

AssignCommand(GetModule(), DelayCommand(fSeconds, VoidCreateObject(sTemplate,lLoca, TRUE)));
}

void VoidCreateObject(string sTemplate, location lLoca, int bUseAppearAnimation=TRUE)
{
CreateObject(OBJECT_TYPE_CREATURE, sTemplate,lLoca,TRUE);
}


...plus...

void main()
{
// Définir la range de chiffre à prendre aléatoirement (1-6)
int nRandomNumber = d6(1);
// Créer le WayPoint Tag aléatoirement.
string sWaypoint = "WP_Goblin_Spawn_" + IntToString(nRandomNumber);
// Récupérer la loc de l'object
object oWaypoint = GetObjectByTag(sWaypoint);
// Faire apparaitre Goblin1 au WayPoint défini aléatoirement
object oGoblin= GetObjectByTag("Goblin1");
AssignCommand(oGoblin, JumpToObject(oWaypoint));
}


Et je vois pas comment faire :( (keech powa)

Par gaeriel/nekresh le 15/2/2003 à 20:24:36 (#3245430)

#include "NW_I0_GENERIC"

void VoidCreateObject(string sTemplate, location lLoc, int bUseAppearAnimation=TRUE);

void main()
{
int nRandomNumber = d6(1);
string sWaypoint = "WP_Goblin_Spawn_" + IntToString(nRandomNumber);
object oWaypoint = GetObjectByTag(sWaypoint);
location lLoca = GetLocation(oWaypoint);
float fSeconds = 10.0; //temps en secondes pour le respawn
string sTemplate = "BLUEPRINT_de_votre_monstre";

if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
}

AssignCommand(GetModule(), DelayCommand(fSeconds, VoidCreateObject(sTemplate,lLoca, TRUE)));
}

void VoidCreateObject(string sTemplate, location lLoca, int bUseAppearAnimation=TRUE)
{
CreateObject(OBJECT_TYPE_CREATURE, sTemplate,lLoca,TRUE);
}


Voila, j'espère que ça marche, faudra que je me mette à l'éditeur et aux scripts.

Par AlphA da keech le 16/2/2003 à 7:09:04 (#3247209)

merci beaucoup, je vais tester ca :merci:

JOL Archives 1.0.1
@ JOL / JeuxOnLine