soucis avec un script de questionnaire simple

Répondre
Partager Rechercher
Bonjour a tous, j'ai un soucis d'erreur de syntaxe sur un petit script que je construit pour une quete organisé avec mon groupe de rp.

Ce coffre scripté a pour but de poser trois questions a son utilisateur (touche)si il repond juste a chaque question il passe a la suivante et a la fin il a ce que contient le coffre. si il répond mal pour le moment ça lui dit une phrase mais je pense dans l'avenir proche lui permettre de faire une action rp plus aggresive ... boule de feu etc ....

Voici le code :
Code:
//QUESTION 1
integer Q1TEXT="question 1 ?";
integer Q1R1=TRUE;
integer Q1R1Txt="Reponse 1";
integer Q1R2=FALSE;
integer Q1R2Txt="Reponse 2";
integer Q1R3=FALSE;
integer Q1R3Txt="Reponse 3";
//------------------------------------
//QUESTION 2
integer Q2TEXT="Question 2";
integer Q2R1=FALSE;
integer Q2R1Txt="Reponse 1";
integer Q2R2=TRUE;
integer Q2R2Txt="Reponse 2";
integer Q2R3=FALSE;
integer Q2R3Txt="Reponse 3";
//------------------------------------
//QUESTION 3
integer Q3TEXT="Question 3";
integer Q3R1=FALSE;
integer Q3R1Txt="Reponse 1";
integer Q3R2=FALSE;
integer Q3R2Txt="Reponse 2";
integer Q3R3=TRUE;
integer Q3R3Txt="Reponse 3";
//------------------------------------
integer cadeau = "object";
//--------------------------------------------------------------------------
//-----------DEBUT DU CODE
//--------------------------------------------------------------------------
list items1 = [Q1R1Txt,Q1R2Txt,Q1R3Txt];
list items2 = [Q2R1Txt,Q2R2Txt,Q2R3Txt];
list items3 = [Q3R1Txt,Q3R2Txt,Q3R3Txt];
key user;
integer channel = 100;
 
default
{
//-----------------------------------
    state_entry()
    {
 
    }
//-----------------------------------
    touch_start(integer total_number)
    {
        user = llDetectedKey(0);
        llDialog(user,Q1TEXT,items1,channel);
        llListen(channel,llKey2Name(user),user,"");
    }
//-----------------------------------
    listen(integer channel,string name, key id,string message)
    {
//-----------------------------------
        if(id==user)
        {
//----------------------------------- Question1 
                   if(message==Q1R1Txt){
                      if(Q1R1==TRUE){
                      llDialog(user,Q3TEXT,items2,channel);
                      return;}
                   else{
                   llSay(0, "t'es mort ^^");
                   } 
                   if(message==Q1R2Txt){
                     if(Q1R2==TRUE){
                     llDialog(user,Q3TEXT,items2,channel);
                     return;}
                   else{
                   llSay(0, "t'es mort ^^");
                   } 
                   if(message==Q1R3Txt){
                     if(Q1R3==TRUE){
                     llDialog(user,Q2TEXT,items3,channel);
                     return;}
                   else{
                   llSay(0, "t'es mort ^^");
                   } 
//----------------------------------- Question2 
                   if(message==Q2R1Txt){
                      if(Q2R1==TRUE){
                      llDialog(user,Q3TEXT,items3,channel);
                      return;}
                   else{
                   llSay(0, "t'es mort ^^");
                   } 
                   if(message==Q2R2Txt){
                    if(Q2R2==TRUE){
                    llDialog(user,Q3TEXT,items3,channel);
                    return;}
                   else{
                   llSay(0, "t'es mort ^^");
                   } 
                   if(message==Q2R3Txt){
                     if(Q2R3==TRUE){
                     llDialog(user,Q3TEXT,items3,channel);
                     return;}
                   else{
                   llSay(0, "t'es mort ^^");
                   } 
//----------------------------------- Question3 
                   if(message==Q3R1Txt){
                     if(Q3R1==TRUE){
                     llGiveInventory(user,cadeau); }
                   else{
                   llSay(0, "t'es mort ^^");
                   } 
 
                   if(message==Q3R2Txt){
                       if(Q3R2==TRUE){
                       llGiveInventory(user,cadeau);}
                   else{
                   llSay(0, "t'es mort ^^");
                   } 
                   if(message==Q3R3Txt){
                        if(Q3R3==TRUE){
                        llGiveInventory(user,cadeau);}
                   else{
                   llSay(0, "t'es mort ^^");
                   } 
//-----------------------------------(if id=user fermeture) 
        }
//-----------------------------------(listen fermeture)
    }
//-----------------------------------(defaut fermeture)
}
J'ai laissé mes post it perso ^^

je trouve pas l'erreur de syntaxe et le pire c'est que sa doit etre gros comme un camion ........
si je continu a me prendre la tête dessus le code ne va plus resemblé a rien ...
help ^^
1) Toutes les variables questions/réponses devraient être des string et non des integer
Code:
//QUESTION 1
string Q1TEXT="question 1 ?";
integer Q1R1=TRUE;
2) Il manque des parenthèses fermantes à tous tes if(message==Qxxx)
Code:
if(message==Q1R1Txt)
{
        if(Q1R1==TRUE)
        {
            llDialog(user,Q3TEXT,items2,channel);
            return;
        }
        else
        {
            llSay(0, "t'es mort ^^");
        }
} <<====
Je te conseille de toujours isoler tes parenthèses plutôt que de les mettre sur la même ligne que le code, c'est plus facile à débugger.

PS : non testé
Bonjour, j'ai essayé de reprendre ce script pour creer un test de grossesse pour ma maternité mais ça bloque en deuxième partie
pouvez vous m'aider a identifier le soucis ?
Code PHP:

&#8203;//QUESTION 1
string Q1TEXT="Avez vous eut vos règles ce mois ci ?";
integer Q1R1=TRUE;
string Q1R1Txt="Non";
integer Q1R2=FALSE;
string Q1R2Txt="Oui";

//------------------------------------
//QUESTION 2
string Q2TEXT="Avez vous des nausées surtout le matin ? ";
integer Q2R1=TRUE;
string Q2R1Txt="Oui";
integer Q2R2=FALSE;
string Q2R2Txt="Non";
//------------------------------------

//QUESTION 3
string Q3TEXT="Avez vous les seins tendus, gonflés ou douloureux ?";
integer Q3R1=TRUE;
string Q3R1Txt="Oui";
integer Q3R2=FALSE;
string Q3R2Txt="Non";

//-----------DEBUT DU CODE
//--------------------------------------------------------------------------
 
list items1 = [Q1R1Txt,Q1R2Txt];
list 
items2 = [Q2R1Txt,Q2R2Txt];
list 
items3 = [Q3R1Txt,Q3R2Txt];
key user;
integer channel 100;

default
{
    
state_entry()
    {
        
llSay(0"Cliquez moi pour commencer le test");
    }

    
touch_start(integer total_number)
   {
        
user llDetectedKey(0);
        
llDialog(user,Q1TEXT,items1,channel);
        
llListen(channel,llKey2Name(user),user,"");
    }
    
//-----------------------------------
    
listen(integer channel,string namekey id,string message)
    {
//-----------------------------------    
 
if(id==user)
        {   
        
//----------------------------------- Question1 
                   
if(message==Q1R1Txt){
                      if(
Q1R1==TRUE){
                      
llDialog(user,Q2TEXT,items2,channel);
                      return;}
                   else{
                   
llSay(0"Vous n'êtes pas enceinte");
llSetLinkTexture(0,"6043145e-b8a4-8c59-01d7-88376ad65b0a",5);
                   } }
                   if(
message==Q1R2Txt){
                     if(
Q1R2==TRUE){
                     
llDialog(user,Q2TEXT,items2,channel);
                     return;}
                   else{
                    
llSay(0"Vous n'êtes pas enceinte");
llSetLinkTexture(0,"6043145e-b8a4-8c59-01d7-88376ad65b0a",5);
                   } }


//----------------------------------- Question2 
                      
if(message==Q2R1Txt){
                      if(
Q2R1==TRUE){
                      
llDialog(user,Q3TEXT,items3,channel);
                      return;}
                   else{
                   
llSay(0"Vous n'êtes pas enceinte");
llSetLinkTexture(0,"6043145e-b8a4-8c59-01d7-88376ad65b0a",5);
                   } }
                   if(
message==Q2R2Txt){
                     if(
Q2R2==TRUE){
                     
llDialog(user,Q3TEXT,items3,channel);
                     return;}
                   else{
                     
llSay(0"Vous n'êtes pas enceinte");
llSetLinkTexture(0,"6043145e-b8a4-8c59-01d7-88376ad65b0a",5); 
                   } }

//----------------------------------- Question3 
                   
if(message==Q3R1Txt){
                     if(
Q3R1==TRUE){
                      
llSay(0"Félicitations !!! Vous êtes enceinte, prenez un rendez vous avec un médecin pour confirmation");
llSetLinkTexture(0,"5207beb2-e84a-af48-3f07-a63eb7e5e979",5); }
                   else{
                    
llSay(0"Vous n'êtes pas enceinte");
llSetLinkTexture(0,"6043145e-b8a4-8c59-01d7-88376ad65b0a",5);
                   } }
 
                   if(
message==Q3R2Txt){
                       if(
Q3R2==TRUE){
                       
llSay(0"Félicitations !!! Vous êtes enceinte, prenez un rendez vous avec un médecin pour confirmation");
llSetLinkTexture(0,"5207beb2-e84a-af48-3f07-a63eb7e5e979",5);}
                   else{
                   
llSay(0"Vous n'êtes pas enceinte");
llSetLinkTexture(0,"6043145e-b8a4-8c59-01d7-88376ad65b0a",5); 
                   } }
//-----------FERMETURE USER
//--------------------------------------------------------------------------    
}        
//-----------FERMETURE LISTEN
//--------------------------------------------------------------------------    
}    
//-----------FERMETURE DEFAULT
//--------------------------------------------------------------------------    

euh, ça bloque à quel niveau ??.....si la reponse reçue est "vous n' êtes pas enceinte..."....il faut voir le problème en amont et rester plus longtemps sur la boule rose, et mettre les jambes en l' air à la fin....c' est pas une SYNTAX_ERROR mais une SEX_ERROR .......sinon, j' ai pas vraiment vu le prob dont tu parles ??
Pour tomber enceinte
// QUESTION 1
string Q1TEXT = "Avez vous eut vos règles ce mois ci ?";
string Q1R1Txt = "1 Non";
string Q1R2Txt = "1 Oui";

// QUESTION 2
string Q2TEXT = "Avez vous des nausées surtout le matin ? ";
string Q2R1Txt = "2 Oui";
string Q2R2Txt = "2 Non";

// QUESTION 3
string Q3TEXT = "Avez vous les seins tendus, gonflés ou douloureux ?";
string Q3R1Txt = "3 Oui";
string Q3R2Txt = "3 Non";

key user;
integer channel = 100;

default
{
state_entry()
{
llSay(0, "Cliquez moi pour commencer le test");
}

touch_start(integer total_number)
{
user = llDetectedKey(0);
list items1 = [Q1R1Txt, Q1R2Txt];
llDialog(user, Q1TEXT, items1, channel);
llListen(channel,llKey2Name(user),user,"");
}

listen(integer channel,string name, key id,string message)
{
if (id == user)
{
if (message == Q1R1Txt) {
list items2 = [Q2R1Txt, Q2R2Txt];
llDialog(user, Q2TEXT, items2, channel);
return;
}
else if (message == Q2R1Txt) {
list items3 = [Q3R1Txt, Q3R2Txt];
llDialog(user, Q3TEXT, items3, channel);
return;

}
else if (message == Q3R1Txt) {
llSay(0, "Félicitations !!! Vous êtes enceinte, prenez un rendez vous avec un médecin pour confirmation");
llSetLinkTexture(0, "5207beb2-e84a-af48-3f07-a63eb7e5e979", 5);
return;
}
else {
llSay(0, "Vous n'êtes pas enceinte");
llSetLinkTexture(0, "6043145e-b8a4-8c59-01d7-88376ad65b0a",5);
}
}
}
}
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés