Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Variables dans conversations (le retour)

Par Le Hamster le 19/10/2002 à 0:43:27 (#2361288)

Autre cas de variables dans les concersations : les objets dans l'inventaire.

Dans mon histoire 5 morceaux de "Kekechose" sont éparpillés. Ils se peut que les PJ trouvent un ou plusieurs de ces morceaux avant d'entamer des conversations aves des pnj. J' n'arrive pas à faire le script de conditions d'execution suivant :

D'abord un type de conversation :

PNJ : > Il faut retouver les morceaux.
PJ > 1 - Je vais les chercher
2 - J'en ai déjà un
3 - j'en ai déjà plusieurs.

Donc les scripts de conditions doivent vérifier si l'inventaire contient soit aucun, soit un ou au moins deux morceaux de Kekechose avant d'afficher ou non les choix 2 et 3.

Les tag des morceaux de Kekechose sont :

Kekechose1
Kekechose2... jusqu'à 5.

Je me démerde pas avec le wizard. Faut écrire deux ou un script spécifique, non ?


bises

Par eMRaistlin le 19/10/2002 à 0:50:38 (#2361308)

oui, mais tu peux te demerder facilement avec un script qui verifie les 2 dernier caracteres du tag, et qui voient la difference... (a moins que tu utilise un object qui se tag... ou que tu fasse une boucle de comptage...)


j'ai pas le temlps ce soir, mais demain, je te ferai le script, si tu veux...

je veux bien, une dernière fois (ou presque)

Par Le Hamster le 19/10/2002 à 22:24:07 (#2365930)

Je veux bien Raistlin, après je pense que je n'embêterai plus personne !!!


Bises

Par eMRaistlin le 20/10/2002 à 1:09:30 (#2366665)

En fait, par manque de café, je me suis un peu avancé...^^

bon, rien de grave, je te rassure :

Simplement, avec un seul script, tu reglera pas tout...

donc, le plus simple :

Tu fais une conversation avec les phrases suivantes :(ordre important)

1 - > Tu as plus de 2 objets ?

2 - > Tu as 1 objet ?

3 - > Tu n'a pas encore commencé a bosser, chien d'infidele oO ??

puis, tu affecte ce script a la phrase 1


#include "nw_i0_tool"

int StartingConditional()
{
int nNBobjet=0;
// Make sure the PC speaker has these items in their inventory
if(CheckPartyForItem(GetPCSpeaker(), "TAG1"))
{nNBobjet=nNBobjet+1;}
if(CheckPartyForItem(GetPCSpeaker(), "TAG2"))
{nNBobjet=nNBobjet+1;}
if(CheckPartyForItem(GetPCSpeaker(), "TAG3"))
{nNBobjet=nNBobjet+1;}
if(CheckPartyForItem(GetPCSpeaker(), "TAG4"))
{nNBobjet=nNBobjet+1;}
if(CheckPartyForItem(GetPCSpeaker(), "TAG5"))
{nNBobjet=nNBobjet+1;}

if (nNBobjet>=2)
{
return TRUE;
}
else return FALSE;
}


/* a savoir qu'on peut faire ca aussi si tu as plus de 5 objets...

int StartingConditional()
{
int nNBobjet=0;
// Make sure the PC speaker has these items in their inventory
int nNumObjet = 0;
int nResult = 0;

while (nNumObjet 2) //ou plus suivant le nombre desir d'objet a posseder....
{
return TRUE;
}
else return FALSE;
}
//Bien entendu, c'est juste pour la frime, ce script etendu...^^
*/


puis, sur la phrase 2 :

#include "nw_i0_tool"

int StartingConditional()
{
int nNBobjet=0;
// Make sure the PC speaker has these items in their inventory
if(CheckPartyForItem(GetPCSpeaker(), "TAG1"))
{nNBobjet=nNBobjet+1;}
if(CheckPartyForItem(GetPCSpeaker(), "TAG2"))
{nNBobjet=nNBobjet+1;}
if(CheckPartyForItem(GetPCSpeaker(), "TAG3"))
{nNBobjet=nNBobjet+1;}
if(CheckPartyForItem(GetPCSpeaker(), "TAG4"))
{nNBobjet=nNBobjet+1;}
if(CheckPartyForItem(GetPCSpeaker(), "TAG5"))
{nNBobjet=nNBobjet+1;}

if (nNBobjet==1)
{
return TRUE;
}
else return FALSE;
}


et enfin, sur la derniere phrase, tu met rien. (faut bien etre sur qu'elle sont au meme niveau d'arborescence...)


Voila qui devrait faire l'affaire... (ps: pas le courage de construire la conversation... donc a tester quand meme =P)

merci

Par Le Hamster le 20/10/2002 à 1:18:20 (#2366707)

pas la peine de faire la conversation avec ça je vais me débrouiller et TERMINER !!!!!!!



Bises

ooooooooinnnnnnnnnnnnnnn

Par Le Hamster le 20/10/2002 à 19:12:43 (#2370447)

je voulais finir ce soir et tout seul comme un grand.

Il y a une erreur de syntaxe dans les scripts ci dessus, ça ne compile pas.

"No right bracket on expression" qu'il me dit l'ot' con...pileur

J'en ai foutu partout des brackets, j'ai comparé avec d'autres scripts bons. Je ne trouve pas, vite une bonne âme !!!!

Par eMRaistlin le 20/10/2002 à 20:01:33 (#2370776)

Euh... moi, ca compile bien...

faut tout prendre, dans le code...

c'est quel script qui compile mal ??

JOL Archives 1.0.1
@ JOL / JeuxOnLine