Sziasztok!
Nos, már az adminrendszerem vége felé járok, de ismét problémába ütköztem. Ha szintet adok Rcon adminnal, akkor a szintet a dini elmenti, de utána kiolvasni se a dini_Int-tel, se az enummal kiolvasni nem tudom. Mellékelem a kódot:
Enum:
enum Info
{
Jelszo,
Pont,
Penz,
Halalok,
Olesek,
Admin,
};
Dialogos loginrendszer:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(!response)
{
SendClientMessage(playerid, COLOR_RED, \"Így jártál, nem regisztráltál be! \");
Kick(playerid);
}
if(dialogid == 1)
{
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
format(file, sizeof(file), \"%s.ini\", PlayerName);
dini_Create(file);
dini_IntSet(file, \"Jelszó\", udb_hash(inputtext));
dini_IntSet(file, \"Pénz\", GetPlayerMoney(playerid));
dini_IntSet(file, \"Pont\", GetPlayerScore(playerid));
dini_IntSet(file, \"Halálok\",0);
dini_IntSet(file, \"Ölések\",0);
dini_IntSet(file, \"Admin\",0);
SendClientMessage(playerid, COLOR_YELLOW, \"Gratulálok, regisztráltál, most viszont írd be a jelszód!\");
ShowPlayerDialog(playerid, DIALOG_1, DIALOG_STYLE_INPUT, \"Bejelentkezés\", \"Kérlek, írd be a jelszavad!\", \"Rendben\", \"Kirúg\");
}
if(dialogid == 2)
{
if(!response)
{
SendClientMessage(playerid, COLOR_RED, \"Így jártál, nem jelentkeztél be! \");
Kick(playerid);
}
if(strval(dini_Get(file, \"Jelszó\")) == udb_hash(inputtext))
{
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
format(file, sizeof(file), \"%s.ini\", PlayerName);
pInfo[playerid][Penz] = dini_Int(file, \"Pénz\");
pInfo[playerid][Pont] = dini_Int(file, \"Pont\");
pInfo[playerid][Halalok] = dini_Int(file, \"Halálok\");
pInfo[playerid][Olesek] = dini_Int(file, \"Ölések\");
pInfo[playerid][Admin] = dini_Int(file, \"Admin\");
GivePlayerMoney(playerid, pInfo[playerid][Penz]);
SetPlayerScore(playerid, pInfo[playerid][Pont]);
SendClientMessage(playerid, COLOR_YELLOW, \"Sikeresen bejelentkeztél\");
}
else
{
SendClientMessage(playerid, COLOR_RED, \"Rossz jelszó!\");
ShowPlayerDialog(playerid, DIALOG_1, DIALOG_STYLE_INPUT, \"Bejelentkezés\", \"Kérlek, írd be a jelszavad!\", \"Rendben\", \"Kirúg\");
}
}
return 1;
}
És még ez az egyszerû kód sem mûködik mert nem tudja kiolvasni az adminszintet:
CMD:akill(playerid, params[])
{
new giveplayerid;
if(pInfo[playerid][Admin] >= 3)
{
if(sscanf(params, \"u\", giveplayerid))
{
SendClientMessage(playerid, COLOR_RED, \"Használat: /akill [iD/Név]\");
}
else
{
SetPlayerHealth(giveplayerid, 0);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, \"Nem vagy hármas admin!\");
}
return 1;
}
Elõre is köszönöm!