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): //
Oko restarta servera.
2,051
pregleda
26
postova
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;
}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
I skloni stock, istavi samo SavePlayer { kod }, razumes, nepotrebno ti je stock. I posalji to na ongamemodeinit
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
I skloni stock, istavi samo SavePlayer { kod }, razumes, nepotrebno ti je stock. I posalji to na ongamemodeinit
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... )
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... )
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... )
Ako treba pawn code ili nesto drugo, samo kazite.
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.
Ako treba pawn code ili nesto drugo, samo kazite.

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
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... )
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
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
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
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
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

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.
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
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..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