Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > [Script] placement aléatoire
[Script] placement aléatoire
Par Daynos le 12/10/2002 Ã 16:00:07 (#2322904)
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)
Par gaeriel/nekresh le 15/2/2003 Ã 20:06:09 (#3245327)
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)
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)
JOL Archives 1.0.1
@ JOL / JeuxOnLine