Sziasztok!
Elkezdtem megírni egy módot de már az első dolognál elakadtam :/ A regisztrációnál és a belépésnél,mi ebbe a hiba?
new nev[MAX_PLAYER_NAME];
new Belepve[MAX_PLAYERS];
enum JatekosAdatok
{
Szint,
Penz
}
new JatekosInfo[MAX_PLAYERS][JatekosAdatok];
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);
new file[256];
GetPlayerName(playerid,nev,sizeof(nev));
format(file,sizeof(file),\"/accounts/%s.ini\",nev);
new string[256];
if(!fexist(file))
{
format(string, sizeof string, \"Üdv %s! \\nKérjük regisztrálj! \\nAdd meg a kívánt jelszavad!\",nev);
ShowPlayerDialog(playerid,regisztracio, DIALOG_STYLE_INPUT,\"Regisztráció\",string,\"Kilépés\",\"Regisztráció\");
}
else
{
format(string, sizeof string, \"Üdv %s! \\nKérjük jelentkezz be! \\n\\nÍrd be a jelszavad!\",nev);
ShowPlayerDialog(playerid,bejelentkezes, DIALOG_STYLE_INPUT,\"Belépés\",string,\"Kilépés\",\"Belép\");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new file[128];
format(file,sizeof(file),\"/accounts/%s.ini\",nev);
if(!fexist(file) && Belepve[playerid] == 1)
{
dini_IntSet(file, \"Szint\",JatekosInfo[playerid][szint]);
dini_IntSet(file, \"Penz\",JatekosInfo[playerid][Penz]);
}
GetPlayerName(playerid,nev,sizeof(nev));
Belepve[playerid] = 0;
JatekosInfo[playerid][szint] = 0;
JatekosInfo[playerid][Penz] = 0;
printf(\"%s kilépett!\",nev);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == regisztracio)
{
if(response) return Kick(playerid);
else if(strlen(inputtext) == 0)
{
new string[128];
format(string, sizeof string, \"Üdv %s\\nKérjük regisztrálj!\\nAdd meg a kívánt jelszavad!\",nev);
ShowPlayerDialog(playerid,regisztracio, DIALOG_STYLE_INPUT,\"Regisztráció\",string,\"Kilépés\",\"Regisztráció\");
return 0;
}
new file[128];
GetPlayerName(playerid,nev,sizeof(nev));
format(file,sizeof(file),\"/accounts/%s.ini\",nev);
dini_Create(file);
dini_IntSet(file, \"Antibug\",0);
dini_IntSet(file, \"Jelszo\",udb_hash(inputtext));
dini_IntSet(file, \"Szint\",0);
dini_IntSet(file, \"Penz\",0);
return 1;
}
if(dialogid == bejelentkezes)
{
if(response) return Kick(playerid);
else if(strlen(inputtext) == 0)
{
new string[128];
format(string, sizeof(string), \"Üdv %s\\nKérjük jelentkezz be!\\nÍrd be a jelszavad!\",nev);
ShowPlayerDialog(playerid,bejelentkezes, DIALOG_STYLE_INPUT,\"Belépés\",string,\"Kilépés\",\"Belépés\");
return 0;
}
new file[128];
GetPlayerName(playerid,nev,sizeof(nev));
format(file,sizeof(file),\"/accounts/%s.ini\",nev);
if(udb_hash(inputtext) == dini_Int(file, \"Jelszo\"))
{
Belepve[playerid] = 1;
ResetPlayerMoney(playerid);
JatekosInfo[playerid][szint] = dini_Int(file,\"Szint\");
JatekosInfo[playerid][Penz] = dini_Int(file,\"Penz\");
}
else
{
SendClientMessage(playerid,-1,\"Hibás jelszó!\");
printf(\"%s belépése sikertelen volt!\",nev);
Kick(playerid);
}
return 1;
}
return 1;
}