La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 18:55:22


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Djezebel
Héros
Inscrit le: 29 Sep 2005
Messages: 252
Répondre en citant
Posté le : 22/12/2005 21:58:50 Sujet du message : Création de créature sur un OnDeath

Bonjour à tous !

Voilà le problème : je veux faire en sorte qu'une créature (Tag :"homme1") apparaisse 10 secondes après qu'une autre (Tag : "Gardien") soit morte.

Voici ce que j'ai mis comme script :

NWScript :


// fonction permettant d'appliquer un delai a la creation d'un objet
void DelayCreatObject(int nObjectType, string sTemplate, location lLoc, int bUseAppearAnimation = FALSE, string sNewTag= "")
{
  CreateObject(nObjectType, sTemplate, lLoc, bUseAppearAnimation, sNewTag);
}


void main()
{
object oSpawn = GetNearestObjectByTag("WP_Spawn");
location lSpawn = GetLocation(oSpawn);
effect eVisufx = EffectVisualEffect(34);

DelayCommand(7.5, ApplyEffectAtLocation(0, eVisufx , lSpawn));
DelayCommand(8.0,DelayCreatObject(OBJECT_TYPE_CREATURE, "luline006", lSpawn, FALSE, "Homme etrange"));

}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Mais chose étrange : avec le DelayCommand ça ne fonctionne pas.

Par contre si je mets ça :



NWScript :
void main()
{
object oSpawn = GetNearestObjectByTag("WP_Spawn");
location lSpawn = GetLocation(oSpawn);
effect eVisufx = EffectVisualEffect(34);

7.5, ApplyEffectAtLocation(0, eVisufx , lSpawn);
CreateObject(OBJECT_TYPE_CREATURE, "luline006", lSpawn, FALSE);

}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Ca fonctionne, mais je n'ai pas le délais nécessaire...

Est-ce que le DelayCommand ne peut pas s'appliquer sur un script de onDeath ?
Merci par avance pour vos réponses
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 22/12/2005 23:48:32 Sujet du message : Un mort ne peut rien créer !

Bonsoir,
en fait la solution à ton problème est toute simple. Le delaycommand fonctionne sur le OnDeath mais à condition que l'object qui appelle le script existe toujours ! Il faut que tu attribue une valeur de 9 au temps de décomposition du corps du PNJ qui lance le script, voilà !
A bientôt !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 23/12/2005 03:39:59 Sujet du message :

Sinon si tu ne veux pas laisser le corps trop longtemps ou si tu veux un delai plus long ou je ne sais quoi, tu as la possibilité de créer un objet invisible et d'assigner à cet objet la création de la créature voulue.

Vite fait le script dont je me sers pour faire respawner une créature (je te fais pas les modifs, je pense que tu saura faire pour ton cas) :
NWScript :

void SpawnNewRock(string sRockTag, location locRock)
{
  CreateObject(OBJECT_TYPE_CREATURE, sRockTag, locRock);
  DestroyObject(OBJECT_SELF);
}


void main()
{
location locRock = GetLocation(OBJECT_SELF);
string sRockTag = GetResRef(OBJECT_SELF);
object oSpawner = CreateObject(OBJECT_TYPE_PLACEABLE, "cnrobjectspawner", locRock);//resref d'un objet invisible
float fDelay = 8.0;
AssignCommand(oSpawner, DelayCommand(fDelay, SpawnNewRock(sRockTag, locRock)));

}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


C'est un script générique pour faire respawner une créature au bout d'un moment, ça marche aussi pour les placeables (ça ce voit début c'était pour faire respawner des veines de minerai dans une mine, y a qu'a changer le OBJECT_TYPE_CREATURE en OBJECT_TYPE_PLACEABLE). Ca vient du cnr à la base ça se voit aussi j'ai juste un peu bidouillé.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
lylver
Héros
Inscrit le: 08 Avr 2005
Messages: 274
Répondre en citant
Posté le : 27/12/2005 17:49:37 Sujet du message :

Yop le Lexicon, à compléter avec les bonnes variables, suffit de cliquer pour aller voir la documentation
NWScript :

#include "nw_i0_2q4luskan"
void main()
{
oSelf = OBJECT_SELF; // because OBJECT_SELF is a function
AssignCommand(GetArea(oSelf), DelayCommand(8.0, CreateObjectVoid(OBJECT_TYPE_CREATURE, GetResRef(oSelf), GetLocation(oSelf))));
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 33.713ms