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

Panneau de contrĂŽle

Recherche | Retour aux forums

JOL Archives

Pas tousse en mĂȘme temps

Par pasjuste le 27/10/2002 Ă  17:40:50 (#2418354)

Un petit problĂšme
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)

Quelle version as-tu? 1.24 ou 1.26 ? (pour savoir si je peux utiliser GetResRef).
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)

j ai la 1.24 mais je suis prĂšs a recevoir les deux solution pour apprendre plus vite ;p
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)

1)Tu remplaces le script sur l'OnDeath de tes cinq blueprints de créatures par celui çi.

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)

tu et un génie
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