Salut !
J'ai fait des liste de dialogues ... sur mon gamemode. Tout marche, mais j'ai un problème, quand je choisis un truc dans la liste, ça me kick.
Voici mon OnDialogResponse() :
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1 && response)
{
new sendername[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "users/%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if(!hFile)
{
SendClientMessage(playerid, COLOR_RED, "Ce compte n'est pas enregistrer.");
ShowPlayerDialog(playerid, 2,DIALOG_STYLE_INPUT,"Bienvenue sur Vie Ta Vie","Enregistrement\n\nEntrez votre mot de passe\nEntrez votre mot de passe : ","Enregistrer","Quitter");
}
//strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
OnPlayerLogin(playerid,inputtext);
return 1;
}
else
{
Kick(playerid);
return 1;
}
if(dialogid == 2 && response)
{
new sendername[20],string[128];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "users/%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "Ce nom est déjà utiliser reconnecter vous avec un autre Mot de passe.");
fclose(hFile);
return 1;
}
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Enregister vous","Veuillez entrez votre mot de passe\nPour vous enregistrer","Ok","Annuler");
return 1;
}
//Encrypt(tmppass);
OnPlayerRegister(playerid,inputtext);
}
else
{
Kick(playerid);
return 1;
}
if(dialogid == 3 && response)
{
new pName[MAX_PLAYER_NAME],gName[MAX_PLAYER_NAME];
new giveplayerid = GetPVarInt(playerid,"ClickedPlayer");
new message[256];
new string[128];
GetPlayerName(playerid,pName,sizeof pName); //pName : Administrateur
GetPlayerName(giveplayerid,gName,sizeof gName); //gName : Joueur
if(listitem == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
TogglePlayerControllable(giveplayerid, 1);
GameTextForPlayer(giveplayerid, "~w~Vous pouvez a nouveau bouger", 5000, 3);
format(string, sizeof(string), "%s à été unfreeze par %s", gName, pName);
ABroadCast(COLOR_YELLOW,string,1);
}
}}
}
if(listitem == 1)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
TogglePlayerControllable(giveplayerid, 0);
GameTextForPlayer(giveplayerid, "~w~Vous ne pouvez plus bouger", 5000, 3);
format(string, sizeof(string), "%s à été freeze par %s", gName, pName);
ABroadCast(COLOR_YELLOW,string,1);
}
}}
}
}
if(dialogid == 4 && response)
{
switch(listitem)
{
case 1:
{
SendClientMessage(playerid, COLOR_WHITE, "* Vous êtes sur le point de devenir Avocat, et d'obtenir un contrat de 5h.");
SendClientMessage(playerid, COLOR_WHITE, "* Vous devez finir le contrat de 5h si vous voulez quitter ce job plus tard.");
SendClientMessage(playerid, COLOR_WHITE, "* Si vous êtes sur de devenir Avocat, tapper /accepter job.");
GettingJob[playerid] = 2;
TogglePlayerControllable(playerid,1);
//return 1;
}
case 2:
{
SendClientMessage(playerid, COLOR_WHITE, "* Vous êtes sur le point de devenir Livreur, et d'obtenir un contrat de 5h.");
SendClientMessage(playerid, COLOR_WHITE, "* Vous devez finir le contrat de 5h si vous voulez quitter ce job plus tard.");
SendClientMessage(playerid, COLOR_WHITE, "* Si vous êtes sur de devenir Livreur, tapper /accepter job.");
GettingJob[playerid] = 16;
TogglePlayerControllable(playerid,1);
//return 1;
}
case 3:
{
SendClientMessage(playerid, COLOR_WHITE, "* Vous êtes sur le point de devenir Fermier, et d'obtenir un contrat de 5h.");
SendClientMessage(playerid, COLOR_WHITE, "* Vous devez finir le contrat de 5h si vous voulez quitter ce job plus tard.");
SendClientMessage(playerid, COLOR_WHITE, "* Si vous êtes sur de devenir Fermier, tapper /accepter job.");
GettingJob[playerid] = 18;
TogglePlayerControllable(playerid,1);
//return 1;
}
case 4:
{
SendClientMessage(playerid, COLOR_WHITE, "* Vous êtes sur le point de devenir Chauffeur de Taxi, et d'obtenir un contrat de 5h.");
SendClientMessage(playerid, COLOR_WHITE, "* Vous devez finir le contrat de 5h si vous voulez quitter ce job plus tard.");
SendClientMessage(playerid, COLOR_WHITE, "* Si vous êtes sur de devenir Chauffeur de Taxi, tapper /accepter job.");
GettingJob[playerid] = 13;
//SendClientMessage(playerid, COLOR_WHITE, "* Pour avoir ce Job, posté une candidature forum et attendez de vous faire inviter par un administrateur !");
TogglePlayerControllable(playerid,1);
//return 1;
}
case 5:
{
SendClientMessage(playerid, COLOR_WHITE, "* Vous êtes sur le point de devenir Chauffeur de Bus, et d'obtenir un contrat de 5h.");
SendClientMessage(playerid, COLOR_WHITE, "* Vous devez finir le contrat de 5h si vous voulez quitter ce job plus tard.");
SendClientMessage(playerid, COLOR_WHITE, "* Si vous êtes sur de devenir Chauffeur de Bus, tapper /accepter job.");
GettingJob[playerid] = 14;
//SendClientMessage(playerid, COLOR_WHITE, "* Pour avoir ce Job, posté une candidature forum et attendez de vous faire inviter par un administrateur !");
TogglePlayerControllable(playerid,1);
//return 1;
}
/*case 2:
{
SendClientMessage(playerid, COLOR_WHITE, "* Vous êtes sur le point de devenir Livreur de Journaux, et d'obtenir un contrat de 5h.");
SendClientMessage(playerid, COLOR_WHITE, "* Vous devez finir le contrat de 5h si vous voulez quitter ce job plus tard.");
SendClientMessage(playerid, COLOR_WHITE, "* Si vous êtes sur de devenir Livreur de Journals, tapper /accepter job.");
GettingJob[playerid] = 15;
TogglePlayerControllable(playerid,1);
return 1;
}*/
case 6:
{
SendClientMessage(playerid, COLOR_WHITE, "* Vous êtes sur le point de devenir Livreur de Pizza, et d'obtenir un contrat de 5h.");
SendClientMessage(playerid, COLOR_WHITE, "* Vous devez finir le contrat de 5h si vous voulez quitter ce job plus tard.");
SendClientMessage(playerid, COLOR_WHITE, "* Si vous êtes sur de devenir Livreur de Pizza, tapper /accepter job.");
GettingJob[playerid] = 17;
TogglePlayerControllable(playerid,1);
//return 1;
}
case 7:
{
SendClientMessage(playerid, COLOR_WHITE, "* Vous êtes sur le point de devenir Balayeur de Rue, et d'obtenir un contrat de 5h.");
SendClientMessage(playerid, COLOR_WHITE, "* Vous devez finir le contrat de 5h si vous voulez quitter ce job plus tard.");
SendClientMessage(playerid, COLOR_WHITE, "* Si vous êtes sur de devenir Balayeur de Rue, tapper /accepter job.");
GettingJob[playerid] = 21;
TogglePlayerControllable(playerid,1);
//return 1;
}
case 8:
{
SendClientMessage(playerid, COLOR_WHITE, "* Vous êtes sur le point de devenir Mecanicien, et d'obtenir un contrat de 5h.");
SendClientMessage(playerid, COLOR_WHITE, "* Vous devez finir le contrat de 5h si vous voulez quitter ce job plus tard.");
SendClientMessage(playerid, COLOR_WHITE, "* Si vous êtes sur de devenir Mecanicien, tapper /accepter job.");
GettingJob[playerid] = 7;
TogglePlayerControllable(playerid,1);
//return 1;
}
//return 1;
}
return 1;
}
return 1;
}
Je voit tout ça normal moi :P
Merci d'avance !