
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 18/04/2025 03:08:55
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 |
OYO Novice Messages: 9 |
J'ai cherché désespérément sur Internet des sites ou peuvent être référencé des Tokens. J'aurais besoin notamment d'un token qui agit selon la classe du perso. J'ai vu le script permettant de créer ses propres Tokens mais je cherche déjà ceux qui ont été créé par le jeu en lui-même. Mes connaissances sont limitées à <FirstName>. Je sais c'est très peu ! Si tout le monde pouvait mettre les tokens qu'il connaît dans ce sujet se serais pas mal !
_________________ Qu'est ce qu'un nain postant du courier ? Un nain posteur..................................désolé. |
Revenir en haut | ![]() ![]() ![]() ![]() |
Baldurien L'homme qui chutait sur le macadam ![]() Messages: 14070 Localisation: Quadran Alpha |
tu vas dans ton dialogue, dans la boite de dialogue où tu rentre le texte d'un noeud, tu fais Clic droit, et tu as une item "Insert TOkens"... y a pas plus simple
_________________ #nwnights-fr @ irc.darkmyst.org TitanQuest-FR |
Revenir en haut | ![]() ![]() ![]() ![]() |
OYO Novice Messages: 9 |
Je pose vraiment des questions débiles !
![]() _________________ Qu'est ce qu'un nain postant du courier ? Un nain posteur..................................désolé. |
Revenir en haut | ![]() ![]() ![]() ![]() |
Baldurien L'homme qui chutait sur le macadam ![]() Messages: 14070 Localisation: Quadran Alpha |
|
Revenir en haut | ![]() ![]() ![]() ![]() |
OYO Novice Messages: 9 |
Soit je suis une brêle (ce qui est évident au vut de mes précédentes) soit c'est impossible de rajouter des tokens dasn les script. EXEMPLE : j'ai dans le Onperceive; Un script qui ou le personnage dit : bonjour <FirstName>, Et ca apparait texto comme ca ! Y a t'il une commande spécial à rajouter?
_________________ Qu'est ce qu'un nain postant du courier ? Un nain posteur..................................désolé. |
Revenir en haut | ![]() ![]() ![]() ![]() |
Cassin Papa-poule(t) & poissard intemporel ![]() Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
En effet je pense pas que les tokens marchent dans les scripts...
La seule solution, un peu loude et bancale, serait que tu crées un dialogue avec cette seule et unique phrase (et UNIQUEMENT ça, même pas une réplique du PJ ou un "Fin de dialogue"), car lorsqu'un dialogue ne comporte qu'une phrase la fenêtre de dialogue ne s'ouvre pas mais elle s'affiche comme avec ActionSpeakString. _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | ![]() ![]() ![]() ![]() |
Baldurien L'homme qui chutait sur le macadam ![]() Messages: 14070 Localisation: Quadran Alpha |
Par forcément Cassin
tu peux définir plusieurs dialogues telles que [OWNER] Dialogue 1 [OWNER] Dialogue 2 [OWNER] Dialogue 3 [OWNER] Dialogue 4 et faire une condition sur chaque. (genre une variable 'X' stockée sur le porteur du dialogue) _________________ #nwnights-fr @ irc.darkmyst.org TitanQuest-FR |
Revenir en haut | ![]() ![]() ![]() ![]() |
Jedaï Chevalier Messages: 89 Localisation: Le Havre, ville pourrie |
Grâce à ma bibliothèque, on peut insérer des tokens dans n'importe quel string, ces tokens sont entièrement paramétrables et prennent en compte un très grand nombre de possibilité...
Ex. simple : On veux que notre aubergiste accueille le client différemment s'il est humain ou non (désolé vous êtes dans un village perdu dans la campagne, les elfes y sont rares...) on utilisera : Avec la bibliothèque : Code : #include "nwl_tokcust" void main() { SpeakTokStr("<<race:>=humain:Euh, bonjour bonjour... dites : vous seriez pas un<mf:/e> <race:> ?/Bonjour voyageu<mf:r/se> ! Entrez, entrez, ici vous trouverez tout ce qu'il vous faut pour vous réchauffer ! <mf:[clin d'oeil lubrique]/ Je veux parler d'alcools évidemment !>>", oPC); } Pour faire la même chose avec des scripts : Code : void main() { switch (GetRacialType(oPC)) { case RACIAL_TYPE_HUMAN : { if (GetGender(oPC) == GENDER_FEMALE) { SpeakString("Bonjour voyageuse ! Entrez, entrez, ici vous trouverez tout ce qu'il vous faut pour vous réchauffer ! Je veux parler d'alcools évidemment !"); } else SpeakString("Bonjour voyageur ! Entrez, entrez, ici vous trouverez tout ce qu'il vous faut pour vous réchauffer ! [clin d'oeil lubrique]"); break; } case RACIAL_TYPE_ELF : { if (GetGender(oPC) == GENDER_FEMALE) { SpeakString("Euh, bonjour bonjour... dites : vous seriez pas une elfe ?"); } else SpeakString("Euh, bonjour bonjour... dites : vous seriez pas un elfe ?"); break; } case RACIAL_TYPE_HALFORC : { if (GetGender(oPC) == GENDER_FEMALE) { SpeakString("Euh, bonjour bonjour... dites : vous seriez pas une demie-orc ?"); } else SpeakString("Euh, bonjour bonjour... dites : vous seriez pas un demi-orc ?"); break; } case RACIAL_TYPE_DWARF : { if (GetGender(oPC) == GENDER_FEMALE) { SpeakString("Euh, bonjour bonjour... dites : vous seriez pas une naine ?"); } else SpeakString("Euh, bonjour bonjour... dites : vous seriez pas un nain ?"); break; } //.... Bon je fais pas le cas pour toutes les races hein... } } Voilà... y a sans doute moyen de faire un peu plus simple avec les scripts mais pas beaucoup, de toute façon il faut faire un cas pour chaque race... Ce niveau de personnalisation n'est pas "indispensable" mais quitte à personnaliser son module en fonction des joueurs... Cette bibliothèque est disponible sur NWN-Fr. Je rajoute qu'elle propose également des fonctions de gestions des CustomToken (dans les dialogues : <CUSTOM666>) |
Revenir en haut | ![]() ![]() ![]() |
Baldurien L'homme qui chutait sur le macadam ![]() Messages: 14070 Localisation: Quadran Alpha |
(j'ai légérement changé ton message en mettant l'url direct de la page en question)
_________________ #nwnights-fr @ irc.darkmyst.org TitanQuest-FR |
Revenir en haut | ![]() ![]() ![]() ![]() |
Jedaï Chevalier Messages: 89 Localisation: Le Havre, ville pourrie |
Merci !
![]() Par ailleurs, je cherche à améliorer cette bibliothèque, donc toute remarque serai la bienvenue : suggestion de simplification, nouveaux tokens, nouvelle fonction, etc... ![]() J'insiste quand même sur la simplicité d'utilisation de cette bibliothèque pour proposer un contenu personnalisé. ![]() De plus dans la 1.27, il sera possible d'intégrer des tokens dans le journal, ce qui devrait encore augmenter leur intérêt. ![]() |
Revenir en haut | ![]() ![]() ![]() |
Baldurien L'homme qui chutait sur le macadam ![]() Messages: 14070 Localisation: Quadran Alpha |
moi j'ai une question
y a une fonction de remplacement de chaine dans le jeu? (genre str_replace) _________________ #nwnights-fr @ irc.darkmyst.org TitanQuest-FR |
Revenir en haut | ![]() ![]() ![]() ![]() |
Jedaï Chevalier Messages: 89 Localisation: Le Havre, ville pourrie |
Euh, pourrais tu préciser ta question s'il te plait, je ne suis pas sûr de bien comprendre
![]()
Donc si ta question n'était pas l'une de celle-là ou si tu veux approfondir un point.... ![]() |
Revenir en haut | ![]() ![]() ![]() |
Baldurien L'homme qui chutait sur le macadam ![]() Messages: 14070 Localisation: Quadran Alpha |
nan
je veux juste savoir s'il existe une fonction similaire à str_replace => Code : // foo = aaa print $foo; // ecrit aaa $foo = str_replace( "a", "b", $foo ); print $foo; // ecrit bbb (vlà) _________________ #nwnights-fr @ irc.darkmyst.org TitanQuest-FR |
Revenir en haut | ![]() ![]() ![]() ![]() |
Jedaï Chevalier Messages: 89 Localisation: Le Havre, ville pourrie |
Désolé, je viens de commencer à m'intéresser à PHP et je n'ai donc pas reconnu cette fonction.
![]() Bon...La réponse est non, il n'existe pas une telle fonction dans NWN. ![]() Cependant, il est possible de la faire facilement : Code : string StringReplace(string s1, string s2, string s3); { int nTemp; int nL = GetStringLength(s3); int nLength = GetStringLength(s1); string sTemp; string sR = ""; while ((nTemp = FindSubString(s3, s1)) >= 0) { sTemp = GetStringLeft(s3, nTemp); s3 = GetStringRight(s3, nL - nLength - nTemp); sR = sR + sTemp + s2; nL = GetStringLength(s3); } sR+=s3; return sR; } Voilà, je pense que ça marche ! ![]() (Et j'ai une certaine expérience de ce genre de problème ![]() |
Revenir en haut | ![]() ![]() ![]() |
Jedaï Chevalier Messages: 89 Localisation: Le Havre, ville pourrie |
Edit : Désolé pour le double post
![]() Désolé, je viens de commencer à m'intéresser à PHP et je n'ai donc pas reconnu cette fonction. ![]() Bon...La réponse est non, il n'existe pas une telle fonction dans NWN. ![]() Cependant, il est possible de la faire facilement : Code : string StringReplace(string s1, string s2, string s3) { int nTemp; int nL = GetStringLength(s3); int nLength = GetStringLength(s1); string sTemp; string sR = ""; while ((nTemp = FindSubString(s3, s1)) >= 0) { sTemp = GetStringLeft(s3, nTemp); s3 = GetStringRight(s3, nL - nLength - nTemp); sR = sR + sTemp + s2; nL = GetStringLength(s3); } sR+=s3; return sR; } Voilà, je pense que ça marche ! ![]() (Et j'ai une certaine expérience de ce genre de problème ![]() Dernière édition par Jedaï le 18/11/2002 19:52:46; édité 1 fois
|
Revenir en haut | ![]() ![]() ![]() |
Baldurien L'homme qui chutait sur le macadam ![]() Messages: 14070 Localisation: Quadran Alpha |
|
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