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 26/11/2024 20:08:57
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
pitou Acolyte Messages: 20 |
yo,
je suis en train de me mettre au toolset, bon bon mais chaud chaud! Je fais un Modul de campagne solo et je voudrai savoir comment faire pour creer une sorte de texte d'intro genre "vous êtes machin dans telle ville où il se passe tel truc" qui apparait EN TOUT PREMIER lors de l'arrivée dans la premier et puis pendant que j'suis à savoir si ç'est le même principe qui peut être utilisé entre chaque chapitre (car un moment il se passe quelques années entre 2 chapitres donc je voudrai qu'un texte l'explique) merci grandement! Dernière édition par pitou le 03/12/2006 23:17:11; édité 1 fois
|
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Tu peux créer un objet invisible qui lance un dialogue quand tu arrives dans la zone
Un script avec un StartConversation (je ne sais plus exactement le terme exact, mais tape "conversation" dans l'index des commandes de script, tu devrais trouver) sur le OnEnterArea de la zone de départ et ça devrait le faire _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
pitou Acolyte Messages: 20 |
HA GENIAL MERCI!
j'suis pas encore au point avec les scripts loin de là... mais tiens j'ai une autre colle...à un moment pendant une phase de sommeil dans une auberge des personnes se font tuer et enlever dans une chambre à coté de celle du PJ...pour symboliser ça est-il possible de faire un fond noir avec un texte "vous vous endormez tres profondement cette nuit, trop même, et peut-être que l'odeur étrange qui flotte dans les couloirs et vous enivre n'y est pas pour rien...cependant [scrpit cri de femme et d'homme] des cris vous reveillent en sursaut au milieu de la nuit...avec un grand mal de tête" bon je demande peut-être l'impossible mais je ne connais pas les possiblité de l'éditeur et j'en ai jamais fait avec NWN premier du nom. merci encore |
Revenir en haut | |
pitou Acolyte Messages: 20 |
heuuu pardon d'être un boulet mais le OnEnterArea qu'est-ce que ç'est?
j'ai crée un nouvel objet (pour le moment il ressemble a une boite avec un "?" bref...) apres je suis allé dans l'onglet script, j'ai trouvé le ActionStartConversation, j'ai double cliqué et apres...sueurs, crampe, nausée, stresse que faire? j'imagine que je vais devoir allouer ce script à l'objet en question et lui allouer aussi la conv mais le langage de prod moi...0... loin d'être au point j'ai dit mais hereusement que les débutants sont acceptés ici help pour au moins être redirigé vers un tutos de script |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Le OnEnterArea est, logiquement, dans les propriétés de ta zone (mais je crois qu'ils n'appellent plus comme ça dans NwN 2, regarde dans les scripts en bas des propriétés, tu dois avoir un script déclenché à l'entrée de la zone
Pour le fondu au noir, ça existait dans NwN 1 donc ça doit encore y être dans NwN 2 De mémoire, ça devait être un truc du genre FadeToBlack quelque chose, en cherchant fade, tu devrais trouver ton bonheur Sinon lorsque tu trouves une commande dans l'index, les paramètres à y mettre sont indiqués dans la fenêtre en bas de l'écran Désolé de ne pas être plus précis, je n'ai pas l'éditeur d'ouvert sous la main (et vu le temps qu'il met à charger... ), mais si je l'ouvre en soirée je jetterais un oeil _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
pitou Acolyte Messages: 20 |
Ha oué tu assurerais si tu pouvais!!!!!!!
car la j'suis super motivé, j'ai du temps (master 2ieme année de recherche ça en laisse pas mal!!), un bon BG et un bon scénar tirés de mes écrits fantastiques (je dis "bon" car je fais jouer mes joueurs A DD3.5 dans mon monde et ils veulent plus le quitter ça doit vouloir dire quelque chose). il me manque simplement une seule chose: que l'on m'explique les bases des scripts, comment ils fonctionnent, comment les rattacher à des objets, comment les associer entre eux, les codes à respecter... Bref oui j'en demande beaucoup mais si je connais les bases je sais me débrouiller après j'embête plus personne! Et j'ai trouvé aucun tutos sur le net pour les nuls seulement des experts qui parlent entre eux...y'a rien de plus hermétique ! Et je vous promet un jour que je serai hokage...heu non c'est pas ça ...je vous promet que dans quelques mois vous entendrez parler de mon module Nan, pas de prétention ni d'arrogance : seulement une motivation sans limite |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Bon alors les bases
(attention, je suis moi-même rouillé , au pire va jeter un coup d'oeil au forum Scripts pour NwN 1, c'est la même chose ) 1/ tout script se doit d'être sous une balise "void main()" et entre crochets {} Comme ça : 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.
2/ tout ce que tu marques derrière deux // est considéré comme du commentaire : ça ne sera pas lu par le script, ça sera juste si tu veux te repérer toi 3/ une commande est toujours suivie d'un point-virgule qui indique qu'il s'agit de la fin de la ligne. Tu peux très bien taper un script sur une seule ligne si toutes les commandes sont bien séparées par des ; mais dans ce cas bonjour la lisibilité du machin 4/ une commande est toujours suivie de paramètres entre parenthèses. Ca peut être un truc tout simple comme tout un tas de paramètres. Ces paramètres sont expliqués dans le cadre en bas de l'écran quand tu cliques sur une fonction dans la liste à droite. Par exemple : 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. la commande FadeToBlack qui permet de faire jouer du Metallica à ton PC faire un fondu au noir de l'écran, comme tu le voulais plus haut Les paramètres peuvent être de plusieurs types : un objet (un joueur, une créature, un placeable, etc...), une location (emplacement dans la zone), un chiffre entier (int), un chiffre à virgule (float), etc... Premier paramètre : la créature pour qui l'écran va devenir noir. Ici donc, on veut que ce soit le joueur (on va partir du principe que c'est un module solo donc un seul joueur, ça sera plus facile), donc va lui mettre comme paramètre GetFirstPC() (ce n'est pas vraiment une commande et elle n'a pas besoin de paramètre, mais on lui met quand même une paire de parenthèses), qui va donc aller chercher le premier joueur (PC = Player Character) qu'elle trouvera. Deuxième paramètre : la vitesse du fondu. Là tu peux soit mettre un chiffre en secondes (attention, c'est un float donc obligatoirement un chiffre à virgule, si tu veux que ça dure 5 secondes tu mets 5.0), soit utiliser un des paramètres pré-programmés du jeu. En tapant FADE dans l'onglet Général des commandes de script à droite de l'écran tu tombes sur tous les paramètres FADE du jeu : tu as donc le choix entre FADE_SPEED_FAST ; FADE_SPEED_FASTEST ; FADE_SPEED_MEDIUM ; FADE_SPEED_SLOW ; FADE_SPEED_SLOWEST ; tu peux donc mettre un de ces paramètres au lieu d'un chiffre à virgule. Troisième paramètre : un délai de sécurité après lequel le fondu au noir s'enlève automatiquement (ça serait con de rester bloqué ), ici aussi un float, donc au hasard 30.0 Quatrième paramètre, la couleur du fondu (ça c'est nouveau). Un fondu au rose, ça doit le faire Je suppose que le chiffre à entrer est le code de la couleur, par exemple en choisissant une couleur lorsque tu crées une armure ou un vêtement il t'indique un code de plusieurs chiffres, ça doit être ça. En général les derniers paramètres d'une commande ne sont pas obligatoires, donc si tu ne met rien il prendra les paramètres par défaut (ils sont indiqués dans la description de la commande). Une fois un script terminé tu dois le compiler (tu as un bouton en haut du script). Si ça marche, il indique Script compilé, si ça ne marche pas, il t'indique à quelle ligne il y a une erreur et le type de l'erreur. Par exemple si tu as un truc du genre DECLARATION DOES NOT MATCH PARAMETERS (6) ça veut dire qu'à la ligne 6 la commande que tu as indiqué n'est pas conforme à ce qu'elle devrait être. Vérifie qu'il n'y a pas de faute (les majuscules sont prises en compte) et que les paramètres sont bien ce qu'ils doivent être (un float -> un chiffre à virgule, un int -> un chiffre sans virgule, un objet, une location, etc...) 5/ pour se faciliter la vie on peut déclarer des raccourcis avant le void main(). Par exemple tu tapes un script qui comportera plusieurs fois un GetFirsPC(), plutôt que de le taper à chaque fois tu le déclares une fois pour toute sous le nom oPC (c'est une convention, o pour objet, i pour int, f pour float, l pour location, etc..., mais tu peux mettre ce que tu veux), et dans dans script tu n'as plus qu'à écrire oPC au lieu de GetFirstPC() Ca se déclare comme ça : 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. Donc le script que tu voulais faire (fondu au noir, affichage d'un texte, retour à l'écran normal) pourraît être fait ainsi : NWScript :
object oPC = GetFirstPC(); void main() { FadeToBlack (oPC, FADE_SPEED_MEDIUM); ActionWait (5.0); SpeakString("blablabla", TALKVOLUME_TALK); ActionWait (5.0); FadeFromBlack(oPC); } Je t'ai mis des commentaires sur chaque ligne /!\ Je n'ai pas testé le script , il se compile mais je ne sais pas si ça marche dans le jeu, comme je l'ai dis, je suis un peu rouillé Tout du moins, comme dit plus haut, va faire un tour dans le forum Scripts de NwN 1, il y a pas mal de tutos _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
pitou Acolyte Messages: 20 |
HAHAHA GENIAL!
merci grandement de ta patience et tes talents de pédagogue! je pense comprendre desormais, le tout est de connaitre les scripts et leur possibilités desormais, quant à l'agencement général je pense avoir pigé la logique! merci infiniement! j'irai voir les fotum sur NWN1 aukazou |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Oui, une fois compris comment ça s'organise il ne reste "plus qu'à" bidouiller
Regarde un maximum de scripts pour bien voir comment fonctionnent certaines commandes _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
pitou Acolyte Messages: 20 |
juste un dernier truc histoire de bien comprendre où mettre une conversation apr exemple.
contexte: oublions la situation d'avant, cette fois-ci mon perso joueur DEMARRE dans une auberge, sitôt le modul chargé le perso apparait dans l'auberge et je veux qu'un texte apparaisse lui expliquant qui il est, ce qu'il fait là, et ce qui se passe dans le monde où il est. l'intro quoi... donc: j'ai bien trouvé les propriétes de ma zone, j'ai mis un script pour "entrée dans la zone" ce script "ga_start_convo". (si c'est bien ça qu'il faut choisir!! car a proprement parlé il rentre pas dans la zone...il y est apres le chargement du modul...ça vaut comme une entrée?) Bref dans la fenetre du script le detail me donne ça: Code : // ga_start_convo
/* This script starts a new conversation. Handy when you want to jump directly from one conversation to another. Parameters: string sTarget = Target who will start convo with the PC string sConversation = Params are all from ActionStartConversation() int bPrivateConversation int bPlayHello int bIgnoreStartDistance int bDisableCutsceneBars */ // ChazM 9/14/05 // ChazM 9/20/06 - fixed inc. #include "ginc_param_const" void main(string sTarget, string sConversation, int bPrivateConversation, int bPlayHello, int bIgnoreStartDistance, int bDisableCutsceneBars) { object oPC = (GetPCSpeaker()==OBJECT_INVALID?OBJECT_SELF:GetPCSpeaker()); object oTarget = GetTarget(sTarget); AssignCommand(oTarget, ActionStartConversation(oPC, sConversation, bPrivateConversation, bPlayHello, bIgnoreStartDistance, bDisableCutsceneBars)); } si j'ai bien compris je dois donc allouer une "target" qui va causer avec mon joueur des le chargement du modul (à comprendre son "entrée" dans l'auberge). Admettons alors que je face un objet "invisible" (sait pas encore comment faire mais j'vais bien trouver). je cole une conv à l'objet dans SES propriétés à lui et je mets le nom de la "target" ET celui de la conv dans le script ci-dessus? ou je crée un objet invisible, je mets son nom dans le script ci-dessus ET je tape cette fois-ci la conv dans le script ci-dessus (sans l'allouer dans les propriétés de l'obejt)?? HAHA moi je dis qu'elle est pas conne ma question...tu pourrais me répondre :"bah essais les deux et tu verras si ça marche" et je serai d'accord mais le problème est que pour moi qui n'ai jamais touché au script de NWN1 ceux de NWN2 leur ressemblent en principe mais pas en organnisation. Comprends que je ne vois pas où je dois mettre les informations: nom de la target, nom de la conv ou la conv elle même... si tu peux m'aider une derniere fois (et là ça sera la bonne car je verrais où mettre les infos et je pourrai extrapoler avec les autres scripts) ayant compri le principe passons à la partique IRL encore merci infiniement! |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
"Bah essaie les deux tu verras bien"
Dans ce genre de cas je pense que mettre un objet invisible (je ne sais pas non plus où ils se trouvent, je n'ai pas encore regardé ), lui assigner une conversation et la faire démarrer dans le script de chargement du module serait le mieux (car même si le perso est déjà dans la zone c'est comme si il y entrait : le jeu considère qu'on "entre" dès qu'on charge une zone ) Donc grosso-modo je verrais ça comme ça : NWScript :
AssignCommand (GetObjectByTag("TagDeTonObjetInvisible), ActionStartConversation (GetFirstPC(), "NomDeTaConversation")); Si tu as déjà un script dans celui d'entrée de zone (ça arrive, il met des scripts par défaut parfois), il te suffit d'ajouter la ligne Avec le GetObjectByTag tu vas chercher l'objet dont le tag est indiqué après pour lui faire faire l'action désirée ; j'ai remplacé le oPC par GetFirstPC() car si tu ajoutes juste la ligne sur un script existant il ne sera peut-être pas désigné par oPC ; quant aux derniers paramètres ils doivent être optionnels je pense, au pire tu met les options par défaut _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
pitou Acolyte Messages: 20 |
merci mec t'assur pour ton aide!
cependant là j'ai un important travail de recherche à rendre alors je met de côté les loisirs pendant quelques jours mais j'ai qu'une seule envi: me plonger dedans jusqu'au cou! |
Revenir en haut | |
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