[POMOC]Oko sacuvavanja novca posle restarta

Započeo Sarkenzo
19. Mar. 2015. Zaključano
283
pregleda
6
postova
Sarkenzo
4
Shot Caller
19. Mar. 2015.
Skripta koju koristim: Moja od 0
Detaljan opis problema:Kada restartujem server bilo kako u rconu ili /gmx stavlja svim igracima novac na 0.Svasta sam pogledao na forumu i sve redom probao, msm da ovaj Y_Ini ne valja i da se dosta njih zali na njega.A cudno je sto sve lepo radi samo novac stavlja na 0 sve ostalo cuva
Dio skripte:

enum pInfo
{
    pLozinka,
    pNovac,
    pAdministrator,
    pUbistva,
    pSmrti,
pLider,
pNivo,
pVip,
pGodine,
pClan,
pZatvor,
pZatvorVreme,
pKokain,
pMarihuana,
pPol,
pLik,
pEnterijer,
pRegistrovan,
pZabranjen,
pTrazeniNivo,
pOpomena,
pVozacka,
pPosao,
}
new PlayerInfo;

forward UcitajNalog_podaci(playerid,name[],value[]);
public UcitajNalog_podaci(playerid,name[],value[])
{
    INI_Int("Lozinka",PlayerInfo);
    INI_Int("Novac",PlayerInfo);
    INI_Int("Administrator",PlayerInfo);
    INI_Int("Ubistva",PlayerInfo);
    INI_Int("Smrti",PlayerInfo);
    INI_Int("Lider",PlayerInfo);
    INI_Int("Nivo",PlayerInfo);
    INI_Int("Vip",PlayerInfo);
    INI_Int("Godine",PlayerInfo);
    INI_Int("Clan",PlayerInfo);
    INI_Int("Zatvor",PlayerInfo);
    INI_Int("ZatvorVreme",PlayerInfo);
    INI_Int("Kokain",PlayerInfo);
    INI_Int("Marihuana",PlayerInfo);
    INI_Int("Pol",PlayerInfo);
    INI_Int("Lik",PlayerInfo);
    INI_Int("Enterijer",PlayerInfo);
    INI_Int("Registrovan",PlayerInfo);
    INI_Int("Zabranjen",PlayerInfo);
    INI_Int("TrazeniNivo",PlayerInfo);
    INI_Int("Opomena",PlayerInfo);
    INI_Int("Vozacka",PlayerInfo);
    INI_Int("Posao",PlayerInfo);
    return 1;
}

public OnGameModeExit()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SaveAccountStats(i); //Will be used to save the account stats
}
}
}

public OnPlayerDisconnect(playerid, reason)
{
SaveAccountStats(playerid); //Calls the function, saves the stats
if(PlayerInfo > 0)
{
PlayerInfo = 1;
PlayerInfo = 1600;
}
return 1;
}

public OnPlayerUpdate(playerid)
{
    PlayerInfo = GetPlayerMoney(playerid);
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"podaci");
    INI_WriteInt(File,"Novac",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Administrator",PlayerInfo);
    INI_WriteInt(File,"Administrator",PlayerInfo);
    INI_WriteInt(File,"Ubistva",PlayerInfo);
    INI_WriteInt(File,"Smrti",PlayerInfo);
    INI_WriteInt(File,"Lider",PlayerInfo);
    INI_WriteInt(File,"Nivo",PlayerInfo);
    INI_WriteInt(File,"Vip",PlayerInfo);
    INI_WriteInt(File,"Godine",PlayerInfo);
    INI_WriteInt(File,"Clan",PlayerInfo);
    INI_WriteInt(File,"Zatvor",PlayerInfo);
    INI_WriteInt(File,"ZatvorVreme",PlayerInfo);
    INI_WriteInt(File,"Kokain",PlayerInfo);
    INI_WriteInt(File,"Marihuana",PlayerInfo);
    INI_WriteInt(File,"Pol",PlayerInfo);
    INI_WriteInt(File,"Lik",PlayerInfo);
    INI_WriteInt(File,"Enterijer",PlayerInfo);
    INI_WriteInt(File,"Registrovan",PlayerInfo);
    INI_WriteInt(File,"Zabranjen",PlayerInfo);
    INI_WriteInt(File,"TrazeniNivo",PlayerInfo);
    INI_WriteInt(File,"Opomena",PlayerInfo);
    INI_WriteInt(File,"Vozacka",PlayerInfo);
    INI_WriteInt(File,"Posao",PlayerInfo);
    INI_Close(File);
return 1;
}

case DIJALOG_REGISTRACIJA:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIJALOG_REGISTRACIJA, DIALOG_STYLE_INPUT, ""BELA"Registracija...",""CRVENA"Upisali ste netacnu lozinku.\n"BELA"Upisite lozinku da biste registrovali novi nalog.","Registracija","Izlaz");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"podaci");
INI_WriteInt(File,"Lozinka",udb_hash(inputtext));
INI_WriteInt(File,"Novac",0);
INI_WriteInt(File,"Administrator",0);
INI_WriteInt(File,"Ubistva",0);
INI_WriteInt(File,"Smrti",0);
INI_WriteInt(File,"Lider",0);
INI_WriteInt(File,"Nivo",0);
INI_WriteInt(File,"Vip",0);
INI_WriteInt(File,"Godine",0);
INI_WriteInt(File,"Clan",0);
INI_WriteInt(File,"Zatvor",0);
INI_WriteInt(File,"ZatvorVreme",0);
INI_WriteInt(File,"Kokain",0);
INI_WriteInt(File,"Marihuana",0);
INI_WriteInt(File,"Pol",0);
INI_WriteInt(File,"Lik",0);
INI_WriteInt(File,"Enterijer",0);
INI_WriteInt(File,"Registrovan",0);
INI_WriteInt(File,"Zabranjen",0);
INI_WriteInt(File,"TrazeniNivo",0);
INI_WriteInt(File,"Opomena",0);
INI_WriteInt(File,"Vozacka",0);
INI_WriteInt(File,"Posao",0);

INI_Close(File);

function SaveAccountStats(playerid)
{
    if(Logged == 1)
    {
    new
        INI:File = INI_Open(UserPath(playerid))
    ;
    INI_SetTag(File,"podaci"); //Settings tags in y_ini is very important!

    PlayerInfo = GetPlayerSkin(playerid);
    PlayerInfo = GetPlayerCash(playerid);

    INI_WriteInt(File,"Novac",PlayerInfo);
    INI_WriteInt(File,"Administrator",PlayerInfo);
    INI_WriteInt(File,"Administrator",PlayerInfo);
    INI_WriteInt(File,"Ubistva",PlayerInfo);
    INI_WriteInt(File,"Smrti",PlayerInfo);
    INI_WriteInt(File,"Lider",PlayerInfo);
    INI_WriteInt(File,"Nivo",PlayerInfo);
    INI_WriteInt(File,"Vip",PlayerInfo);
    INI_WriteInt(File,"Godine",PlayerInfo);
    INI_WriteInt(File,"Clan",PlayerInfo);
    INI_WriteInt(File,"Zatvor",PlayerInfo);
    INI_WriteInt(File,"ZatvorVreme",PlayerInfo);
    INI_WriteInt(File,"Kokain",PlayerInfo);
    INI_WriteInt(File,"Marihuana",PlayerInfo);
    INI_WriteInt(File,"Pol",PlayerInfo);
    INI_WriteInt(File,"Lik",PlayerInfo);
    INI_WriteInt(File,"Enterijer",PlayerInfo);
    INI_WriteInt(File,"Registrovan",PlayerInfo);
    INI_WriteInt(File,"Zabranjen",PlayerInfo);
    INI_WriteInt(File,"TrazeniNivo",PlayerInfo);
    INI_WriteInt(File,"Opomena",PlayerInfo);
    INI_WriteInt(File,"Vozacka",PlayerInfo);
    INI_WriteInt(File,"Posao",PlayerInfo);

    INI_Close(File);
    }
    return 1;
}

function SaveAccounts()
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            SaveAccountStats(i); //Will be used to save the account stats
        }
    }
}

Neke slike/video za lakse dobivanje pomoci(neobavezno)
Rudimental
5
OG Legend
19. Mar. 2015.
Kod publica OnPlayerDisconnect save za igraca stavi skroz na kraj publica jer imas tu jos par varijabli koje radis a kako da ih sacuvas ... Takodje kod ovog case DIJALOG_REGISTRACIJA: vidim da stavljas kes na 0 tako da obrati paznju da ti se ne mesa s tim nesto kojim slucajem ...
A sto se tice same ove funkcije za save naloga stavi ovako za novac

PlayerInfo = GetPlayerMoney(playerid);
INI_WriteInt(File,"Novac",PlayerInfo);
Sarkenzo
4
Shot Caller
20. Mar. 2015.
Opet ne sacuvava
Marko_Naruto
3
Hustler
20. Mar. 2015.
Tu trebas da stavis da ucitava a ne da sacuva
public OnGameModeExit()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SaveAccountStats(i); //Will be used to save the account stats
}
}
}

A da bi ti sacuvalo stavis pod public
GameModeExitFunc()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SaveAccountStats(i); //Will be used to save the account stats
}
}
Sarkenzo
4
Shot Caller
20. Mar. 2015.
Resio sam moze lock, ako neko bude imao ovakav problem da mu ne cuva novac samo nadje ovaj deo.A ovi publici stockovi za save uopste nisu bili potrebni samo trpas mod za dzabe

case DIJALOG_PRIJAVA:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(udb_hash(inputtext) == PlayerInfo)
{
INI_ParseFile(UserPath(playerid), "UcitajNalog_%s", .bExtra = true, .extra = playerid);
GivePlayerMoney(playerid, PlayerInfo); //ODAVDE OBRISES

public OnPlayerConnect(playerid)
{
if(fexist(UserPath(playerid)))
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
ShowPlayerDialog(playerid, DIJALOG_PRIJAVA, DIALOG_STYLE_INPUT,""BELA"Prijava",""BELA"Upisite lozinku da biste se prijavili.","Prijava","Izlaz");
GivePlayerMoney(playerid, PlayerInfo); //OVDE DODAS POSTO TU NIJE BILO
}
else
{
ShowPlayerDialog(playerid, DIJALOG_REGISTRACIJA, DIALOG_STYLE_INPUT,""BELA"Registracija...",""BELA"Upisite lozinku da biste se registrovali.","Registracija","Izlaz");
}
return 1;
}
arnel avdic
5
Underboss
20. Mar. 2015.
a to pod onplayerupdate izbrisi , ne znaš ni sam koliko će ti server lagat ako npr. bude imao 30+ igraca, jer taj tajmer se pokreće svake 1 milisekunde znas ti koliko je to
i sad da se on pokrece svake 1 milisekunde za svakog igraca na serveru i da svakome sacuva accounte lag ce postojati i to veliki, zato najbolje napravi ti svoj tajmer koji ce
se pokrecati nekih npr. bubam 1 minute ili više i on da sacuva igrace , a ovo je prejebeno ba ne znam ni što su pravili taj public dzaba

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha