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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Petit besoin d'aide !

Par La quiche masquée ! le 21/10/2002 à 22:59:31 (#2378909)

Bonsoir à tous :)

J'ai un tout petit problème de script (car ne maîtrisant pas très correctement le language).

Voilà le pb : 1Pj et 3Pnj

Je voudrais juste qu'une phrase apparaisse dans la discution d'un Pj à un Pnj (on l'apellera A) uniquement lorsque celui-ci à déjà parlé une fois SOIT au Pnj B, SOIT au Pnj C, ou encore aux deux mais qu'il n'y ait qu'une seule phrase apparaissante (et pas deux fois la même phrase dans les choix pour le dialogue avec le Pnj A si le Pj parle à la fois à B et à C).

Mon script :
int StartingConditional()
{

// Inspect local variables
if((!(GetLocalInt(GetPCSpeaker(),nTalkedNouk") == 1)) && (!GetLocalInt(GetObjectByTag("Trod"),"iQuested")))
return FALSE;
if((!(GetLocalInt(GetPCSpeaker(),nTalkedNick") == 1)) && (!GetLocalInt(GetObjectByTag("Trod"),"iQuested")))
return FALSE;

return TRUE;

}

"Trod" Pnj A , "nTalkedNouk" Pnj B , "nTalkedNick" Pnj C

Cà peut parraitre simple et évident pour certains , mais comme je ne maitrise pas la synthaxe , je ne sait pas ce qu'il faut mettre pour que l'éditeur comprenne.

Tout ce que j'obtient pour le moment : il faut voir les Pnj B et C pour que la phrase s'affiche dans le dialogue entre le Pj et le Pnj A.

Merci de ce petit coup de main. (je suppose très simple)
:merci:

Par sounéva le 21/10/2002 à 23:17:03 (#2379022)

une seul variable devrait sufir pour ce que tu veut faire.
quand ton PJ parle au Pnj B :

object oPC = GetPCSpeaker();
SetLocalInt(oPC,"variable",1);

pareil quand y parle au pnj C et quand il adresse la parole au pnj A la tu met:
int StartingConditional()
{
object oPC = GetPCSpeaker();
if (GetLocalInt(oPC,"variable") == 1)
returne TRUE ;
}
j'ai pas aurora sous la main mais affécte une variable = a 1 quand ton PC parle soit au pnj B ou C puis verifie que ta variable soit = a 1 quand il parle au pnj A. comme ca même en parlant a 1 des pnj (b ou c) ca devrait marcher.

Par LeProctophantasmiste le 21/10/2002 à 23:17:09 (#2379024)

Si j'ai bien compris ce que tu veux, ton problème vient de ce que tu en fait trop:

Sur l'action taken de B et C:


object oPC = GetPCSpeaker();
//tu as le droit de racourcir le nom de la variable : )
if(!GetLocalInt(oPC, "A_PARLE_A_B_OU_C" ) )
{
SetLocalInt(oPC, "A_PARLE_A_B_OU_C", 1);
}


sur le starting condition de A:

object oPC = GetPCSpeaker();
return GetLocalInt(oPC, "A_PARLE_A_B_OU_C");

Heu... (voir mon pseudo)

Par La quiche masquée ! le 22/10/2002 à 0:29:38 (#2379397)

Quelqu'un pourrait-il me faire un exemple de script avec mes Pnj A B et C?

Note:
Ce simple script fait parti d'un tout et est à inséré dans "action conséquente" du dialogue. Merci de garder le même modèle que je vous est fourni because-parce-que sinon çà va être galère pour moi!:eek: .Il me faut juste quelque chose du style B/C ou BC qui donne des deux façons une phrase pour A permettant la suite du scénario.

:merci:

Par sounéva le 22/10/2002 à 0:55:28 (#2379491)

Provient du message de LeProctophantasmiste
Si j'ai bien compris ce que tu veux, ton problème vient de ce que tu en fait trop:

Sur action conséquente de B et de C:

object oPC = GetPCSpeaker();
//tu as le droit de racourcir le nom de la variable : )
if(!GetLocalInt(oPC, "A_PARLE_A_B_OU_C" ) )
{
SetLocalInt(oPC, "A_PARLE_A_B_OU_C", 1);
}


sur le starting condition de A:

object oPC = GetPCSpeaker();
return GetLocalInt(oPC, "A_PARLE_A_B_OU_C");

ca me semble claire pourtant bien qu'une syntaxte plus basique serait plus conpréhensible.

Par LeProctophantasmiste le 22/10/2002 à 16:27:02 (#2383248)

Je ne sais pas trop ce qui te pose problème, dit le moi et j'esaierai de t'expliquer.

En attendant je poursuis l'effort de clarification de Sounéva (désolé pour l'anglais j'oscille entre les deux versions mais je connaît mieux les termes de la version anglaise).

Sur actions conséquentes de B et de C:


void main()
{
object oPC = GetPCSpeaker();
//tu as le droit de racourcir le nom de la variable : )
if(!GetLocalInt(oPC, "A_PARLE_A_B_OU_C" ) )
{
SetLocalInt(oPC, "A_PARLE_A_B_OU_C", TRUE);
}
}


sur la condition d'execution de A:


int StartingConditional()
{
object oPC = GetPCSpeaker();
return GetLocalInt(oPC, "A_PARLE_A_B_OU_C");
}


note: si la variable n'existe pas, GetLocalInt retourne 0, c'est à dire FALSE, d'où mon raccourci.

Par La quiche masquée ! le 24/10/2002 à 18:56:38 (#2399165)

çà fonctionne parfaitement merci beaucoup :merci:

JOL Archives 1.0.1
@ JOL / JeuxOnLine