Problem(error/warning): Ovako, imam problem oko prevelikog crash igraca na serveru, znaci ukuca sifru i pre nego sto ga spawna, crasha ga mora dva tri puta relog da uradi da ne bi crashao igraca. Izbacio sam mnostvo mapa sa prevelikim objekta to se i na hostanom ( live serveru) i na kucnom serveru (home serveru) desava. Bude oko 40 igraca i samo odjednom padnu igraci na 30 i nama u chatu pise da je crashalo tim igracima mi smo mislili da ovh ima dropove ali nije i na kucnom se isto desava
Deo skripte: nez
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): /
probaj stavi spawn na ono 0.0, 0.0, 0.0 pa vidi hoce li crash tu ili na neko drugo mesto, mozda je do mape spawna prob
Citat: __vedran.xyz77 poslato Maj 15, 2021, 12:17:11 POSLE PODNE
Pa daj response dialoga
[pawn]//------------------------------------------------------------------------------
fDialog(2)
{
//----------------------------------------------------------------------
if(!response) return Kick(playerid);
if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
{
new rand = random(sizeof(RandomSpawn2));
SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], RandomSpawn2[rand][0], RandomSpawn2[rand][1], RandomSpawn2[rand][2], 1.0, -1, -1, -1, -1, -1, -1);
SpawnPlayer(playerid); GivePlayerMoney(playerid, PlayerInfo[playerid][pNovacDzep]);
SetPlayerFightingStyle(playerid, PlayerInfo[playerid][pBorbeniStil]);
SetCameraBehindPlayer(playerid);
UlogovanProvera[playerid] = 1;
SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
for(new i = 0; i < 24; i ++) { // ovo
PlayerTextDrawHide( playerid, LoginTD[ playerid ][ i ] );
}
//----------------------------------------------------------------------
new string [128],iskustvo,novac,dzep,banka,kuca,kucanovac,firma,firmanovac,stan,stannovac,vikendica,vikendicanovac;
banka = PlayerInfo[playerid][pNovacBanka];
dzep = PlayerInfo[playerid][pNovacDzep];
if(PlayerInfo[playerid][pPosedovanjeKuce] != -1)
{
kuca = KucaInfo[PlayerInfo[playerid][pPosedovanjeKuce]][kCena];
kucanovac = KucaInfo[PlayerInfo[playerid][pPosedovanjeKuce]][kNovac];
}
else if(PlayerInfo[playerid][pPosedovanjeKuce] == -1)
{
kuca = 0;
kucanovac = 0;
}
if(PlayerInfo[playerid][pPosedovanjeFirme] != -1)
{
firma = FirmaInfo[PlayerInfo[playerid][pPosedovanjeFirme]][fCena];
firmanovac = FirmaInfo[PlayerInfo[playerid][pPosedovanjeFirme]][fKasa];
}
else if(PlayerInfo[playerid][pPosedovanjeFirme] == -1)
{
firma = 0;
firmanovac = 0;
}
if(PlayerInfo[playerid][pPosedovanjeStana] != -1)
{
stan = StanInfo[PlayerInfo[playerid][pPosedovanjeStana]][sCena];
stannovac = StanInfo[PlayerInfo[playerid][pPosedovanjeStana]][sNovac];
}
else if(PlayerInfo[playerid][pPosedovanjeStana] == -1)
{
stan = 0;
stannovac = 0;
}
if(PlayerInfo[playerid][pPosedovanjeVikendice] != -1)
{
vikendica = VikendiceInfo[PlayerInfo[playerid][pPosedovanjeVikendice]][viCena];
vikendicanovac = VikendiceInfo[PlayerInfo[playerid][pPosedovanjeVikendice]][viNovac];
}
else if(PlayerInfo[playerid][pPosedovanjeVikendice] == -1)
{
vikendica = 0;
vikendicanovac = 0;
}
//----------------------------------------------------------------------
novac = (banka + dzep + kuca + kucanovac + firma + firmanovac + stan + stannovac + vikendica + vikendicanovac);
if(PlayerInfo[playerid][pAdmin] >= 1)
{
format(string,sizeof(string),""esco_boja"[STAFF LOGIN] "BELA"Igrac "esco_boja"%s "BELA"je Administrator %d!", GetName(playerid),PlayerInfo[playerid][pAdmin]);
Adminp(-1, string);
} else if(novac > 1) {
format(string,sizeof(string),""esco_boja"[IMOVINA] "BELA"Igrac %s poseduje %d$!", GetName(playerid), novac);
Adminp(-1, string);
}
if(PlayerInfo[playerid][pGM] >= 1)
{
format(string,sizeof(string),""esco_boja"[STAFF LOGIN] "BELA"Igrac "esco_boja"%s "BELA"je Supporter %d!", GetName(playerid),PlayerInfo[playerid][pGM]);
AdminSupporter(-1, string);
}
iskustvo = (PlayerInfo[playerid][pLevel] * 2) + 2;
format(string,sizeof(string),""esco_boja"Dobrodosao "BELA"%s "esco_boja"na Novoj Kuci.",GetName(playerid));
SCM(playerid,-1,string);
format(string,sizeof(string),""esco_boja"[ACCOUNT INFO] "BELA"Level: %d | Respekti: %d/%d | Sati Igre: %d. | Novac: %d",PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pExp],iskustvo,PlayerInfo[playerid][pSatiIgre],novac);
SCM(playerid,-1,string);
//----------------------------------------------------------------------
KillTimer(Login_Timer[playerid]);
destroy_veh(playerid);
fix_stats();
//----------------------------------------------------------------------
if(PlayerInfo[playerid][pClan] >= 1) {
new buffer[128];
format(buffer, sizeof buffer, "* ONLINE: {FFFFFF}%s vase organizacije %s [%d] je usao na server.", PlayerInfo[playerid][pLider] >= 1 ? "Lider" : "Clan", GetName(playerid), playerid);
OrgPoruka( PlayerInfo[ playerid ][ pClan ], NS_CRVENA, buffer );
}
}
else
{
LoginPokusaji[playerid] += 1;
new buffer[200];
GetPlayerName(playerid, buffer, MAX_PLAYER_NAME + 1);
format(buffer,sizeof buffer,"{FFFFFF}Dobro dosao '{018A8D}%s{FFFFFF}' na {018A8D}Nova Kuca{FFFFFF} server.\n\nPoslednji put ste vidjeni '{018A8D}%s{FFFFFF}'\nUpisite vasu lozinku, imate 2 minuta i %d/4 pokusaja:", buffer, PlayerInfo[playerid][pLastSeen], LoginPokusaji[playerid]);
ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Login",buffer,"Login","Izlaz");
if(LoginPokusaji[playerid] >= 4) {
Kick(playerid);
}
}
return 1;
}
//--------------------------------------------------------------------------------
destroy_veh(playerid) {
if(PlayerInfo[playerid][pPosedovanjeAuta] != -1)
{
DestroyVehicle(VoziloInfo[PlayerInfo[playerid][pPosedovanjeAuta]][vID]);
}
if(PlayerInfo[playerid][pPosedovanjeAuta2] != -1)
{
DestroyVehicle(VoziloInfo[PlayerInfo[playerid][pPosedovanjeAuta2]][vID]);
}
if(PlayerInfo[playerid][pPosedovanjeMotora] != -1)
{
DestroyVehicle(MotorInfo[PlayerInfo[playerid][pPosedovanjeMotora]][mID]);
}
if(PlayerInfo[playerid][pPosedovanjeAviona] != -1)
{
DestroyVehicle(AvionInfo[PlayerInfo[playerid][pPosedovanjeAviona]][avID]);
}
if(PlayerInfo[playerid][pPosedovanjePlovila] != -1)
{
DestroyVehicle(PlovilaInfo[PlayerInfo[playerid][pPosedovanjePlovila]][plID]);
}
new szPlayer[MAX_PLAYER_NAME];
GetPlayerName(playerid, szPlayer, MAX_PLAYER_NAME);
new szQuery[256];
if(PlayerInfo[playerid][pPosedovanjeAuta] != -1 || PlayerInfo[playerid][pPosedovanjeAuta2] != -1)
{
mysql_format(SQL, szQuery, charsmax(szQuery), "SELECT * FROM `vehicles` WHERE `id`='%i' OR `id`='%i'", PlayerInfo[playerid][pPosedovanjeAuta], PlayerInfo[playerid][pPosedovanjeAuta2]);
mysql_tquery(SQL, szQuery, "sql_OnLoadVehicleDataMine", "i", playerid);
}
if(PlayerInfo[playerid][pPosedovanjeMotora] != -1)
{
mysql_format(SQL, szQuery, charsmax(szQuery), "SELECT * FROM `motorcycles` WHERE `id`='%i'", PlayerInfo[playerid][pPosedovanjeMotora]);
mysql_tquery(SQL, szQuery, "sql_OnLoadMotorcyclesDataMine", "i", playerid);
}
if(PlayerInfo[playerid][pPosedovanjeAviona] != -1)
{
format(szQuery, charsmax(szQuery), "SELECT * FROM `airplanes` WHERE `id`='%i'", PlayerInfo[playerid][pPosedovanjeAviona]);
mysql_tquery(SQL, szQuery, "sql_OnLoadAirplaneDataMine", "i", playerid);
}
if(PlayerInfo[playerid][pPosedovanjePlovila] != -1)
{
format(szQuery, charsmax(szQuery), "SELECT * FROM `boats` WHERE `id`='%i'", PlayerInfo[playerid][pPosedovanjePlovila]);
mysql_tquery(SQL, szQuery, "sql_OnLoadBoatDataMine", "i", playerid);
}
}[/pawn]
BTW ako ne razumijes sta je crash log to ti je onaj prozor koji ti izbaci kada ti crasha igrica i na njemu imas log