La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 23/11/2024 17:40:56
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
jaheira Novice Messages: 9 |
Salut à tous!
Ceci est mon premier message sur ce forum et j'aurais besoin d'aide pour faire un scipt... J'ai essayé d'en créer un moi-même mais je n'ai pas encore réussi à faire fonctionner un script... même les plus simple comme "donner de l'expérience à un perso lorsqu'il parle à un pnj..." pouvez-vous m'aider svp? Comment commencer un script? [nwscript][/nwscript] void main() { } Merci d'avance de toutes vos réponses! Je suis désespéré |
Revenir en haut | |
Stan Grand Chevalier Messages: 126 |
Ca dépend, à quel moment doit-on donner l'expérience ? à la fin d'un dialogue ? à l'entrée d'une zone ?
Je propose les deux solutions, ça sera à toi de voir. NWScript :
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. On le met dans le OnEnter d'une zone (dans ses propriétés y'a un onglet évènement) Si c'est après un dialogue tu met alors NWScript :
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. Tu met ce script dans l'onglet "conséquence" de la parole de PNJ qui lui dit qu'il lui donne de l'xp par exemple. Bien entendu dans ses exemples il donne 1000, tu peux le modifier comme tu veux. Si tu veux aussi donner de l'or tu ajoutes ça juste avant l'accolade qui ferme le script. NWScript :
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. De façon plus générale un script se déroule comme ça (les scripts basiques) NWScript :
void main(){ object oPC=GetEnteringObject(); /*ensuite on fait des actions puis on femre le script*/ GiveXPToCreature(oPC, 1000); } J'espere que cela te sera utile. |
Revenir en haut | |
Jaheira 007 Seigneur Messages: 223 |
Haaaaa! Voleuse! Bougresse! C'est une honte! lol!
C'est mon nickname ça! Bon je te pardonne, car Jaheira c'est le nickname des meilleures! Stan a écrit : Ca dépend, à quel moment doit-on donner l'expérience ? à la fin d'un dialogue ? à l'entrée d'une zone ? Et bien je crois que ça a été dit dans son premier post: dans un dialogue.
Bref, vu que tu es apparement novice dans le scriptage, il faut que tu commence avec un outil très utile: l'assistant de script. Comment faire? C'est simple: dans ton éditeur de dialogue, tu clique sur l'onglet "action conséquente" sur la phrase de ton choix. Ensuite, tu pourras cliquer sur une petite icône ( en forme de chapeau pointu rouge ). C'est l'assitant ça! Avec ça tu pourras scripter en un clin d'oeil sans avoir besoin de connaissance. Des scripts pour donner ou enlever de l'or ou de l'XP, faire attaquer un PNJ, ouvrir un magasin, donner ou recevoir un objet... Voilà! Bon courrage! _________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
Stan Grand Chevalier Messages: 126 |
Oui d'ailleurs pendant un moment j'ai pensé au module de Baldur's Gate.
*Mince comment elle a pu faire ça si elle sait pas scripter.* Puis j'ai remarqué qu'il manquait le 007 Pour le reste tant pis j'ai donné les deux scripts et même une explication qui lui servira à rien PS : Jaheira 007 c'est pas le lieu mais ton module il est terrible |
Revenir en haut | |
jaheira Novice Messages: 9 |
Merci de toutes vos réponses!
Il y a un commencement à tout |
Revenir en haut | |
jaheira Novice Messages: 9 |
Heum j'ai une autre question...
Le scripte que vous m'avez donnez marche à merveille! Mais j'ai une autre question... Lorsque mon perso recois le 1000 d'expérience, le dialogue prend fin mais quand je reclique sur le pnj, c'est le même dialogue et donc je peux lui parler à volonté pour recevoir autant d'xp que je veux... Comment régler ce problème? Merci d'avance de toutes vos réponses! |
Revenir en haut | |
Stan Grand Chevalier Messages: 126 |
Ca dépend ce que le dialogue doit faire, si c'est simplement pour donner un level au PJ, alors on va utiliser une méthode qui regarderait le niveau du joueur, s'il a déjà le niveau requis, il ne gagnerait rien.
Maintenant si c'est pour une fin de quête, on stockera ue donnée sur le joueur pour qu'il ne puisse plus récuperer l'xp. Donc peux tu expliquer un peu mieux à quoi sert le PNJ qui donne l'experience ? à quel moment il la donne ? pourquoi ? à qui ? |
Revenir en haut | |
jaheira Novice Messages: 9 |
Citation : Maintenant si c'est pour une fin de quête, on stockera ue donnée sur le joueur pour qu'il ne puisse plus récuperer l'xp.
Ce n'est qu'un pnj pour me pratiquer avec les scripts. D'après moi, il donnerais l'expérience après une quête, au pj qu'il la donnerait
Donc peux tu expliquer un peu mieux à quoi sert le PNJ qui donne l'experience ? à quel moment il la donne ? pourquoi ? à qui ? Merci d'avance de vos réponses! |
Revenir en haut | |
Stan Grand Chevalier Messages: 126 |
Une variable locale ne permettrait de faire cette quête qu'une fois par reboot du module.
NWScript :
void main(){ object oPC=GetPCSpeaker(); if (GetLocalInt(oPC,"quete1")!=1) { GiveXPToCreature(oPC, 1000); SetLocalInt(oPC,"quete1",1); } } En gros on stock sur le PJ une variable qui s'apelle quete1 et à l'intérieur on met 1.Si la prochaine fois il revient il aura cette variable à 1 donc la condition sera fausse et on ne lui donnera pas d'xp. |
Revenir en haut | |
jaheira Novice Messages: 9 |
D'où vien la variable "quete1"?
Merci encore de votre aide |
Revenir en haut | |
Sam Lam Grand Chevalier Messages: 126 |
Oui, il faut peut-être la déclarer quelque part avant de l'utiliser, cette variable (j'ai jamais scripté en NWscript, mais ça ressemble furieusement à du C, et le C il aime pas les variables non déclarées). Toujours est-il que la variable "quete1" est une variable créée pour garder la trace de l'historique de la quête n°1. En gros, au moment où le PJ entame la quête, cette variable est à 0. Une fois qu'il la termine, il reçoit l'XP et la variable passe à 1. S'il revient parler au PNJ pour lui redire qu'il a fini la quête, le PNJ ne se fait pas avoir: il a déjà donné la récompense.
_________________ Nécromancien du Forum Niv.3 dès le premier post. |
Revenir en haut | |
Stan Grand Chevalier Messages: 126 |
C'est le nom que je lui ai donné, tu peux l'apeller Trucmuche si tu préfères.
Pour Sam non il ne faut pas "déclarer" les variables locales.C'est juste que si elle est vide il va : Citation : On error the function will return 0. Donc si c'est la premiere fois, il va dire 0 différent de 1, je donne l'xp, je met 1 dans la variable locale.
Et quand le PJ revient il trouve que 1 n'est pas différent de 1 donc il ne donne plus de récompense. |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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