Bonsoir à tous,
Je viens de me tourner vers dini et j'ai effectuer quelques essaie grâce au tuto de cristab...
J'ai fait un petit bout de code afin de s'enregistrer grâce à une boite de dialogue, je pense avoir tout fait et pourtant j'obtiens une erreur....
Pawno à cesser de fonctionner...
Merci d'avance !
Voici mon code :
// Test
// ashley11 - aSh
// Copyright 2011
// INFO: Enregistrement de données
//Include
#include <a_samp>
#include <dini>
//Couleurs
#define Bleu 0x000FFFFF
//Dialogue
#define REGISTER 1
#define LOGIN 2
main()
{
print("\n----------------------------------");
print(" Test enregistrement ");
print("----------------------------------\n");
}
public OnGameModeInit()
{
SetGameModeText("aSh GM");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
new Joueur[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Joueur,sizeof(Joueur),"/Users/%s.ini",Sname);
if(dini_Exist(Joueur))
{
ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Votre compte a été trouvé S'il vous plaît entrez votre mot de pass.","Login","Annuler");
}
else
{
ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Enregistrement","Choisissez un mot de pass pour créer votre compte !","Ok","Annuler");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == LOGIN)
{
if(response == 0)
{
SendClientMessage(playerid,Bleu,"Vous avez annulé la connexion");
Kick(playerid);
return 1;
}
if(response == 1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,Bleu,"Entrez votre mot de pass ! ");
ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Login","S'il vous plait entrez votre mot de pass pour vous loger !", "Ok", "Annuler");
}
Login(playerid,inputtext);
return 1;
}
}
if(dialogid == REGISTER)
{
if(response == 0)
{
SendClientMessage(playerid,Bleu,"Vous avez annulé le formulaire");
Kick(playerid);
return 1;
}
if(response == 1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,Bleu,"Choissisez un mot de pass ! ");
ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Enregistrement","S'il vous plait choisissez un mot de pass pour créer votre compte !", "Ok", "Annuler");
}
Register(playerid,inputtext);
return 1;
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
stock Register(playerid,key[])
{
new Joueur[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Joueur,sizeof(Joueur),"/Users/%s.ini",Sname);
dini_Create(Joueur);
dini_Set(Joueur,"Password",key);
SendClientMessage(playerid,Bleu,"Vous avez etait enregistrer avec succés !");
dini_IntSet(Joueur, "level", 0);
return 1;
}
stock Login(playerid,key[])
{
new Joueur[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Joueur,sizeof(Joueur),"/Users/%s.ini",Sname);
if(!strcmp(key,dini_Get(Joueur), "Password",false))
{
SendClientMessage(playerid,Bleu,"Vous êtes loger !");
return 1;
}
else
{
ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Login","S'il vous plait entrez votre mot de pass pour vous loger !", "Ok", "Annuler");
return 1;
}
}