JeuxOnLineForumsPlusConnectés : 716 (sites) | 1312 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Fonction et Dialogue Dynamique RSS
   
Répondre
Partager Outils Rechercher
Avatar de Tyrion
Tyrion
Roi
 
Avatar de Tyrion
 

Fonction et Dialogue Dynamique

Voila en fait je cherche a faire un dialogue dynamique (un peu comme le DM Helper)

J'aimerais recuperer juste la fonction qui permet de recuperer la liste de tout les joueurs connecte au module actuellement.

J'ai essayer en reprenant le DM Helper met je n'y pas du tout. Pour etre franc, je ne comprend rien au systeme dynamique (meme avec la description en persistant dans les tutoriaux).

Donc si quelqu'un serais faire ou m'expliquer se serais sympa. A moin que quelqu'un est deja fait ce genre de chose.

Merci
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
euh, tu veux faire un dialogue dynamique ou récupérer la fonction du DM helper ^_^

parce qu'ils ont juste fais une fonction qui renvoi laliste sous forme de string, puis on passé ca ds le dialogue . . . maintenant, si tu veux un dialogue avec la liste des joueur, pas forcement besoin d'un dialogue dynamique, enfin, si, mais ca p-e être très rudimentaire

ce que tu peu faire, c'est créer un dialogue, avec à un moment la branche :

PNJ => Qui qui n'y a?
PJ => moi vouloir voir la liste des joueurs
//ICI SCRIPT DE TEST POUR LA REPLIQUE SUIVANTE
PNJ => Voila : <CUSTOMX>

où X est un nb, maintenant tu met ce script en test de la dernière réplique :

Code PHP:
int StartingConditional()
{
    
object oPJ GetFirstPC();
    
string sTxtsTxt2;
    while(
GetIsObjectValid(oPJ))
       {
       if(
GetStringLength(sTxt) < 500)
       
sTxt sTxt+GetName(oPJ)+" ("+GetPCPlayerName(oPJ)+" ) \n ";
       else
       
sTxt2 "\n "+sTxt+GetName(oPJ)+" ("+GetPCPlayerName(oPJ)+" )";
       
oPJ GetNextPC();
       }

    
SetCustomToken(8000sTxt);
    
SetCustomToken(8001sTxt2);
    return 
TRUE;

ca c une pitite machin qui liste les joueurs, c tt, ca donne le nom du perso et le nom du joueur
c pas un truc aussi complet que le DM Helper, mais c'est une liste des joueurs ^_^
Lien direct vers le message - Vieux
Avatar de Tyrion
Tyrion
Roi
 
Avatar de Tyrion
 
merci beaucoup d'avoir repondu ^^

Je vais essayer
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
euh, g fais le script un pitit moment après avoir commencé le message, donc y a pb lol

juste :
le dialogue au quel tu applique le test donné c'est :

"Voila : <CUSTOM8000> <CUSTOM8001> ."

^_^
tu peu changer les nb, mais faut alors pas oublier de les changer ds le script
Lien direct vers le message - Vieux
Avatar de Tyrion
Tyrion
Roi
 
Avatar de Tyrion
 
oui j'ai tester j'ai vu et j'y avait fait

Merci beaucoup
Lien direct vers le message - Vieux
Avatar de Tyrion
Tyrion
Roi
 
Avatar de Tyrion
 
C'est parfait pour afficher tout en liste et je t'en remerci.

Maintenant si je veux les mettre en possibilite de selection par le PCSpeaker

Suis je obligé d'assigner une variable a chaque joueur qui se connect

puis de faire un genre de une variable un token ou y a un autre moyen ?

Exemple :

PNJ : Liste des Connecte :
PJ-> Joueur1
PJ-> Joueur2(si present)
PJ-> Etc...
Lien direct vers le message - Vieux
Mercius
Roi
 
Moi j'ai bien une solution, mais tu la connais Tyrion
C'est long, c'est lourd et c'est pas beau
Lien direct vers le message - Vieux
Avatar de Tyrion
Tyrion
Roi
 
Avatar de Tyrion
 
C'est bien pour sa que je demande ^^

Parce que j'en voix pas d'autre
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
ben, g pas compris ce que tu comptais faire, mais en tt cas c faisable

bon, alors :
test 1 (dia du PNJ) :
Code PHP:
int StartingConditional()
{
    
object oPJ GetFirstPC();
    
string sTxtsTxt2;
    
int i 8000;
    while(
GetIsObjectValid(oPJ))
       {
       
SetCustomToken(iGetName(oPJ)+" ("+GetPCPlayerName(oPJ)+" )");
       
SetLocalInt(GetLastSpeaker(), "INT_LISTEPJ_"+IntToString(i), TRUE);
       
i++;
       
oPJ GetNextPJ();
       }
    return 
TRUE;

et maintenant, tu met autant replique de PJ que ton module peut n'avoir de joueur avec le script test donné modifié pour chaque réplique en mettant +1 a chaque fois ^_^

Code PHP:
int StartingConditional()
{
   if(
GetLocalInt(GetLastSpeaker(), "INT_LISTEPJ_8000"))
    return 
TRUE;
   else
    return 
FALSE;

le deuxieme dest donc :

Code PHP:
int StartingConditional()
{
   if(
GetLocalInt(GetLastSpeaker(), "INT_LISTEPJ_8001"))
    return 
TRUE;
   else
    return 
FALSE;


etc.

maintenant, chaque réplique de PJ ca seras, tu t'en doute :

" <CUSTOM8000> "

puis la suivante
" <CUSTOM8001> "


après ce que tu met en Action Conséquente c toi qui voit ^_^



bon, c'est pas très élégant, et lourd, mais c'est pas un dialogue dynamique

(ce que, je tiens à le préciser, je trouve dommage ^_^, si t'as une question sur ce principe qui te simplifieras la vie, le topic du permanent n'est pas si vieux que ca )
Lien direct vers le message - Vieux
Avatar de Tyrion
Tyrion
Roi
 
Avatar de Tyrion
 
Okay je te remercie d'avoir pris le temps de m'avoir expliqué tous ça.

Il n'est pas dynamique ==> je vois

Il va le devenir ==> oui


Grace a toi et je t'en remerci car grave a cela ben sa ma permis de comprendre le fonction du topic present dans permanant donc je me lance pour faire ceci en dynamique.

Merci de ton aide.

Ce que je veux en faire : fonction universelle qui permettrait de voir sur tableau les grades/titre des joueurs presents et plein d'autre chose facilement faisable.
Commande DM , joueur animateur etc.
Lien direct vers le message - Vieux
Mercius
Roi
 
lol, c'est ma solution longue, lourde et pas belle
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
quoi pas belle ? quoi lourde ? c'est quoi cette histoire ?
au contraire, c'est bien mieux
et en plus c'est plus rigolo à scripter
Lien direct vers le message - Vieux
Avatar de Tyrion
Tyrion
Roi
 
Avatar de Tyrion
 
mouarf "rigolo"
sa va me rendre si je script un truck de ce genre ^^
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
évidement, c'est ca qu'est rigolo
tips technique : prévoir du temps, parce qu'au bout d'un moment le script enfle, alors se repasser le principe et le "déjà fais" en tête prend du temps donc c pas des script fais en 2 minutes entre deux cours, à moins que les cours soit des pauses cafés entre deux sessions de programmation ds une boite qqconque (et encore )
autre tips : tjrs ds le même cas de figure, l'investissement dans un cahier n'est pas une mauvaise idée tu sais, les cahiers idiots de ton collège ^_^ parce que pour penser la chose c'est bien plus facile par écrit
sinon, ba arme toi de patience, parce que c'est pas toujours facile à tester avant d'avoir bien avancer, donc le debuging est parfois assez lourd

que du bonheur je te dis
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Fonction et Dialogue Dynamique
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 13h49.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite