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 21:58:29
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 |
nwar_dezir Ecuyer Messages: 61 |
Voila je me suis lancé dans la création de module, et comme jsuis vraiment tout neebie, j'ai besoin de pas mal d'aide. Alors voilà j'ai beaucoup (trop) de questions, et vous êtes pas obligé de répondre à tout, et surtout je sais pas si y'a des scripts pour tout ce que je voudrais faire.
Alors petit listing donc : - dans ma ville, y'a un garde qui demande au nouveau joueur un passe, en échange de 200 po. Déjà rien que pour le dialogue j'ai un peu de mal, notemment au niveau des conditions ("si le joueur a 200 po : << merci, voici votre passe >>, si le joueur a moins de 200 po : << vous n'avez pas assez de sous > je sais pas trop comment faire.. en fait j'utilise uniquement l'éditeur de script puisque j'connais rien au langage de programmation. - ensuite je voudrais savoir comment faire pour que le garde s'approche du PJ (et que le PJ s'arrete de courir) quand celui ci arrive dans un point précis de la map pour lui demander ce fameux passe (comme Aribeth au début du prologue...) - si le PJ ne paye pas le passe, comment faire pour que le garde ET TOUT LES AUTRES GARDES de la ville l'attaque à vue ? c'est une condition à insérer aussi dans le dialogue (ATTAQUER) mais est ce que c'est propre qu'à ce garde ou à tous les gardes du mm nom ? bon... déja ça et ensuite d'autre questions plus techniques je pense : - je voudrais faire en sorte que le PJ doit avoir de la nourriture sur lui (un item "viande" par exemple) et un feu de camp pour pouvoir se reposer, et qu'il ne puisse le faire que tout les x min (instaurer un délai pour le repos, comme dans certains mondes persistants...) - en revanche dans ma ville on peut acheter une maison (avec un systeme de clef que j'ai fait... ca marche bien) et je voudrais si c'est possible que dans une maison on puisse dormir sans feu de camp et sans délai d'attente.. (logique, on est mieux chez soi ^^) - comment mettre des points de respawn pour les monstres ? (et oui jvous l'avez dit plein de questions ultra chiante ) genre dans une certaine salle des monstres apparaissent à l'infini (COMME DANS CERTAINS MONDES PERSISTANTS...) - et enfin comment marche le respawn du joueur ? (ou c'est qu'on choisit où il revit ?) bon déja si j'ai des réponses à tout ça je serais FRANCHEMENT content... Merci de vos réponses, j'espere pas être trop lourd... PS : et euh derniere chose si on veut rentre son module en monde persistant (et oui petits moyens mais grands projets ) je suppose qu'il faut qqch de particulier... ou alors il faut en permanence garder son ordi connecté ? Voilaaaa |
Revenir en haut | |
Yoyo Seigneur Messages: 223 |
Alors pour ton dialogue avec le pass
Dans le "condition d'éxecution" d'ou tu veux que la phrase "Ouais le v'la votre argent" (bon tu peu modifier) apparaisse met ce 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. Pour ta 2eme question : Tu fait un déclencheur ("trigger" en anglais) et dans le OnEnter de ce déclencheur tu met : NWScript :
void main() { object oEnter = GetEnteringObject(); object oGarde = GetObjectByTag("TagDuGardeQuiDemandeLobjet"); if (!GetIsPC(oEnter)) //si oEnter n'est PAS un joueur alors ne rien faire return; else { AssignCommand(oEnter, ClearAllActions()); //stop les actions du joueur en cours AssignCommand(oGarde, ActionMoveToObject(oEnter)); AssignCommand(oGarde, ActionStartConversation(oEnter, "NomDuDialogue")); //remplace "NomDuDialogue" par le nom du dialogue ou le garde demande le pass DelayCommand(2.0, DestroyObject(OBJECT_SELF)); } } Pour le dialogue ou le Garde demande ou joueur le passe tu fait un dialogue du style: Code : Bonjour montrez moi votre passe (Garde) |__Oui tenez le voila (Joueur) < ce que répond le joueur si il a son passe |______Ok c'est bon... (Garde) < ce que dit le garde si le joueur a son passe |__Bah j'l'ai pas (Joueur) < ce que répond le joueur si il n'a pas son passe |______Alors creve !!! (Garde) < ce que répond le garde si le joueur n'a pas son passe Dans le "condition d'éxécution" de "Oui tenez le voila" met ce script : NWScript :
#include "nw_i0_tool" int StartingConditional() { if(!HasItem(GetPCSpeaker(), "TagDuPass")) return FALSE; return TRUE; } Dans le "Action conséquente" de "Alors creve" met NWScript :
#include "nw_i0_generic" void main() { AdjustReputation(GetPCSpeaker(), OBJECT_SELF, -100); DetermineCombatRound(GetPCSpeaker()); } Met tous les garde dans la même factions par contre (au début met les neutre ou amicaux enver le joueur) Voila déja pour ca... Dernière édition par Yoyo le 14/08/2005 09:57:59; édité 1 fois
|
Revenir en haut | |
nwar_dezir Ecuyer Messages: 61 |
merci beaucoup !
EDIT : trois autres tites question à propos de ce garde. 1ere chose : y'avait qql erreurs (ou alors mauvaises interprétation de ma part) nottemment j'ai remplace LASTSPEAKER par PCSPEAKER pour les Po apres ca marchais bien ca les enlevais (j'ai du placer la condition au mauvais endroit, m'enfin avec ça ca marche) mais surtout y'a un pb au niveau du "trigger" c'est qu'a chaque fois que je rentre dans la zone le garde revient me demander d'acheter le passE... (logique, ca détruit pas) donc faudrait détruire le "trigger" et ca j'ai bien cherché mais la fonction DestroyObject j'ai rien compris.. alors comment faire quoi rajouter ? ^^' 2e chose : est ce qu'il y a moyen d'empecher le joueur de quitter la conversation avec la touche "échap" (ou alors de faire en sorte que le dialogue se redéclenche aussitôt) 3e chose : est ce qu'on peut "repousser" le joueur (genre "non vous n'avez pas d'argent, vous ne passez pas") et ainsi virer le joueur de la zone "trigger"... (je sais pas si vous avez bien compris...) voila merci et si quelqu'un aurait des réponses pour les autres questions... merci encore |
Revenir en haut | |
Yoyo Seigneur Messages: 223 |
Voila j'ai édité pour le trigger
pour ton 2eme point Je ne sait pas pour le 3eme point tu met dans le "action conséquente" de "on ne passe pas" ce script : NWScript :
void main() { location lJump = GetLocation(GetObjectByTag("TagDuWaypoint")); AssignCommand(GetLastSpeaker(), ActionJumpToLocation(lJump)); } Remplace "TagDuWaypoint" par le tag du waypoint ou tu veux que le joueur est repoussé (ne le met pas trop loin de la ou il parle sinon le joueur va se téléporter (si le waypoint de destination est assez proche de l'endroit ou le joueur se trouve le joueur "glisse" (il ne se téléporte pas)) mais il y a un probleme si le joueur est repoussé il ne pourras plus avoir acces au dialogue parce que le trigger est détruit Enfin bon c'est toi qui vois |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
2eme point : dans les onglets de l'editeur de dialogue, tu as Fichiers actuels,
avec une zone nommée abandon appelant un script. Il est donc fort probable que ce script soit appelé lorsque le joueur abandonne la conversation via la touche échap, il suffirait donc d'y faire redémarré le dialogue, avec par exemple : NWScript :
void main() { object oGarde = GetObjectByTag("Tag_du_garde"); object oPJ = GetPCSpeaker(); AssignCommand(oGarde, ActionStartConversation(oPJ, "NomDuDialogue")); } Je n'ai pas testé, désolé, mais en théorie ça devrait être ça quoi... _________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | |
nwar_dezir Ecuyer Messages: 61 |
ok merci de vos réponses
je vais essayer de me renseigner pour les diverses autres choses que j'ai demandées, si jamais quelqu'un sait comment faire... qu'il n'hésite pas ! |
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