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


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 12/04/2003 00:37:04 Sujet du message : Un énième problème de script...

Bonjour tout le monde!
Alors voila!! Je fais mes débuts dans l'écriture de scripts et pour l'instant ils sont plutot comme chi comme cha... lol! J'ai tenté de faire compter un personnage jusqu'à dix avant de donner l'attaque au personnage joueur... ca a l'air simple sur le papier et même la compilation ne trouve pas d'erreurs, mais comme par hasard bien sur ca ne marche pas du tout dans le jeu!! sniiiiff!!! Crying or Very sad
voici mon script

Code :
/* Ce script fait attendre le perso pendant 10 secondes avant d'appeler
les gardes qui attaqueront le PC
*/
//:://////////////////////////////////////////////
//:: Created By:  Tuyen
//:: Created On:  8/04/2003
//:://////////////////////////////////////////////
void main()
{
    object oGarde1 = GetObjectByTag("waldogarde1");
    object oGarde2 = GetObjectByTag("waldogarde2");

    ActionWait (2.0);
    ActionSpeakString("Je commence a compter...");
    ActionWait (2.0);
    ActionSpeakString("Un...");
    ActionWait (2.0);
    ActionSpeakString("Deux...");
    ActionWait (2.0);
    ActionSpeakString("Trois...");
    ActionWait (2.0);
    ActionSpeakString("Quatre...");
    ActionWait (2.0);
    ActionSpeakString("Cinq...");
    ActionWait (2.0);
    ActionSpeakString("Six...");
    ActionWait (2.0);
    ActionSpeakString("Sept...");
    ActionWait (2.0);
    ActionSpeakString("Huit...");
    ActionWait (2.0);
    ActionSpeakString("Neuf...");
    ActionWait (2.0);
    ActionSpeakString("...Et dix!!!...");
    ActionWait (2.0);
    ActionSpeakString("GAARRRDES!!!!!!!");
    AssignCommand(oGarde1, ActionWait(1.0));
    AssignCommand(oGarde2, ActionWait(1.0));
    AssignCommand(oGarde1, ActionAttack (GetPCSpeaker(),FALSE));
    AssignCommand(oGarde2, ActionAttack (GetPCSpeaker(),FALSE));
    ActionAttack (GetPCSpeaker(),FALSE);
}

Je l'ai mis dans "condition d'exécution" après un dialogue... des fois ca marche pas du tout, des fois il peux même compter jusqu'à trois ou quatre... mais après il ne fais plus rien... Comprends paaaa!!!!! Pourriez vous me donner un coup de main siou plait???? ( ce qui m'intrigue c'est que des fois il arrive à compter et d'autres fois non... peut être l'ai-je mis dans un endroit qu'il ne faut pas?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Jedaï
Chevalier
Inscrit le: 14 Nov 2002
Messages: 89
Localisation: Le Havre, ville pourrie
Répondre en citant
Posté le : 12/04/2003 06:51:05 Sujet du message :

Essaie de supprimer les scripts de fin de conversation par défaut (dans l'onglet "autres fichers" de l'éditeur de dialogue). Si ça marche pas, revient nous le dire. Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 12/04/2003 09:38:17 Sujet du message :

ben... euh... comment dire? Je n'arrive pas à trouver ton onglet... il y a bien "condition d'exécution", "action conséquente", "autres actions", "commentaires" et "fichiers actuels", mais pas d'onglets "autres fichiers" dans l'éditeur de dialogue...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Jedaï
Chevalier
Inscrit le: 14 Nov 2002
Messages: 89
Localisation: Le Havre, ville pourrie
Répondre en citant
Posté le : 12/04/2003 11:11:17 Sujet du message :

OK c'est "fichier actuel" (j'ai la version anglaise et en plus j'ai dit ça de mémoire), cependant je dirais que tu fais preuve d'un manque singulier d'indépendance, après tout tu n'avais qu'à chercher les scripts de fin de conversation dans tous les onglets. Mad
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 12/04/2003 19:43:16 Sujet du message :

eh bien vois tu c'est exactement ce que j'ai fait, mais cela ne marche pas plus... Surprised
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Taern
Ecuyer
Inscrit le: 11 Avr 2003
Messages: 45
Localisation: 92
Répondre en citant
Posté le : 13/04/2003 01:53:30 Sujet du message :



Pas la peine de me faire remarquer mon sens aigu de l'esthéthisme, je suis déja au courant Very Happy

Pour en revenir au sujet, supprime les deux scripts que je t'ai indiqués, parcequ'un ClearAllActions mal placé ça peut parfois être gênant Cool
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Numéro ICQ Ignorer l'utilisateur
 
Jedaï
Chevalier
Inscrit le: 14 Nov 2002
Messages: 89
Localisation: Le Havre, ville pourrie
Répondre en citant
Posté le : 13/04/2003 11:01:35 Sujet du message :

De plus, tel que tu as fait ton script, les deux gardes vont attaquer presque immédiatement, ce qui peut avoir des conséquences néfastes sur la concentration de celui qui compte...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 14/04/2003 10:04:41 Sujet du message :

Ben j'ai bien supprimé les deux scripts à l'endroit indiqué, mais bon... ca arrange rien. Des fois il compte un peu, des fois il compte pas du tout... Je me demande si ca marche bien ce ActionWait()!! Ou peut être est ce qu'il y a un certain quota de temps pour les scripts réalisés en fin de dialogue?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Jedaï
Chevalier
Inscrit le: 14 Nov 2002
Messages: 89
Localisation: Le Havre, ville pourrie
Répondre en citant
Posté le : 14/04/2003 10:58:30 Sujet du message :

As-tu lu ma réponse ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 14/04/2003 12:02:29 Sujet du message :

Oui pour sur! lol! En fait ca posait des problème DEJA avant que j'ajoute les ordres concernant les deux gardes... donc j'en conclut que ce n'était pas ca qui était en cause Confused
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 15/04/2003 15:22:07 Sujet du message :

Personne n'aurait une idée pour mon prob? C'est pourtant pas compliqué ce n'est qu'une suite d'actions mais ca marche pas donc snif Crying or Very sad
Pour résumer j'ai viré les scripts de fin de conversation ainsi que l'attaque des gardes... ca a pas l'air de marcher plus que ca... Snif! C'est un truc tout bête je le sens, mais comme je suis assez naz en script... Embarassed Merci de me répondre siouplé!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Albator003
Invité


Répondre en citant
Posté le : 15/04/2003 22:44:10 Sujet du message :

voila ce que je te propose sur le type qui parle (enfin celui qui va compter au moment choisit du dialogue ou action tu met ca
Citation :
void main()
{
object oSpeaker = GetObjectByTag("Tag du gars qui va compter");
DelayCommand(2.0, AssignCommand(oSpeaker, ActionSpeakString("Je commence a compter...")));

DelayCommand(4.0, AssignCommand(oSpeaker, ActionSpeakString("Un...")));

DelayCommand(6.0, AssignCommand(oSpeaker, ActionSpeakString("Deux...")));

DelayCommand(8.0, AssignCommand(oSpeaker, ActionSpeakString("Trois...")));

DelayCommand(10.0, AssignCommand(oSpeaker, ActionSpeakString("Quatre...")));

DelayCommand(12.0, AssignCommand(oSpeaker, ActionSpeakString("Cinq...")));

DelayCommand(14.0, AssignCommand(oSpeaker, ActionSpeakString("Six...")));

DelayCommand(16.0, AssignCommand(oSpeaker, ActionSpeakString("Sept...")));

DelayCommand(18.0, AssignCommand(oSpeaker, ActionSpeakString("Huit...")));

DelayCommand(20.0, AssignCommand(oSpeaker, ActionSpeakString("Neuf...")));

DelayCommand(22.0, AssignCommand(oSpeaker, ActionSpeakString("...Et dix!!!...")));

DelayCommand(24.0, AssignCommand(oSpeaker, ActionSpeakString("GAARRRDES!!!!!!!")));
DelayCommand(25.0, ExecuteScript("gardeattack1", OBJECT_SELF));
DelayCommand(25.0, ExecuteScript("gardeattack2", OBJECT_SELF));

}
ensuite tu crée un script qui dans mon cas sapellera "gardeattack1"
et tu met ca dedans
Citation :
void main()
{ object oAttack = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC);
object oGarde1 = GetObjectByTag("Tag de ton garde 1");
AssignCommand(oGarde1, ActionWait(1.0));
AssignCommand(oGarde1, ActionAttack (oAttack));
}
Biensur faire de meme pour le 2eme garde...
Un truc que je pige pas c que le garde fais que une seul attack ya une tite soluce mais si le mec respawn toujours au meme endroit il va tout le temps se faire defoncer....le truc c de mettre ton garde de faction défenseur mais bon c'est vraiment pas top si qqun vois comment le faire arreter quand le pj est mort ....quil se manifeste Smile
 
Revenir en haut
 
Albator003
Invité


Répondre en citant
Posté le : 15/04/2003 22:47:39 Sujet du message :

heu rectif je viens de voir ca le get nearestcreature ca le fais pas ....il faut autrechose car si ya 2 pj dans la zone il vont attack le 1er quil voye alors que c pas forcement lui quil fo attacker
 
Revenir en haut
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 15/04/2003 23:02:07 Sujet du message :

Oki merci bocou pour ton aide albator Very Happy ... m'en vais tester ça moa!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Albator003
Invité


Répondre en citant
Posté le : 15/04/2003 23:04:38 Sujet du message :

bien voila j'ai trouver la chose tu as juste a mettre ce script sur le tu qui va compter(dans un dialogue : dans action conséquente)
Citation :
void main()
{
object oGarde1 = GetObjectByTag("waldogarde1");
object oGarde2 = GetObjectByTag("waldogarde2");
object oPJ = GetLastSpeaker();
object oSpeaker = GetObjectByTag("Tag du type qui va compter");

DelayCommand(2.0, AssignCommand(oSpeaker, ActionSpeakString("Je commence a compter...")));

DelayCommand(4.0, AssignCommand(oSpeaker, ActionSpeakString("Un...")));

DelayCommand(6.0, AssignCommand(oSpeaker, ActionSpeakString("Deux...")));

DelayCommand(8.0, AssignCommand(oSpeaker, ActionSpeakString("Trois...")));

DelayCommand(10.0, AssignCommand(oSpeaker, ActionSpeakString("Quatre...")));

DelayCommand(12.0, AssignCommand(oSpeaker, ActionSpeakString("Cinq...")));

DelayCommand(14.0, AssignCommand(oSpeaker, ActionSpeakString("Six...")));

DelayCommand(16.0, AssignCommand(oSpeaker, ActionSpeakString("Sept...")));

DelayCommand(18.0, AssignCommand(oSpeaker, ActionSpeakString("Huit...")));

DelayCommand(20.0, AssignCommand(oSpeaker, ActionSpeakString("Neuf...")));

DelayCommand(22.0, AssignCommand(oSpeaker, ActionSpeakString("...Et dix!!!...")));

DelayCommand(24.0, AssignCommand(oSpeaker, ActionSpeakString("GAARRRDES!!!!!!!")));

DelayCommand(25.0,AssignCommand(oGarde1, ActionAttack (oPJ)));
DelayCommand(25.0,AssignCommand(oGarde2, ActionAttack (oPJ)));
}
bon chez moi j'ai toujours le probleme du garde qui fais que une attack...
 
Revenir en haut
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 16/04/2003 00:56:01 Sujet du message :

mille merci c'est sympa de t'être penché sur la question! Very Happy ... Chez moi ca marche au poil... Les gardes viennent et attaquent, tout va bien! Smile ... trop de la boulette!!! Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger 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 32.554ms