Oko restarta servera.

Započeo Claus
7. Avg. 2018. Zaključano
2,051
pregleda
26
postova
TIMIC
4
Enforcer
7. Avg. 2018.
Problem(error/warning): Drzim DeathMatch server, i sad likovi nabiju skor 300-400 i kad restartujem server vrati im se skor na 0. Pa ako neko hoce da pomogne da resim to, hvala unapred.
Dio skripte: [ pawn ]//[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]//[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): //
SejnurHD
5
OG Legend
7. Avg. 2018.
Da li uopste cuvas/ucitavas igraceve podatke?
TIMIC
4
Enforcer
7. Avg. 2018.
Sejnur337_ wrote on August 7, 2018, 1:55 pm:
Da li uopste cuvas/ucitavas igraceve podatke?
Da
TIMIC
4
Enforcer
7. Avg. 2018.
Evo slika: https://imgur.com/a/opMHwvT
ivan221
5
Made Man
🔥2
7. Avg. 2018.
Posalji citanje&cuvanje
TIMIC
4
Enforcer
7. Avg. 2018.
// ucitavanje igraca
forward LoadUser_data(playerid, name[], value[]);
public LoadUser_data(playerid, name[], value[])
{
    INI_Int("Sifra",PlayerInfo);
    INI_Int("Admin",PlayerInfo);
    INI_Int("Novac",PlayerInfo);
    INI_Int("Ubistva",PlayerInfo);
    INI_Int("Smrti",PlayerInfo);
    INI_Int("Skin",PlayerInfo);
    INI_Int("Skor",PlayerInfo);
  INI_Int("Mutiran",PlayerInfo);
    INI_Int("MutiranVreme",PlayerInfo);
return 1;
}
stock SavePlayer(playerid)
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
    INI_WriteInt(File,"Admin",PlayerInfo);
    INI_WriteInt(File,"Novac",PlayerInfo);
    INI_WriteInt(File,"Ubistva",PlayerInfo);
    INI_WriteInt(File,"Smrti",PlayerInfo);
    INI_WriteInt(File,"Skin",PlayerInfo);
    INI_WriteInt(File,"Skor",PlayerInfo);
    INI_WriteInt(File,"Mutiran",PlayerInfo);
    INI_WriteInt(File,"MutiranVreme",PlayerInfo);
INI_Close(File);
return 1;
}
Unkovic2405
5
Underboss
7. Avg. 2018.
Posalji pozivanje ucitavanja na OnGameModeInit
I skloni stock, istavi samo SavePlayer { kod }, razumes, nepotrebno ti je stock. I posalji to na ongamemodeinit
TIMIC
4
Enforcer
7. Avg. 2018.
Unkovic wrote on August 7, 2018, 10:15 pm:
Posalji pozivanje ucitavanja na OnGameModeInit
I skloni stock, istavi samo SavePlayer { kod }, razumes, nepotrebno ti je stock. I posalji to na ongamemodeinit
Jel bi mogo malo detaljnije da mi objasnis oko toga SavePlayer { kod }
James_SmithXDl
6
OG Legend
7. Avg. 2018.
Unkovic wrote on August 7, 2018, 10:15 pm:
Posalji pozivanje ucitavanja na OnGameModeInit
I skloni stock, istavi samo SavePlayer { kod }, razumes, nepotrebno ti je stock. I posalji to na ongamemodeinit
nemoj nabijati bezveze postove,vec ako pomazes lijepo mu pomozi i napisi/objasni a ne ovako, sta znaci pozivanje ucitavanja na OnGameModeInit? nema smisla pozivanje ucitavanja igracevih podataka (playerid) na OnGameModeInit? (osim ako praviÅ¡ preko timera pa pozoves timer i u njemu for petlju za igrace i  to za igraca.. - a necemo dalje o tome jer nije vezano za pomoc sto je zatrazio on).

znaci ovako daj nam public OnPlayerConnect,te public OnPlayerDisconnect.  ( OnPlayerConnect - samo da provjerim radil dobro ucitavanje iako kazes da im se samo skor ne ucitava - al opet da provjerim, a OnPlayerDisconnect - da provjerim cuva li / poziva li funkciju za cuvanje igracevih podataka... )
TIMIC
4
Enforcer
8. Avg. 2018.
youngdeal wrote on August 7, 2018, 11:59 pm:
nemoj nabijati bezveze postove,vec ako pomazes lijepo mu pomozi i napisi/objasni a ne ovako, sta znaci pozivanje ucitavanja na OnGameModeInit? nema smisla pozivanje ucitavanja igracevih podataka (playerid) na OnGameModeInit? (osim ako praviÅ¡ preko timera pa pozoves timer i u njemu for petlju za igrace i  to za igraca.. - a necemo dalje o tome jer nije vezano za pomoc sto je zatrazio on).

znaci ovako daj nam public OnPlayerConnect,te public OnPlayerDisconnect.  ( OnPlayerConnect - samo da provjerim radil dobro ucitavanje iako kazes da im se samo skor ne ucitava - al opet da provjerim, a OnPlayerDisconnect - da provjerim cuva li / poziva li funkciju za cuvanje igracevih podataka... )
Evo slike: https://imgur.com/a/sh5JMa1
Ako treba pawn code ili nesto drugo, samo kazite.
James_SmithXDl
6
OG Legend
8. Avg. 2018.
тιмιc wrote on August 8, 2018, 9:33 am:
Evo slike: https://imgur.com/a/sh5JMa1
Ako treba pawn code ili nesto drugo, samo kazite.
sta je ovo?

bezveze pozivanje defaultnog ID-a za cuvanje igraca svaki put ? - nema smisla i to ti nije potrebno u onplayerconnect kako sam skuzio kad se ucitaje server reseta mu varijable i tako spremi ? znaci svakom igracu koji je po default idu (0) ce snimit acc tako,pogrijesio si, makni to iz  public OnPlayerConnect  - mislim na ovo ispod u pawn kodu,takodjer ako jos gdje ima  tako isto makni
new id;
SavePlayer(id);

i koristi SavePlayer(playerid); - da sacuva od ID igraca pravog podatke (osim ako koristis u kojoj komandi param koji npr param id koji se odnosi na igraca onda koristi SavePlayer(id), a ne ovako bezveze ces mu sacuvat acc prije registracije), ali i ta ti funkcija nije potrebna u OnPlayerConnect - objasnio sam ti u zagradi zasto, te onda public OnPlayerDisconnect cijeli obrisi i moj kod postavi
public OnPlayerDisconnect(playerid, reason)
{
    new ime[ 24 ];
    GetPlayerName( playerid, ime, sizeof( ime ) );
    if(fexist( UserPath( playerid ) ) ) {
SavePlayer( playerid );
printf( "--> Igrac %s napustio server - podatci uspjesno sacuvani.", ime); }
else { printf( "--> Igrac %s napustio server - podatci mu nisu sacuvani jer se uopste nije registrovao / ne postoji fajl u folderu.", ime); }
return 1;
}

po tvom bi cuvalo svakom igracu kad udje na server i ako napusti iako se nije registrovao njemu ce spremiti acc u folder, a po mom sto sam ti napisao je da ako ima mu vec acc u folderu da ga opet spremi ( na najnovije podatke) , a ako nema nece nista uraditi samo ce ispisat ti u server_log-u da mu nisu podatci sacuvani.

a za score ja mislim da uopste nisi stavio tu funkciju mislim da postavlja score za igraca  kad se logira i to - ne vidim nigdje sto si poslao sve nema nigdje, znaci
kad se logira pod DIALOG_LOGIN stavi ovo
SetPlayerScore(playerid, PlayerInfo);

te stavi to i pod public OnPlayerSpawn da se moze prikazivat tacan skor i kad se ponovno spawnas, i daj mi public OnPlayerDeath da vidim kako ide za skor brojanje  i to - da provjerim ako nije ispisano kako treba da ti i to popravim.

EDIT. - Daj mi i DIALOG_REGISTER kod da vidim da li radi lijepo za registraciju accounta,ako ne radi kako treba / ako nije ispisano kako treba da ti i to popravim
 
Unkovic2405
5
Underboss
8. Avg. 2018.
youngdeal wrote on August 7, 2018, 11:59 pm:
nemoj nabijati bezveze postove,vec ako pomazes lijepo mu pomozi i napisi/objasni a ne ovako, sta znaci pozivanje ucitavanja na OnGameModeInit? nema smisla pozivanje ucitavanja igracevih podataka (playerid) na OnGameModeInit? (osim ako praviÅ¡ preko timera pa pozoves timer i u njemu for petlju za igrace i  to za igraca.. - a necemo dalje o tome jer nije vezano za pomoc sto je zatrazio on).

znaci ovako daj nam public OnPlayerConnect,te public OnPlayerDisconnect.  ( OnPlayerConnect - samo da provjerim radil dobro ucitavanje iako kazes da im se samo skor ne ucitava - al opet da provjerim, a OnPlayerDisconnect - da provjerim cuva li / poziva li funkciju za cuvanje igracevih podataka... )

Nek si mi zbog moje greske je*o majku mrtvu, e neka si. I jesam hteo OnPlayerConnect, al desava se jbg, hbala na ispravci. Postove ne nabjjam btw xD
TIMIC
4
Enforcer
8. Avg. 2018.
youngdeal wrote on August 8, 2018, 5:02 pm:
sta je ovo?

bezveze pozivanje defaultnog ID-a za cuvanje igraca svaki put ? - nema smisla i to ti nije potrebno u onplayerconnect kako sam skuzio kad se ucitaje server reseta mu varijable i tako spremi ? znaci svakom igracu koji je po default idu (0) ce snimit acc tako,pogrijesio si, makni to iz  public OnPlayerConnect  - mislim na ovo ispod u pawn kodu,takodjer ako jos gdje ima  tako isto makni
new id;
SavePlayer(id);

i koristi SavePlayer(playerid); - da sacuva od ID igraca pravog podatke (osim ako koristis u kojoj komandi param koji npr param id koji se odnosi na igraca onda koristi SavePlayer(id), a ne ovako bezveze ces mu sacuvat acc prije registracije), ali i ta ti funkcija nije potrebna u OnPlayerConnect - objasnio sam ti u zagradi zasto, te onda public OnPlayerDisconnect cijeli obrisi i moj kod postavi
public OnPlayerDisconnect(playerid, reason)
{
    new ime[ 24 ];
    GetPlayerName( playerid, ime, sizeof( ime ) );
    if(fexist( UserPath( playerid ) ) ) {
SavePlayer( playerid );
printf( "--> Igrac %s napustio server - podatci uspjesno sacuvani.", ime); }
else { printf( "--> Igrac %s napustio server - podatci mu nisu sacuvani jer se uopste nije registrovao / ne postoji fajl u folderu.", ime); }
return 1;
}

po tvom bi cuvalo svakom igracu kad udje na server i ako napusti iako se nije registrovao njemu ce spremiti acc u folder, a po mom sto sam ti napisao je da ako ima mu vec acc u folderu da ga opet spremi ( na najnovije podatke) , a ako nema nece nista uraditi samo ce ispisat ti u server_log-u da mu nisu podatci sacuvani.

a za score ja mislim da uopste nisi stavio tu funkciju mislim da postavlja score za igraca  kad se logira i to - ne vidim nigdje sto si poslao sve nema nigdje, znaci
kad se logira pod DIALOG_LOGIN stavi ovo
SetPlayerScore(playerid, PlayerInfo);

te stavi to i pod public OnPlayerSpawn da se moze prikazivat tacan skor i kad se ponovno spawnas, i daj mi public OnPlayerDeath da vidim kako ide za skor brojanje  i to - da provjerim ako nije ispisano kako treba da ti i to popravim.

EDIT. - Daj mi i DIALOG_REGISTER kod da vidim da li radi lijepo za registraciju accounta,ako ne radi kako treba / ako nije ispisano kako treba da ti i to popravim

Evo slike, DIALOG_REGISTER i OnPlayerDeath: https://imgur.com/a/OTWhy1f
Ako treba jos nesto napisi.
James_SmithXDl
6
OG Legend
8. Avg. 2018.
Unkovic wrote on August 8, 2018, 7:52 pm:
Nek si mi zbog moje greske je*o majku mrtvu, e neka si. I jesam hteo OnPlayerConnect, al desava se jbg, hbala na ispravci. Postove ne nabjjam btw xD
opusteno ispravio sam te bio samo haha i prije postanja pogledaj sta si tacno mislio pa napisi i postaj a ne  OnGameModeInit a htio OnPlayerConnect al desava se da da se pogrijesi al nemoj vise puta xD  al dobro bio sam ja tu pa ispravio sam te,ako ne nabijas postove sorry  xD

stock ResetVarijabli(playerid) { gLoggedCheck = 0; PlayerInfo = 0; PlayerInfo = 0;
PlayerInfo = 0; PlayerInfo = 0; PlayerInfo = 0; PlayerInfo = 45;
PlayerInfo = 0; PlayerInfo = 0; DoubleKill = 0; TripleKill = 0; return 1; }

public OnPlayerConnect(playerid)
{
ResetVarijabli(playerid);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(strfind(inputtext, "%", true) != -1 || strfind(inputtext, "#", true) != -1)
{
SCM(playerid, -1, ""SRWPLAVA"[I:DM]"BELA" U dialogu ne mozete koristiti procente i tarabe");
KickIgraca(playerid);
return 0;
}
if(dialogid == DIALOG_REGISTER)
{
if(!response) return KickIgraca(playerid);
if(response)
{
if(strlen(inputtext) < 6 || strlen(inputtext) > 15)
{
SPD(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registracija na Insanity DeathMatch", "Sifra mora ti bude duza od 6 slova ili manja od 15 slova!\nUkucaj sifru kako bi se registrovao:", "Dalje", "Izlaz" );
return 1;
}
  ResetVarijabli( playerid );
      gLoggedCheck = 1;
      PlayerInfo = udb_hash( inputtext );
  new INI:File = INI_Open( UserPath( playerid ) );
  INI_SetTag(File, "data" );
  INI_WriteInt(File, "Sifra", udb_hash( inputtext ) );
  INI_WriteInt(File, "Admin", PlayerInfo );
  INI_WriteInt(File, "Novac", PlayerInfo );
  INI_WriteInt(File, "Skor",  PlayerInfo );
  INI_WriteInt(File, "Ubistva", PlayerInfo );
  INI_WriteInt(File, "Smrti", PlayerInfo );
  INI_WriteInt(File, "Skin", PlayerInfo );
  INI_Close( File );
    }
    // za ovo dalje ispod gibanica varijablu ne vidim nista dalje da vidim sta je to ima li koja greska i to..
    return 1;
}
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != INVALID_PLAYER_ID)
{
SendDeathMessage( killerid, playerid, reason );
PlayerInfo++;
PlayerInfo++;
SetPlayerScore(killerid, PlayerInfo );
PlayerInfo = PlayerInfo + 1000;
ResetPlayerMoney(killerid); GivePlayerMoney(killerid, PlayerInfo );
PlayerInfo++; SavePlayer( killerid ); SavePlayer( playerid );
}
else
{
SendDeathMessage( INVALID_PLAYER_ID, playerid, reason );
        PlayerInfo++; SavePlayer ( playerid );
}
return 1;
}
i sljedeci put posalji link koda da vidim preko  www.pastebin.com lakse tako  i kopirat u pawno i ispravit nego preko slika citati kod..
Unkovic2405
5
Underboss
8. Avg. 2018.
youngdeal wrote on August 8, 2018, 8:39 pm:
opusteno ispravio sam te bio samo haha i prije postanja pogledaj sta si tacno mislio pa napisi i postaj a ne  OnGameModeInit a htio OnPlayerConnect al desava se da da se pogrijesi al nemoj vise puta xD  al dobro bio sam ja tu pa ispravio sam te,ako ne nabijas postove sorry  xD

stock ResetVarijabli(playerid) { gLoggedCheck = 0; PlayerInfo = 0; PlayerInfo = 0;
PlayerInfo = 0; PlayerInfo = 0; PlayerInfo = 0; PlayerInfo = 45;
PlayerInfo = 0; PlayerInfo = 0; DoubleKill = 0; TripleKill = 0; return 1; }

public OnPlayerConnect(playerid)
{
ResetVarijabli(playerid);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(strfind(inputtext, "%", true) != -1 || strfind(inputtext, "#", true) != -1)
{
SCM(playerid, -1, ""SRWPLAVA"[I:DM]"BELA" U dialogu ne mozete koristiti procente i tarabe");
KickIgraca(playerid);
return 0;
}
if(dialogid == DIALOG_REGISTER)
{
if(!response) return KickIgraca(playerid);
if(response)
{
if(strlen(inputtext) < 6 || strlen(inputtext) > 15)
{
SPD(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registracija na Insanity DeathMatch", "Sifra mora ti bude duza od 6 slova ili manja od 15 slova!\nUkucaj sifru kako bi se registrovao:", "Dalje", "Izlaz" );
return 1;
}
  ResetVarijabli( playerid );
      gLoggedCheck = 1;
      PlayerInfo = udb_hash( inputtext );
  new INI:File = INI_Open( UserPath( playerid ) );
  INI_SetTag(File, "data" );
  INI_WriteInt(File, "Sifra", udb_hash( inputtext ) );
  INI_WriteInt(File, "Admin", PlayerInfo );
  INI_WriteInt(File, "Novac", PlayerInfo );
  INI_WriteInt(File, "Skor",  PlayerInfo );
  INI_WriteInt(File, "Ubistva", PlayerInfo );
  INI_WriteInt(File, "Smrti", PlayerInfo );
  INI_WriteInt(File, "Skin", PlayerInfo );
  INI_Close( File );
    }
    // za ovo dalje ispod gibanica varijablu ne vidim nista dalje da vidim sta je to ima li koja greska i to..
    return 1;
}
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != INVALID_PLAYER_ID)
{
SendDeathMessage( killerid, playerid, reason );
PlayerInfo++;
PlayerInfo++;
SetPlayerScore(killerid, PlayerInfo );
PlayerInfo = PlayerInfo + 1000;
ResetPlayerMoney(killerid); GivePlayerMoney(killerid, PlayerInfo );
PlayerInfo++; SavePlayer( killerid ); SavePlayer( playerid );
}
else
{
SendDeathMessage( INVALID_PLAYER_ID, playerid, reason );
        PlayerInfo++; SavePlayer ( playerid );
}
return 1;
}
i sljedeci put posalji link koda da vidim preko  www.pastebin.com lakse tako  i kopirat u pawno i ispravit nego preko slika citati kod..


Nemoj samo stock

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha