Sziasztok!
Szóval az lenne a problémám, hogy bejelentkezésnél bármit elfogad a regisztrációs rendszerem jelszónak, már próbáltam sok módszert (pl:
katt), de egyik sem jó, mindig beenged. :S
A szkript:
[pawn]#include <a_samp>
#include <dini>
#define COLOR_RED 0xAA3333AA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_YELLOW 0xFFFF00AA
#define DIALOG_REGI 1337
#define DIALOG_LOGIN 1338
#define Mappa \"felhasznalok\"
new fajl[256];
new str[128];
public OnPlayerConnect(playerid)
{
new belep[134];
SetPVarInt(playerid, \"Bejelentkezve\", 0);
format(fajl, 256,\"%s/%s.ini\", Mappa, GetPlayerNameEx(playerid));
format(belep, 134, \"%s csatlakozott a szerverre!\", GetPlayerNameEx(playerid));
SendClientMessageToAll(COLOR_GREEN, belep);
if(!dini_Exists(fajl))
{
format(str, 128,\"Hello %s!\\nTe még nem regisztráltál!\\nÍrj be egy jelszót!\", GetPlayerNameEx(playerid));
ShowPlayerDialog(playerid, DIALOG_REGI, DIALOG_STYLE_INPUT,\"Regisztráció\", str,\"Regisztrál\",\"Kilép\");
}
else
{
format(str, 128,\"Hello %s!\\nEz a név regisztrálva van\\nKérlek jelentkezz be!\", GetPlayerNameEx(playerid));
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,\"Belépés\", str, \"Belépés\", \"Kilépés\");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGI)
{
if(response)
{
if(!inputtext[0] && !strlen(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_REGI, DIALOG_STYLE_INPUT,\"Regisztráció\", \"Nem írtál be semmit!\",\"Regisztrál\",\"Kilép\");
}
else
{
dini_Create(fajl);
dini_Set(fajl,\"Jelszó\", inputtext);
dini_IntSet(fajl,\"Regisztrálva\", 1);
dini_IntSet(fajl,\"Pont\", GetPlayerScore(playerid));
dini_IntSet(fajl,\"Pénz\", GetPlayerMoney(playerid));
dini_IntSet(fajl,\"Ölések\", GetPVarInt(playerid, \"Ölések\"));
dini_IntSet(fajl,\"Halálok\", GetPVarInt(playerid, \"Halálok\"));
SetPVarInt(playerid, \"Bejelentkezve\", 1);
SendClientMessage(playerid, 0x33AA33AA, \"Sikeresen Regisztráltál!\");
}
}
else
{
Kick(playerid);
}
}
if(dialogid == DIALOG_LOGIN)
{
if(response)
{
if(!inputtext[0] && !strlen(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,\"Belépés\", \"Nem írtál be semmit!\", \"Belépés\", \"Kilépés\");
}
else if(strcmp(inputtext, dini_Get(fajl, \"Jelszó\"), false) != 0)
{
SendClientMessage(playerid, COLOR_RED, \"Hibás jelszó!\");
Kick(playerid);
}
else
{
SetPlayerScore(playerid, dini_Int(fajl, \"Pont\"));
GivePlayerMoney(playerid, dini_Int(fajl, \"Pénz\"));
SetPlayerColor(playerid, dini_Int(fajl,\"Szín\"));
SetPVarInt(playerid, \"Ölések\", dini_Int(fajl,\"Ölések\"));
SetPVarInt(playerid, \"Halálok\", dini_Int(fajl,\"Halálok\"));
SetPVarInt(playerid, \"Bejelentkezve\", 1);
SendClientMessage(playerid, COLOR_GREEN, \"Sikeresen Bejelentkeztél!\");
}
}
else
{
Kick(playerid);
}
}
return 1;
}
stock GetPlayerNameEx(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
return name;
}[/pawn]
Az elõzõ rendszerrel nem volt ilyen baj, de azt nem találom :S
Elõre is köszönöm.