Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Pas tousse en mĂȘme temps
Pas tousse en mĂȘme temps
Par pasjuste le 27/10/2002 Ă 17:40:50 (#2418354)
Voilà je voudrai crée une arme infini qui apaiser a 5wp_ diffÚrent
avec 5 monstre diffĂšrent
Seulement voilĂ je voudrai quÂil soit que 5 sur le terrain
Et que lorsque il y en a un qui meure un autre vient le remplacer
VoilĂ se que j ai fait
Un déclencheur devant la porte avec :
Dans onenter :
void main()
{
// activer l' encounter
SetLocalInt(OBJECT_SELF, "on", 1);
}
dans onheartbeat :
void CreateMonster(location where)
{
CreateObject(OBJECT_TYPE_CREATURE, "archerdemiorque0a", where, TRUE);
CreateObject(OBJECT_TYPE_CREATURE, "archerdemiorque0b", where, TRUE);
CreateObject(OBJECT_TYPE_CREATURE, "archerdemiorque0c", where, TRUE);
CreateObject(OBJECT_TYPE_CREATURE, "archerdemiorque0d", where, TRUE);
CreateObject(OBJECT_TYPE_CREATURE, "archerdemiorque", where, TRUE);
}
void main()
{
// si variable non definie => ne rien faire
if( !GetLocalInt(OBJECT_SELF, "on") ) return;
location l1= GetLocation( GetWaypointByTag("WP_archerdemiorque0a_01") );
location l2= GetLocation( GetWaypointByTag("WP_archerdemiorque0b_01") );
location l3= GetLocation( GetWaypointByTag("WP_archerdemiorque0c_01") );
location l4= GetLocation( GetWaypointByTag("WP_archerdemiorque0d_01") );
location l5= GetLocation( GetWaypointByTag("WP_archerdemiorque_01") );
CreateMonster(l1);
CreateMonster(l2);
CreateMonster(l3);
CreateMonster(l4);
CreateMonster(l5);
}
par contre je c est pas comment lui dire crée en un nouveaux
seulement quand il y en moins de 5
merci de mÂaide
Par LeProctophantasmiste le 28/10/2002 Ă 13:16:41 (#2423665)
Et quelle condition d'arrĂȘt veux tu pour les respawns, si tu en veux une?
Pour faire cela il vaut mieux utiliser l'OnDeath des créatures.
:)
Par pasjuste le 28/10/2002 Ă 22:17:03 (#2428007)
pour se qui et de la frĂ©quence et bien 5 au dĂ©but puits un nouveaux a chaque fois quÂil y en a un de mort enfin une tempo de 20 seconde peux ĂȘtre un plus pour pas faire un automatisme ;)
Par LeProctophantasmiste le 28/10/2002 Ă 23:02:53 (#2428247)
2)Ou bien tu places un exemplaire de chaque avec l'éditeur, ou bien tu les crées au moment voulu par un autre script.
Lis bien mes commentaires pour tout mettre en place.
il faut que tu suives les mĂȘme conventions que moi sinon cela ne marchera pas
/////////////////////////////////////////////////////////////////////
// Attention la Resref de tes monstres (propriĂ©tĂ© avancĂ©e) doit ĂȘtre strictement Ă©gale Ă
// leur tag, sinon ce script ne marchera pas
/////////////////////////////////////////////////////////////////////
#include "NW_I0_GENERIC"
void VoidCreateObject(int nObjectType, string sTemplate, location lLocation, int bUseAppearAnimation=FALSE)
{
CreateObject(nObjectType,sTemplate, lLocation, bUseAppearAnimation);
}
void main()
{
////////////////////////////////
// Ici tu peux régler le delais de recréation des monstres
float fDelay = 20.0f;
///////////////////////////////////////////
// Si tu avais la version 1.26 tu pourrais changer la ligne suivante en:
// string sResRef = GetResRef(OBJECT_SELF);
// La contrainte sur les tags disparaisant alors
////////////////////////////////////////////
string sResRef = GetTag(OBJECT_SELF);
// je me suis basé sur ce que tu montrais dans ton script:
// le tag du waypoint est "WP_" suivi de la ResRef de l'orc correspondant, suivi de "_01"
location lSpawnPoint = GetLocation( GetWaypointByTag("WP_" + sResRef +"_01") );
// les complications de la ligne suivantes sont nécessaires, le monstre qui
// appelle ce script n'existera plus au moment de la creation du suivant
// donc ce ne peut ĂȘtre lui qui le crĂ©e, j'ai choisi d'assigner l'action au module
AssignCommand(GetModule(), DelayCommand(fDelay,VoidCreateObject(OBJECT_TYPE_CREATURE, sResRef, lSpawnPoint)));
SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);
//Shout Attack my target, only works with the On Spawn In setup
SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);
if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
}
}
EDIT: il est parti tout seul!
hip hip ip houra
Par pasjuste le 29/10/2002 Ă 0:45:41 (#2428730)
arf je peux dire que merci mais sache quÂil et profond et sincĂšre
tu vient de me retire une lÂĂ©pine du pied mĂȘme une poutre ;)
merci beaucoup en espĂšrent que sa en aide dÂautres
j ai une vrais petit armer qui se bat contre une vrais autre petit armer un délice
JOL Archives 1.0.1
@ JOL / JeuxOnLine