La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 28/04/2024 14:06:42


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
OYO
Novice
Inscrit le: 23 Oct 2002
Messages: 9
Répondre en citant
Posté le : 23/10/2002 20:17:03 Sujet du message : A propos des Tokens

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 Voir le profil de l'utilisateur Envoyer un message privé Adresse AIM Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14064
Localisation: Quadran Alpha
Répondre en citant
Posté le : 23/10/2002 23:10:45 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
OYO
Novice
Inscrit le: 23 Oct 2002
Messages: 9
Répondre en citant
Posté le : 24/10/2002 09:52:11 Sujet du message :

Je pose vraiment des questions débiles ! Sad J'ai pas encore testé maisj'espère que l'on peut insérer les Tokens dans un diaolgue scripté Des Onheartbeat (Attention l'abus de onheartbeat est dangeurex pour votre ordi a consommer avec modération!)
_________________
Qu'est ce qu'un nain postant du courier ?
Un nain posteur..................................désolé.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Adresse AIM Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14064
Localisation: Quadran Alpha
Répondre en citant
Posté le : 24/10/2002 11:39:58 Sujet du message :

oui en principe
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
OYO
Novice
Inscrit le: 23 Oct 2002
Messages: 9
Répondre en citant
Posté le : 25/10/2002 09:40:10 Sujet du message : OYO

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 Voir le profil de l'utilisateur Envoyer un message privé Adresse AIM Ignorer l'utilisateur
 
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 25/10/2002 10:11:00 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14064
Localisation: Quadran Alpha
Répondre en citant
Posté le : 25/10/2002 12:49:28 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Jedaï
Chevalier
Inscrit le: 14 Nov 2002
Messages: 89
Localisation: Le Havre, ville pourrie
Répondre en citant
Posté le : 14/11/2002 15:59:36 Sujet du message : Impossible sauf...

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14064
Localisation: Quadran Alpha
Répondre en citant
Posté le : 14/11/2002 16:25:24 Sujet du message :

(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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Jedaï
Chevalier
Inscrit le: 14 Nov 2002
Messages: 89
Localisation: Le Havre, ville pourrie
Répondre en citant
Posté le : 16/11/2002 22:05:37 Sujet du message :

Merci ! Smile

Par ailleurs, je cherche à améliorer cette bibliothèque, donc toute remarque serai la bienvenue : suggestion de simplification, nouveaux tokens, nouvelle fonction, etc... Very Happy

J'insiste quand même sur la simplicité d'utilisation de cette bibliothèque pour proposer un contenu personnalisé. Cool

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. Razz
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14064
Localisation: Quadran Alpha
Répondre en citant
Posté le : 16/11/2002 22:59:46 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Jedaï
Chevalier
Inscrit le: 14 Nov 2002
Messages: 89
Localisation: Le Havre, ville pourrie
Répondre en citant
Posté le : 18/11/2002 01:49:26 Sujet du message :

Euh, pourrais tu préciser ta question s'il te plait, je ne suis pas sûr de bien comprendre Confused :


  • Demande tu s'il y a moyen de toucher directement au dialogue par le biais d'une quelconque référence à la phrase concernée ? Si c'est ça la réponse est non, bien qu'il soit possible de prévoir à l'avance un token custom (<CUSTOM666>) qui sera remplacé par une string ou une autre selon comment il est créé. Tu peux faire un dialogue entièrement constitué de tokens customs si tu as un coup de folie Razz . Je précise que dans le cas où tu envisagerai de telles applications, je te conseille plus que chaudement ma bibliothèque : la création et la gestion de plus de trois tokens customs tenant plus du "cauchemard éveillé" sans elle (chaque custom token dynamique doit être défini par un script dans un action taken du dialogue, avant d'être utilisé, et ceci pour chaque dialogue où il est susceptible d'être utilisé... Attention si le tok cust est dans la première phrase tu vas devoir passer par le OnConversation LaughingSmile
  • Si tu me demande si il y a dans ma bibliothèque une fonction qui permet, à chaque fois qu'une string (pas dans un dialogue !) est prononcée de remplacer une chaîne bien précise à l'intérieur de celle-ci, la réponse est non. Mais la question est intéressante et je vais l'intégrer très bientôt, merci Very Happy !
  • Si tu me demande s'il y a moyen de créer avec ma bibliothèque un token qui soit remplacé par une string bien précise, la réponse est oui. En réalité, il est possible d'intégrer un token qui récupère une local string sur le module simplement comme ça : "<Nom_De_La_Local_String>", et de façon plus élaborée, il est possible de récupérer une local string sur n'importe quel objet (à noter que le nom de la local string peut lui-même être issu du traitement d'un token imbriqué...).
  • Sinon, si ta question est sur les fonctions de traitement des strings disponibles en standard, je pourrais faire bientôt un tutorial sur ces fonctions, qui sont assez pratiques et faciles à comprendre.


Donc si ta question n'était pas l'une de celle-là ou si tu veux approfondir un point.... Cool
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14064
Localisation: Quadran Alpha
Répondre en citant
Posté le : 18/11/2002 07:57:39 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Jedaï
Chevalier
Inscrit le: 14 Nov 2002
Messages: 89
Localisation: Le Havre, ville pourrie
Répondre en citant
Posté le : 18/11/2002 18:57:46 Sujet du message :

Désolé, je viens de commencer à m'intéresser à PHP et je n'ai donc pas reconnu cette fonction. Smile

Bon...La réponse est non, il n'existe pas une telle fonction dans NWN. Embarassed

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 ! Cool
(Et j'ai une certaine expérience de ce genre de problème Very Happy )
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Jedaï
Chevalier
Inscrit le: 14 Nov 2002
Messages: 89
Localisation: Le Havre, ville pourrie
Répondre en citant
Posté le : 18/11/2002 18:58:32 Sujet du message :

Edit : Désolé pour le double post Confused , il y avait une petite erreur (en fait un ";" de trop dans la déclaration de la fonction), elle est ici corrigée


Désolé, je viens de commencer à m'intéresser à PHP et je n'ai donc pas reconnu cette fonction. Smile

Bon...La réponse est non, il n'existe pas une telle fonction dans NWN. Embarassed

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 ! Cool
(Et j'ai une certaine expérience de ce genre de problème Very Happy )
Dernière édition par Jedaï le 18/11/2002 19:52:46; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14064
Localisation: Quadran Alpha
Répondre en citant
Posté le : 18/11/2002 19:27:33 Sujet du message :

c'est bien ce que je pensais

merci Smile
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 25.519ms