Skripta koju koristim: Freeroam by Fafu
Detaljan opis problema: Paradox mi je sredio spremanje admin levela, killova i deathova ali pare i score mi se ne spremaju, koristim dini i dudb, ja sam probavao ali nece :S
Dio skripte: Mislim da je to malo povece pa sto vam sve treba recite ili cu dati nekom mod ko zna nije problem
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Nemoj nikome davati mod...daj ovdje sve sto imas u OnPlayerDisconnect o login/register i sve sto imas u OnDialogResponse o tom...
Ako ti je slagao jako ti je dobro slozio... Imas vilkov tutorijal sa dudb i dini, pa sam radi, ispocetka...
Citat: eXtreme poslato Maj 09, 2011, 17:44:24 POSLE PODNE
Ako ti je slagao jako ti je dobro slozio... Imas vilkov tutorijal sa dudb i dini, pa sam radi, ispocetka...
to bi trebalo biti pozitivno? Pa po vilkovom sam tutu i radio samo mi ne sprema, on mi je (Paradox) napravio za admine, killeve i smrti ali ovu mu nisam rekao :S a glupo mi sad zamarat covjeka
daj ovdje sve sto imas u OnPlayerDisconnect o login/register i sve sto imas u OnDialogResponse o tom...
ev oti
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == 1)
{
new name[MAX_PLAYER_NAME], file[256], string[128];
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Niste registrirani", "Dobrodosli, niste registrirani. Molim registrirajte se za daljnju igru!", "Register", "Leave");
dini_Create(file);
dini_IntSet(file, "Lozinka", udb_hash(inputtext));
dini_IntSet(file, "Admin Level",PlayerInfo[playerid][pAdminLevel] = 0);
dini_IntSet(file, "Money",PlayerInfo[playerid][pMoney] = 0);
dini_IntSet(file, "Score",PlayerInfo[playerid][pScore] = 0);
dini_IntSet(file, "Kills",PlayerInfo[playerid][pKills] = 0);
dini_IntSet(file, "Deaths",PlayerInfo[playerid][pDeaths] = 0);
format(string, 128, "Registrirali ste se s imenom %s i s lozinkom %s, automatski ste logirani.", name, inputtext);
SendClientMessage(playerid, COLOR_YELLOW, string);
gPlayerLogged[playerid] = 1;
}
if (dialogid == 2)
{
new name[MAX_PLAYER_NAME], file[256];
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Vi ste registrirani", "Dobrodosli, vi ste registrirani. Logirajte se!", "Login", "Leave");
new tmp;
tmp = dini_Int(file, "Lozinka");
if(udb_hash(inputtext) != tmp) {
SendClientMessage(playerid, COLOR_RED, "Pogresna lozinka.");
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Pogresna lozinka!", "Upisali ste pogresnu lozinku!\nMolimo pokusajte ponovo!", "Login", "Leave");
}
else
{
gPlayerLogged[playerid] = 1;
PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "Admin Level");
PlayerInfo[playerid][pScore] = dini_Int(file, "Score");
PlayerInfo[playerid][pMoney] = dini_Int(file, "Money");
PlayerInfo[playerid][pKills] = dini_Int(file, "Kills");
PlayerInfo[playerid][pDeaths] = dini_Int(file, "Deaths");
SendClientMessage(playerid,COLOR_RED, "Logirani ste!");
}
}
ima toga i dolje al ne za reg/log
stock FileStats(playerid)
{
new
a[36];
format(a, sizeof(a), "igraci/%s.ini", PlayerName(playerid));
return a;
}
stock SaveStats(playerid)
{
dini_IntSet(FileStats(playerid), "Kills", PlayerInfo[playerid][pKills]);
dini_IntSet(FileStats(playerid), "Deaths", PlayerInfo[playerid][pDeaths]);
dini_IntSet(FileStats(playerid), "Admin Level", PlayerInfo[playerid][pAdminLevel]);
dini_IntSet(FileStats(playerid), "Score", PlayerInfo[playerid][pScore]);
dini_IntSet(FileStats(playerid), "Money", PlayerInfo[playerid][pMoney]);
}
stock LoadStats(playerid)
{
PlayerInfo[playerid][pKills] = dini_Int(FileStats(playerid), "Kills");
PlayerInfo[playerid][pDeaths] = dini_Int(FileStats(playerid), "Deaths");
PlayerInfo[playerid][pAdminLevel] = dini_Int(FileStats(playerid), "Admin Level");
PlayerInfo[playerid][pScore] = dini_Int(FileStats(playerid), "Score");
PlayerInfo[playerid][pMoney] = dini_Int(FileStats(playerid), "Money");
}
disconnect
if(!dini_Exists(FileStats(playerid)))
{
dini_Create(FileStats(playerid));
}
if(PlayerO[playerid][view])
{
PlayerO[playerid][view] = false;
}
if(gPlayerLogged[playerid] == 1)
{
SaveStats(playerid);
gPlayerLogged[playerid] = 0;
}
connect
PlayerInfo[playerid][pDeaths] = 0;
PlayerInfo[playerid][pKills] = 0;
PlayerInfo[playerid][pAdminLevel] = 0;
PlayerInfo[playerid][pMoney] = 0;
PlayerInfo[playerid][pScore] = 0;
gPlayerLogged[playerid] = 0;
if(!dini_Exists(FileStats(playerid)))
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Niste registrirani", "Dobrodosli, niste registrirani. Molimo registrirajte se za daljnje igranje", "Register", "Leave");
}
else if(dini_Exists(FileStats(playerid)))
{
LoadStats(playerid);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Registrirani ste", "Dobrodosli, vi ste registrirani. Logirajte se", "Login", "Leave");
}
na vrhu:
enum pInfo
{
pKills,
pDeaths,
pAdminLevel,
pMoney,
pScore
}
new PlayerInfo[MAX_PLAYERS][pInfo];