• 02 Mai 2025, 19:36:46


Auteur Sujet: [Problème] Tuto ne suit pas  (Lu 5969 fois)

0 Membres et 2 Invités sur ce sujet

Hors ligne Taylor

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
[Problème] Tuto ne suit pas
« le: 21 Octobre 2011, 15:58:56 »
Bonjour,

Je rencontre un problème que je ne comprend pas d'où cela peut venir.
Je vous explique:

Quand on n'est a l'inscription, on clique si on n'est un homme ou une femme, quand je clique sur "homme" sa poursuit le tuto mais quand je clique sur "femme" sa suit pas le tutoriel et sa enlève le tableau. Donc si on veux reaparaitre le tableau tu fais "/t (texte)" et il te réafiche le tableau et ainsi de suite le problème suit...

Le truck que je trouve bizzare c'est que j'ai comparer a un autre gm, le scripte est exactement pareil et dans l'autre gm sa fonctionne...

Voilà le scripte:

Défine :
#define TUTOMENU 7 // By Tomy Copyright By InterGaming
Dans OnDialogResponse:
   if(dialogid == TUTOMENU)
   {
if(response)
{
new tmp[256];//variable pour notre format
format(tmp, 256, "homme", inputtext) || format(tmp, 256, "femme", inputtext)
return OnPlayerText(playerid, tmp);//
}
else//si pas de reponse
    {
        new tmp[256];//variable pour notre format
format(tmp, 256, "femme", inputtext) || format(tmp, 256, "femme", inputtext)
return OnPlayerText(playerid, tmp);//
    }
   }

Et le scripte du tuto: (parti 1)

public SetPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid)) return 1;
if(IsPlayerConnected(playerid))
{
    SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]);
    if(PlayerInfo[playerid][pTut] == 0)
    {
gOoc[playerid] = 1; gNews[playerid] = 1; gFam[playerid] = 1;
SetPlayerInterior(playerid, 3);
PlayerInfo[playerid][pInt] = 3;
SetPlayerPos(playerid, 330.6825,163.6688,1014.1875);
SetPlayerFacingAngle(playerid, 280);
TogglePlayerControllable(playerid, 0);
RegistrationStep[playerid] = 1;
//SendClientMessage(playerid, COLOR_YELLOW, "Veuillez remplir ce formulaire s'il vous plait. Il nous permettra d'avoir plus d'informations sur vous.");
//SendClientMessage(playerid, 0x87C1D7F6, "~~~~~~~~~~~~~~~~Etape 1~~~~~~~~~~~~~~~~");
//SendClientMessage(playerid, COLOR_WHITE, "Êtes vous un Homme ou une Femme ? (Ecrivez ce que vous êtes)");
//SendClientMessage(playerid, 0x87C1D7F6, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
new tutomsg[256];
format(tutomsg,256,"Nous te souhaitons tout d'abord la bienvenue sur notre serveur, American World. \nNotre base de donnée demande de fournir quelques informations pour pouvoir s'inscrire correctement \n\nPremière information: Vous êtes un homme ou bien une Femme?");
ShowPlayerDialog(playerid,TUTOMENU,DIALOG_STYLE_MSGBOX,"[Menu d'inscription] ~ Informations N°1 ~ ",tutomsg,"Homme","Femme");
return 1;
    }

Suite: (parti 2)

if(RegistrationStep[playerid] > 0)
{
    if(RegistrationStep[playerid] == 1)
    {
        new idx;
    tmp = strtok(text, idx);
    if((strcmp("homme", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("homme")))
{
    PlayerInfo[playerid][pSex] = 1;
    //SendClientMessage(playerid, 0x87C1D7F6, "~~~~~~~~~~~~~~~~Etape 2~~~~~~~~~~~~~~~~");
    //SendClientMessage(playerid, COLOR_YELLOW2, "D'accord, donc vous êtes un Homme.");
    //SendClientMessage(playerid, COLOR_WHITE, "Quelle est votre date de naissance? (Utilisez jj/mm/aaaa)");
    //SendClientMessage(playerid, 0x87C1D7F6, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    new maleskin;
    maleskin = random(sizeof(CivMalePeds));
                new tuto1msg[256];
                SendClientMessage(playerid, COLOR_YELLOW2, "Vous avez indiquez que vous êtes donc un Homme.");
    format(tuto1msg,256,"Procédure de l'information suivante en cours... \nProcédure effectuer avec succès. \nDeuxième information : Quel est votre dâte de naissance ? \nVeuillez fournir votre date de naissance ci-dessous :");
    //format(tuto1msg,256,"Procédure de l'information suivante en cours... /nProcédure réussis avec succès./nVeuillez fournir votre date de naissance ci-dessous :");
    ShowPlayerDialog(playerid,TUTOMENU1,DIALOG_STYLE_INPUT,"[Menu du tutoriel] ~ Information N°2 ~",tuto1msg,"Valider","Annuler");
    SetPlayerSkin(playerid, maleskin);
    PlayerInfo[playerid][pChar] = maleskin;
    RegistrationStep[playerid] = 2;
    return 0;
}
else if((strcmp("femme", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("femme")))
{
    PlayerInfo[playerid][pSex] = 2;
    //SendClientMessage(playerid, 0x87C1D7F6, "~~~~~~~~~~~~~~~~Etape 2~~~~~~~~~~~~~~~~");
    //SendClientMessage(playerid, COLOR_YELLOW2, "D'accord, donc vous êtes une Femme.");
    //SendClientMessage(playerid, COLOR_WHITE, "Quelle est votre date de naissance? (Utilisez jj/mm/aaaa)");
    //SendClientMessage(playerid, 0x87C1D7F6, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    new femaleskin;
    femaleskin = random(sizeof(CivFemalePeds));
                new tuto1msg[256];
                SendClientMessage(playerid, COLOR_YELLOW2, "Vous avez indiquez que vous êtes donc une Femme.");
    //format(tuto1msg,256,"NQuelle Est Votre Date de votre naissance? (JJ/MM/ANNE) :");
    format(tuto1msg,256,"Notre base de donnée demande de founir votre date de naissance pour s'inscrire./n/nVeuillez fournir votre date de naissance ci-dessous :");
    ShowPlayerDialog(playerid,TUTOMENU1,DIALOG_STYLE_INPUT,"Menu Du Tutoriel Etape 2 ",tuto1msg,"Valider","Annuler");
    SetPlayerSkin(playerid, femaleskin);
    //SetPlayerSkin(playerid, femaleskin);
    PlayerInfo[playerid][pChar] = femaleskin;
    RegistrationStep[playerid] = 2;
    return 0;
}
else
{
new tutomsg[256];
format(tutomsg,256,"Je n'ai pas trés bien compris!\nVous êtes un Homme ou une Femme? :");
ShowPlayerDialog(playerid,TUTOMENU,DIALOG_STYLE_MSGBOX,"Menu D'inscription Etape 1 ",tutomsg,"Homme","Femme");
}
return 0;
}
else if(RegistrationStep[playerid] == 2)
    {
        new year, month,day;
getdate(year, month, day);
        new DateInfo[3][20];
split(text, DateInfo, '/');
if(year - strvalEx(DateInfo[2]) > 100 || strvalEx(DateInfo[2]) < 1 || strvalEx(DateInfo[2]) >= year)
{
    new tuto2msg[256];//variable pour le format
    format(tuto2msg,256,"Vous êtes beaucoup trop vieux ! \nQuelle Est Votre Date de votre naissance? (JJ/MM/ANNE) :");
    ShowPlayerDialog(playerid,TUTOMENU1,DIALOG_STYLE_INPUT,"Menu Du Tutoriel Etape 2 ",tuto2msg,"Valider","Annuler");
    return 0;
}
new check = year - strvalEx(DateInfo[2]);
if(check == year)
{
    new tuto2msg[256];//variable pour le format
    format(tuto2msg,256,"Vous êtes beaucoup trop vieux ! \nQuelle Est Votre Date de votre naissance? (JJ/MM/ANNE) :");
    ShowPlayerDialog(playerid,TUTOMENU1,DIALOG_STYLE_INPUT,"Menu Du Tutoriel Etape 2 ",tuto2msg,"Valider","Annuler");
    return 0;
}
if(strvalEx(DateInfo[1]) > month)
{
    check -= 1;
}
else if(strvalEx(DateInfo[1]) == month && strval(DateInfo[0]) > day)
{
    check -= 1;
}
PlayerInfo[playerid][pAge] = check;
SendClientMessage(playerid, 0x87C1D7F6, "~~~~~~~~~~~~~~~~Etape 4~~~~~~~~~~~~~~~~");
format(string, sizeof(string), "D'accord, vous avez donc %d ans.",PlayerInfo[playerid][pAge]);
SendClientMessage(playerid, COLOR_YELLOW2, string);
RegistrationStep[playerid] = 3;
SendClientMessage(playerid, COLOR_WHITE, "Quelle est votre Origine? (Tapez : USA, Europe, Asie ou Afrique)");
SendClientMessage(playerid, 0x87C1D7F6, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
return 0;
    }

Merci beaucoup de votre aide.

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : [Problème] Tuto ne suit pas
« Réponse #1 le: 21 Octobre 2011, 18:10:27 »
la reponse et la else//si pas de reponse
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Problème] Tuto ne suit pas
« Réponse #2 le: 21 Octobre 2011, 19:39:40 »
if(dialogid == TUTOMENU)
{
if(response)
{
new tmp[256];

format(tmp, 256, "homme", inputtext) || format(tmp, 256, "femme", inputtext)

return OnPlayerText(playerid, tmp);
}
else
{
new tmp[256];

format(tmp, 256, "femme", inputtext) || format(tmp, 256, "femme", inputtext)
return OnPlayerText(playerid, tmp);
}
}

format(tmp, 256, "homme", inputtext) || format(tmp, 256, "femme", inputtext)
format(tmp, 256, "femme", inputtext) || format(tmp, 256, "femme", inputtext)
What is the fuque?

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [Problème] Tuto ne suit pas
« Réponse #3 le: 21 Octobre 2011, 19:57:41 »
Ce code est un crime contre la programmation.

Je freepost, je le sais.



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Taylor

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
Re : Re : [Problème] Tuto ne suit pas
« Réponse #4 le: 21 Octobre 2011, 21:02:25 »
if(dialogid == TUTOMENU)
{
if(response)
{
new tmp[256];

format(tmp, 256, "homme", inputtext) || format(tmp, 256, "femme", inputtext)

return OnPlayerText(playerid, tmp);
}
else
{
new tmp[256];

format(tmp, 256, "femme", inputtext) || format(tmp, 256, "femme", inputtext)
return OnPlayerText(playerid, tmp);
}
}

J'enleve donc

}
else
{
new tmp[256];

format(tmp, 256, "femme", inputtext) || format(tmp, 256, "femme", inputtext)
return OnPlayerText(playerid, tmp);

C'est ce qu'il faut faire ou pas?

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Problème] Tuto ne suit pas
« Réponse #5 le: 21 Octobre 2011, 21:49:14 »
Tu formate n'importe comment tes variables, tu utilise des opérateurs alors que c'est inutile et source d'erreur.

if(dialogid == TUTOMENU)
{
if(response)
{
new tmp[256];

format(tmp, sizeof(tmp), "homme");

return OnPlayerText(playerid, tmp);
}
else
{
new tmp[256];

format(tmp, sizeof(tmp), "femme");

return OnPlayerText(playerid, tmp);
}
}

Hors ligne Taylor

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
Re : [Problème] Tuto ne suit pas
« Réponse #6 le: 21 Octobre 2011, 21:59:28 »
Ah je me suis dit aussi qu'il y avais des truck qui sert a rien.

Je viens de test IG mais toujours rien...
« Modifié: 21 Octobre 2011, 22:20:07 par Taylor »

Hors ligne Taylor

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
Re : [Problème] Tuto ne suit pas
« Réponse #7 le: 23 Octobre 2011, 23:34:26 »
Up.

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Problème] Tuto ne suit pas
« Réponse #8 le: 26 Octobre 2011, 02:05:59 »
Hier j'ai mit un glaçon dans mon Coca, mais rien.

Que veut dire rien ici ? RIEN.

Dans ton avant dernier message, c'est pareil, tu nous dis vaguement ce que tu as fais -- un copier/coller surement -- et tu nous dit qu'il se passe rien.
Donne nous des détails sur ce que tu as fais, sur ce que tu en as déduit, bouge toi si tu veux que nous ont se bouge pour t'aider.

Hors ligne Taylor

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
Re : Re : [Problème] Tuto ne suit pas
« Réponse #9 le: 01 Novembre 2011, 01:16:17 »
Hier j'ai mit un glaçon dans mon Coca, mais rien.

Que veut dire rien ici ? RIEN.

Dans ton avant dernier message, c'est pareil, tu nous dis vaguement ce que tu as fais -- un copier/coller surement -- et tu nous dit qu'il se passe rien.
Donne nous des détails sur ce que tu as fais, sur ce que tu en as déduit, bouge toi si tu veux que nous ont se bouge pour t'aider.

O

Bien, j'ai pris le tableau d'un autre gm et je l'ai mi dans mon gm, j'ai défini ce qu'il fallait et ensuite aller tester IG si les deux case marchait, je me suis ensuite aperçu que la deuxième case "annuler" ne marchais pas dOnc ne kick pas. J'ai chercher à changer le nom du dialogue comme "12345" et changer par "1" mais le résultat de ce changement n'a rien donner donc n'a pas kick.

PS: le problème de homme/femme est régler, je répond ici pour le problème du bouton "annuler" = kick.
 Voila, j'espère avoir été clair.
« Modifié: 01 Novembre 2011, 01:23:08 par Taylor »

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Problème] Tuto ne suit pas
« Réponse #10 le: 01 Novembre 2011, 12:29:15 »

Hors ligne Taylor

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
Re : [Problème] Tuto ne suit pas
« Réponse #11 le: 01 Novembre 2011, 15:39:40 »
J'ai suivi comme demandé dans le wiki, ça ne résous toujours pas mon problème.

Ce que je cherche n'est pas de cliquer sur "continuer" mais de cliquer sur "Annuler" pour que l'on kick ce joueur après le click du bouton n°2.

J'ai ajouté bien évidement un "Kick(playerid);" après le else mais je viens de voir que quand tu click sur la case "annuler" avec la souris rien se passe mais quand t’appuie entrée sur le clavier ça te kick.

On se rapproche déjà donc maintenant il reste que je trouve comment kick quand on clique avec la souris dans la case "annuler"...

Hors ligne Brian Turner

  • PAWN/PHP/SQL/MAP/SQUIRIEL
  • *
  • Bandit
  • Messages: 438
    • Voir le profil
Re : Re : [Problème] Tuto ne suit pas
« Réponse #12 le: 01 Novembre 2011, 16:53:29 »
Tu formate n'importe comment tes variables, tu utilise des opérateurs alors que c'est inutile et source d'erreur.

if(dialogid == TUTOMENU)
{
if(response)
{
new tmp[256];

format(tmp, sizeof(tmp), "homme");

return OnPlayerText(playerid, tmp);
}
else
{
new tmp[256];

format(tmp, sizeof(tmp), "femme");

return OnPlayerText(playerid, tmp);
}
}

On peut faire encore mieux non?
if(dialogid == TUTOMENU)
{
if(response)
{
return OnPlayerText(playerid, "homme");
}
else
{

return OnPlayerText(playerid, "femme");
}
}
Momoto33127
__________________________________________
[TRADUCTION][FS]Celular call 1.5 : Voir le poste
[ADDON/INC]Motor System (/clef et /vsortir pour Gveh) : Voir le poste
[FS]BanList (BlackListe) [Systeme de BAN] : Voir le poste

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Problème] Tuto ne suit pas
« Réponse #13 le: 01 Novembre 2011, 21:05:23 »
@Brian Turner: Oui, effectivement.
@Taylor: Ce que je voulais te montrer, c'est que tu n'utilises pas la variable response correctement.


OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);

playerid    - The ID of the player who responded to the dialog box.
dialogid    - The ID of the dialog the player responded to, assigned in ShowPlayerDialog.
response    - 1 for first button and 0 for second button
listitem    - The ID of the list item selected by the player.
inputtext[] - The text entered into the input box by the player or the selected list item text.

response - 1 for first button and 0 for second button
inputtext[] - The text entered into the input box by the player or the selected list item text.

Hors ligne Taylor

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
Re : [Problème] Tuto ne suit pas
« Réponse #14 le: 01 Novembre 2011, 21:27:34 »
Donc je dois utiliser la variable response comme ça:

    if(response == 0)
    {

J'ai faux ? j'ai mis comme ça mais la ça ne kick pas du tout.