JeuxOnLineForumsPlusCréer un compte
Neverwinter Nights
Maskado
Répondre
Partager Outils Rechercher
Avatar de Loekit
Loekit
Alpha & Oméga
 
Avatar de Loekit
 
Question

[Problème] Utilisation de la fonction "DelayCommand"

Bon, j'ai un problème qui se pointe quand j'utilise la fonction DelayCommand afin de retarder une instruction.
J'ai la très forte impression (pour ne pas dire une certitude) que les instructions que je passe en délai ne s'exécutent pas du tout.

Code PHP:
void main()
{
PrintInteger(2);//pour tester la commande
DelayCommand(2.0PrintInteger(2));//La meme en differe


//Initialisation de variables
object oDeclencheur GetEnteringObject();
string sTexte "un petit test";

SendMessageToPC(oDeclencheursTexte);//pour tester la commande
DelayCommand(2.0SendMessageToPC(oDeclencheursTexte));//La meme en differe

Je place ce script dans le OnEnter d'une zone de rencontre.
La zone de rencontre s'active bien et les 2 commandes qui ne sont pas différées fonctionnent.
Par contre dès que je les diffère, poufff, disparu, plus rien.

Quelqu'un a-t'il une idée du pourquoi du comment de l'affaire ?
C'est louche .
Lien direct vers le message - Vieux
Avatar de Tyrion
Tyrion
Empereur
 
Avatar de Tyrion
 
Euh ben je voix pas pourquoi

*teste*

Euh en tout cas chez moi les deux marches

Essaye ceci desfois que les encouter soit encore plus mal fait que les triggers ...

Code PHP:
void main()
{
PrintInteger(2);//pour tester la commande
DelayCommand(2.0,AssignCommand(OBJECT_SELF,  PrintInteger(2)));//La meme en differe


//Initialisation de variables
object oDeclencheur GetEnteringObject();
string sTexte "un petit test";

SendMessageToPC(oDeclencheursTexte);//pour tester la commande
DelayCommand(2.0,AssignCommand(OBJECT_SELFSendMessageToPC(oDeclencheursTexte)));//La meme en differe

Lien direct vers le message - Vieux
Avatar de Loekit
Loekit
Alpha & Oméga
 
Avatar de Loekit
 
Bon bein ça passe pas.
Les commandes classiques passent, les commandes delayed ont dû rester en 2003 .

A titre indicatif, je suis en SoU 1.30

Sérieusement, je ne capte pas .
Lien direct vers le message - Vieux
Avatar de Tyrion
Tyrion
Empereur
 
Avatar de Tyrion
 
Je suis en SoU 1.32 les 2 passe o_O

(Je sais que la 1.30 etait toute buguer donc il se peu que ...)
Lien direct vers le message - Vieux
Avatar de Loekit
Loekit
Alpha & Oméga
 
Avatar de Loekit
 
Bon, je vais essayer de trouver la 1.32... par contre je cherche le fichier zip, je ne veux pas le télécharger par le logiciel vu que j'ai 2 jeux à patcher (le mien et le pc du frangin) et que je ne veux pas me retaper le download si je formate .

Y a un truc de 90 meg sur le site bioware, c'est le seul en SOU. C'est ça que je dois prendre ? Bizarre c'est un critical rebuild .
Lien direct vers le message - Vieux
Avatar de Tyrion
Tyrion
Empereur
 
Avatar de Tyrion
 
Ou c'est des pro chez bioware c'est bien le critical rebuilt et tu vera l'install du critical est meme en italien.... Mais bon apres c'est en francais
Lien direct vers le message - Vieux
Avatar de gaeriel/nekresh
gaeriel/nekresh
Empereur
 
Avatar de gaeriel/nekresh
 
Tu peux cocher une option dans l'updater qui te permet d'enregistrer les fichiers télécharges dans ton répertoire d'installation de nwn. Cliques bouton droit sur l'updater et regarde les options, je m'en souviens plus et je suis pas a cote de mon jeu (500KM, c'est pas a cote )
Lien direct vers le message - Vieux
Avatar de Loekit
Loekit
Alpha & Oméga
 
Avatar de Loekit
 
bon, j'ai collé la 1.32 critical et bein... ça marche pas mieux

J'avoue que ça me saoule ct'histoire.
Lien direct vers le message - Vieux
Avatar de Archamedes_Fr
Archamedes_Fr
Alpha & Oméga
 
Avatar de Archamedes_Fr
 
Tu testes en joueur ou en DM ?
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
Est-ce que tu detruit le trigger/encounter apres ?
(genre, c'est une rencontre one shot ? Ou le script contient un DestroyObject un peu plus bas, ou autre ?)

si le trigger est plus la au moment du delaycommand, alors le Delay Va echouer.
Lien direct vers le message - Vieux
Avatar de Loekit
Loekit
Alpha & Oméga
 
Avatar de Loekit
 
Citation:
Provient du message de Archamedes_Fr
Tu testes en joueur ou en DM ?
En joueur.

Citation:
Provient du message de eMRaistlin
Est-ce que tu detruit le trigger/encounter apres ?
(genre, c'est une rencontre one shot ? Ou le script contient un DestroyObject un peu plus bas, ou autre ?)

si le trigger est plus la au moment du delaycommand, alors le Delay Va echouer.
Il me semble qu'on s'approche du problème .
J'ai testé le même script dans le OnEnter de la zone plutôt que dans le OnEnter de la rencontre et là les 2 fonctionnent.

Je suppose qu'il faut voir au niveau de mon trigger de rencontre, les propriétés de celui-ci.

J'upload les screen des propriétés de ma rencontre. J'ai essayé de bidouiller la dedans aussi des fois que mais ça n'a pas donné grand chose. Maintenant que je sais que ça peu venir de là, je vais creuser mais si quelqu'un voit, qu'il me facilite le travail .
http://loekit.free.fr/nwn/rencontre1.jpg
http://loekit.free.fr/nwn/rencontre2.jpg
http://loekit.free.fr/nwn/rencontre3.jpg (le script "test" contient exactement ce que j'ai publié au dessus dans mon premier message)
http://loekit.free.fr/nwn/rencontre4.jpg
Lien direct vers le message - Vieux
Avatar de Archamedes_Fr
Archamedes_Fr
Alpha & Oméga
 
Avatar de Archamedes_Fr
 
Pour test, tu peux faire faire l'action à la zone.
Code PHP:
void main()
{
PrintInteger(2);//pour tester la commande
AssignCommand(GetArea(OBJECT_SELF), DelayCommand(2.0PrintInteger(2)));//La meme en differe


//Initialisation de variables
object oDeclencheur GetEnteringObject();
string sTexte "un petit test";

SendMessageToPC(oDeclencheursTexte);//pour tester la commande
AssignCommand(GetArea(OBJECT_SELF), DelayCommand(2.0SendMessageToPC(oDeclencheursTexte)));//La meme en differe

Sait-on jamais.
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
je suppose que le trigger est detruit lors du passage, et que la checkbox de Bioware "respawn" va gerer un delayCommand qui va le recreer...

essaye ca :

Code PHP:
void main()
{
float fNsecRespawn 11.0//ici, je met le temps que tu as mis en seconde dans la rencontre, +1
PrintInteger(2);//pour tester la commande
AssignCommand(GetModule(),DelayCommand(fNsecRespawnAssignCommand(GetObjectByTag("R_FAC_GROUPE_ARAIGNEE"),PrintInteger(2))));//La meme en differe
//j'assigne la commande au module, dans le cas ou ma theorie sur la disparition du trigg est juste :
//Si j'assigne une commande a un objet qui va disparaitre, elle ne le ferait plus.


//Initialisation de variables
object oDeclencheur GetEnteringObject();
string sTexte "un petit test";

SendMessageToPC(oDeclencheursTexte);//pour tester la commande
DelayCommand(2.0SendMessageToPC(oDeclencheursTexte));//La meme en differe


voila : en gros, pour tester, j'assigne au mdule l'operation d'assigner au trigger de printer 2 11 secondes apres l'entree, (donc en laissant le temps au trigger de se recreer, s'il s'avere qu'il se detruit effectivement bien lors de sa resolution)



@Archa : tu assigne la commande a l'Area de printer, ce qui, je crois, ne devrait pas marcher (quoique, ca depend de la fonction print, vu que ce n'est aps un speakstring...)
Lien direct vers le message - Vieux
Avatar de Nek
Nek
Alpha & Oméga
 
Avatar de Nek
 
Le DelayCommand est très bizarre, mais j'ai remarqué un truc:

Si tu le places dans un OnEnter de quelque chose et que le Delay doit s'exécuter alors que le OnExit a été déclenché, ça ne s'exécute pas.

Le placer dans un trigger c'est pas une bonne idée à mon avis, à moins que le trigger soit gigantesque.
Lien direct vers le message - Vieux
Répondre

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 10h10.
   

© 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