JeuxOnLineForumsPlusConnectés : 277 (sites) | 419 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > comment faire pour le Delais ??? RSS
   
Répondre
Partager Outils Rechercher
Avatar de ruru2a
ruru2a
Alpha & Oméga
 
Avatar de ruru2a
 
Question

comment faire pour le Delais ???

g simuler un combat dans une arene, et je voudrais ke le perdant pop kelke mn apres ca mort, mais si j'utilise le DelaisCommand ca ne compile pas comment faire ??

Code PHP:
void main()
{
effect eVis EffectVisualEffect(VFX_IMP_POLYMORPH);
location lSpawn GetLocation(OBJECT_SELF);

DelayCommand(3.0ApplyEffectToObject(DURATION_TYPE_INSTANTeVis,OBJECT_SELF));
CreateObject(OBJECT_TYPE_CREATURE,"combattant1",lSpawn);

ca marche bien sure sur l'effet de polymorph...
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
C'est normal : Createbject ne retourne pas un vide, mais un objet... DelayCommand n'accepte que des void/action en parametre


Il te faut creer une fonction
Code PHP:
void VoidCreateObject(string sResreflocation lLocation){CreateObject(sResRef,lLocation);return;} 
et faire le Delay la dessus...
Lien direct vers le message - Vieux
Avatar de ruru2a
ruru2a
Alpha & Oméga
 
Avatar de ruru2a
 
ok trop compliké pour moi...

*jette l'éponge*
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
Code PHP:
void VoidCreateObject(int nObjectType,string sResRef,location lLoc);

void main()
{
effect eVis EffectVisualEffect(VFX_IMP_POLYMORPH);
location lSpawn GetLocation(OBJECT_SELF);

DelayCommand(3.0ApplyEffectToObject(DURATION_TYPE_INSTANTeVis,OBJECT_SELF));
VoidCreateObject(OBJECT_TYPE_CREATURE,"combattant1",lSpawn);
}

void VoidCreateObject(int nObjectType,string sResRef,location lLoc)
{
CreateObject(nObjectType,sResRef,lLoc);
return;

Lien direct vers le message - Vieux
Avatar de ruru2a
ruru2a
Alpha & Oméga
 
Avatar de ruru2a
 
bon... je comprends pas ce ke tu a fais... et même si ça compile ca ne marche pas le gars respawn aussi tôt ?
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
Arrf, vi, j'ai pas mis le Delay...

Code PHP:
void VoidCreateObject(int nObjectType,string sResRef,location lLoc);

void main()
{
float fDelay 3.0;
effect eVis EffectVisualEffect(VFX_IMP_POLYMORPH);
location lSpawn GetLocation(OBJECT_SELF);

DelayCommand(fDelayApplyEffectToObject(DURATION_TYPE_INSTANTeVis,OBJECT_SELF));
DelayCommand(fDelay,VoidCreateObject(OBJECT_TYPE_CREATURE,"combattant1",lSpawn));
}

void VoidCreateObject(int nObjectType,string sResRef,location lLoc)
{
CreateObject(nObjectType,sResRef,lLoc);
return;

Lien direct vers le message - Vieux
Avatar de ruru2a
ruru2a
Alpha & Oméga
 
Avatar de ruru2a
 
bien ca marche si on fixe une variable de 3, le probleme c ke je voudrias ke le respawn soit de 2mn et meme avec 10 (ce sont bien des sec non ?) le repop ne ce refait plus.

Je pense ke cela pourrait venir de la loc ki doit disparaitre, si tu pense ke je suis dans le vrais, comment arranger le script avec un WP pour le spawn ?
Lien direct vers le message - Vieux
Avatar de ruru2a
ruru2a
Alpha & Oméga
 
Avatar de ruru2a
 
personne n'a d'idée... ok on passe
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
euh, g pas compris ce que tu dis, dsl, mais ca doit pas venir de la location, le DelayCommand conserve les variables (bien appris ma leçon pas vrai ? )
donc non, je vois, pas, c quoi le pb exactement ?
(soit pas si pressé d'abandonner )
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
J'aurais pas le temps de faire des tests la dessus avant ce WeekEnd...
Lien direct vers le message - Vieux
Avatar de ruru2a
ruru2a
Alpha & Oméga
 
Avatar de ruru2a
 
mais sommes nous bien daccord sur le fait ke float 3.0 entre une variable egale a 3 sec ???
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
Dans le contexte de ce script, oui.

float fDelay = 3.0; // fDelay = Delay de respawn en secondes

Mais je crois que c'est ce que soulignait Jedaï la fois passée à propos de la nécessité d'un objet valide lors de l'execution du Delay.
Lien direct vers le message - Vieux
Avatar de ruru2a
ruru2a
Alpha & Oméga
 
Avatar de ruru2a
 
Bon ok alors si kelkun connait un script de respawn de mob k'il m'en fasse part, en attendant je v chercher un peu, merci pour ton aide mon cher moderateur...
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
Yoghurt et saucisse !!

Enfin, je ne suis pas fou, j'étais sûr qu'un monstre dont le cadavre a disparu ne pouvait pas se ressusciter lui-même (contrairement au baron de Münchausen, qui se tira d'une mauvaise posture par les cheveux)

Le problème est très simple à résoudre, il suffit de faire un AssignCommand( GetModule(), DelayCommand( 180.0, VoidCreateObject(blabla )) ) (attention l'ordre est important !! De plus, pas de fonction dans les paramètres du VoidCreateObject(), c'est pas prudent (en fait ça va tant qu'elle ne concerne pas le monstre disparu) ).
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
Remarque vu ce que tu veux faire, c'est à dire donner l'impression (avec le polymorph) que le cadavre se retransforme en monstre, tu as tout intérêt à utiliser SetIsDestroyable() et dans ce cas, un DelayCommand() seul suffit.
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > comment faire pour le Delais ???
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 07h19.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite