Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Spawner des Monstres comme dans les MMORPG
Spawner des Monstres comme dans les MMORPG
Par Mandalor le 29/6/2002 à 12:53:32 (#1729370)
J'ai besoin d'aide car je suis en train de créer mon module et je veux créer un campement de goblins qui respawn comme dans EQ. J'utilise le super script que j'ai trouvé mais il se passe deux choses qui ne me vont pas: le corps de la creature ne disparait pas mais pire après le temps que j'ai decidé, elle ne réapparait pas à l'endroit du Waypoint assigné mais à la place de son corps décédé.
Je vous montre le script; su quelqu'un à une idée pour corriger ces deux erreurs?:
Finally it's complete!
Special thanks to SPIKE for the error correcting!
This will respawn a monster to a waypoint OnDeath.
Steps:
1) Create a monster in the creature wizard.
2) Remember or copy down the creatures BLUEPRINT name. (if this isn't done you may start respawning badgers instead of the intended creature).
3) Laydown a WAYPOINT and name it's tag to something - I used "littlespawner" but you may change it to whatever you like.
4) Copy this script into the OnDeath script of your creature.
5) Replace your waypoint name where it reads "littlespawner"
6) Replace your custom creature blueprint name where it reads "spec"
7) Save the script as a Save As [whatever_name_you_want_] Update any instances for that monster by right clicking the monster name in the blueprint editor and selecting UPDATE INSTANCED: (if you have placed any creatures make sure you select them all or the script may not execute)
You're done! You now have a simple MMORPG style creature respawner.
//::**********************
//::MMORPG Style Respawner
//::By: Stephan Cam
//:: Error Correcting by SPIKE
//:: June 24, 2002
#include "NW_I0_GENERIC"
void VoidCreateObject(string sTemplate, location lLoc, int bUseAppearAnimation=TRUE);
void main()
{
location lLoca = GetLocation(GetObjectByTag ("littlespawner"));//waypoint name
float fSeconds = 10.0; //monster spawn time
string sTemplate = "spec";//monster name - same as initial monster - use blueprint name
if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
}
{
SetIsDestroyable(FALSE);
AssignCommand(OBJECT_SELF, DelayCommand(fSeconds, VoidCreateObject(sTemplate,lLoca, TRUE)));
}
}
void VoidCreateObject(string sTemplate, location lLoca, int bUseAppearAnimation=TRUE)
{
CreateObject(OBJECT_TYPE_CREATURE, sTemplate,lLoca,TRUE);
SetIsDestroyable(TRUE);
}
//****************
Mercid 'avance et un grand merci pour tous les liens vers les scripts déjà tout fait.
Par Lumina le 29/6/2002 à 15:04:44 (#1729961)
Et pour que le corps disparaisse, c'est dans les propriétés de la créature, advanced, special, et tu décoches toutes les cases : disarmable, plot, no permanent death. Et tu mets le "Treasure Model" à défaut.
Bon, je n'ai pas testé, mais c'est tout ce qui me vient à l'idée pour tes problèmes.
Par Caepolla le 29/6/2002 à 16:48:18 (#1730394)
Normalement, les Encounters servent à définir le point d'apparition de monstres, à définir dans des listes, et tu peux cocher une case pour un "respawn" avec temps déterminé. Je n'ai pas du tout essayé de faire un respawn avec, mais en tout cas j'ai vu l'option.
:merci:
Par Mandalor le 30/6/2002 à 0:22:16 (#1732234)
Par Mandalor le 1/7/2002 à 13:03:08 (#1738947)
dans le script d'au dessus qu'elle ligne dois je mettre si je veux paramètrer un nobre défini de respawn?
JOL Archives 1.0.1
@ JOL / JeuxOnLine