Pomoc oko crash-a


Započeo Skorpija_026, Maj 14, 2021, 20:53:55 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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):  /
Poslednja Izmena: Maj 18, 2021, 01:24:59 PRE PODNE od M Ө M Σ N Z I
Vandals Project OGC
[size=11.25pt]Vandals Project OGC[/size][/font]
[/color]

Galardo

*

mgWhosyGD

Ubaci crashdetect i vidi sta se desava, ovako samo mozes nagadjati...

crashdetect, koristi JIT, optimizacija i mnogo toga jos

Citat: Galardo poslato Maj 14, 2021, 21:23:26 POSLE PODNEimam vec nista se ne desava
Citat: Dejan (dekszy) poslato Maj 14, 2021, 21:24:13 POSLE PODNE
crashdetect, koristi JIT, optimizacija i mnogo toga jos
jit sam koristio ali sam izbacio jer sam mislio da ne sluzi za nista crashdetect nista ne izbaca odradio sam optimizaciju pre nego sto crashalo, oko optimizacije sam radio oko 1 mesec
Ubaci crashdetect i vidi sta se desava, ovako samo mozes nagadjati...
Vandals Project OGC
[size=11.25pt]Vandals Project OGC[/size][/font]
[/color]

Citat: Skorpija_026 poslato Maj 14, 2021, 22:06:45 POSLE PODNE
jit sam koristio ali sam izbacio jer sam mislio da ne sluzi za nista crashdetect nista ne izbaca odradio sam optimizaciju pre nego sto crashalo, oko optimizacije sam radio oko 1 mesec
Ubaci crashdetect i vidi sta se desava, ovako samo mozes nagadjati...
Je l ti crashuje samo kad se loginujes ili?

Citat: Dejan (dekszy) poslato Maj 14, 2021, 23:41:28 POSLE PODNE
Je l ti crashuje samo kad se loginujes ili?
kada ukuca sifru i cim skloni dialog i odmah crasha
Vandals Project OGC
[size=11.25pt]Vandals Project OGC[/size][/font]
[/color]


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: Dejan (dekszy) poslato Maj 15, 2021, 01:26:39 PRE PODNE
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
spawnavam se u kuci u san fierro
Vandals Project OGC
[size=11.25pt]Vandals Project OGC[/size][/font]
[/color]


Citat: __vedran.xyz77 poslato Maj 15, 2021, 12:17:11 POSLE PODNE
Pa daj response dialoga
//------------------------------------------------------------------------------
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);
	}
}
Vandals Project OGC
[size=11.25pt]Vandals Project OGC[/size][/font]
[/color]


Daj bre jel moramo za svaki detalj da te cedimo ko pomorandzu?
Kad crash, sacuvaj crash log. Opisi tacno sta su igraci radili u tom trenutku, gde se to desava. Vidi da maknes mape full, da nema nijedne pa proveri na kucnom da li ce crash nastaviti. Ako imas tuning vozila na serveru, vidi da nije neko sranje sa time.
Ali najbitnije ti je crash log posto bi on mogao (nemora da znaci da hoce) da ti kaze sta se desava, sta je poslednje odradjeno nakon cega je crash.

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

Citat: __vedran.xyz77 poslato Maj 16, 2021, 13:55:44 POSLE PODNE
Sta je fix_stats
fix_stats() {
	foreach(new i : Player) {
		if(PlayerInfo[i][pTD] == 0){
    		new string[80],
	    		year, month, day, hours, minutes, seconds;

			getdate(year, month, day), gettime(hours, minutes, seconds);

		    format(string, sizeof string, "%d/%s%d/%s%d", day, ((month < 10) ? ("0") : ("")), month, (year < 10) ? ("0") : (""), year);
		    PlayerTextDrawSetString(i, interface[i][25],string);

		    format(string, sizeof string, "%s%d:%s%d", (hours < 12) ? ("0") : (""), hours, (minutes < 12) ? ("0") : (""), minutes, (seconds < 12) ? ("0") : (""), seconds);
		    PlayerTextDrawSetString(i, interface[i][24],string);

			format(string, sizeof(string), "ONLINE:_%d", Iter_Count(Player));
			PlayerTextDrawSetString(i, interface[i][21], string);

			//-> PREBACITI U PAYDAY

			new strall[20], stanje = PlayerInfo[i][pNovacBanka];
			format(strall, sizeof(strall), "~w~$%s", PlayerInfo[i][pBankovniRacun] == 1 ? FormatMoney(stanje) : "~r~nemas_racun");
			PlayerTextDrawSetString(i,interface[i][32], strall);

		    format(strall, sizeof(strall), "~w~%dG",PlayerInfo[i][pZlato]);
			PlayerTextDrawSetString(i,interface[i][33], strall);
		}
		else if(PlayerInfo[i][pTD] == 1){
    		new string[80],
	    		year, month, day, hours, minutes, seconds;

			getdate(year, month, day), gettime(hours, minutes, seconds);

		    format(string, sizeof string, "%s%d:%s%d~n~%d/%s%d/%s%d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (seconds < 10) ? ("0") : (""), seconds,day, ((month < 10) ? ("0") : ("")), month, (year < 10) ? ("0") : (""), year);
		    PlayerTextDrawSetString(i, simple[i][7],string);

			//-> PREBACITI U PAYDAY

			new strall[20], stanje = PlayerInfo[i][pNovacBanka];
			format(strall, sizeof(strall), "~w~%s~b~$~n~~w~%d~y~G~n~~w~", PlayerInfo[i][pBankovniRacun] == 1 ? FormatMoney(stanje) : "~r~nemas_racun", PlayerInfo[i][pZlato]);
			PlayerTextDrawSetString(i,simple[i][6], strall);

			format(strall, sizeof(strall), "%s", UlicaKuce(i));
			PlayerTextDrawSetString(i,simple[i][51], strall);
		}
		else if(PlayerInfo[i][pTD] == 2){
    		new string[80],
	    		year, month, day, hours, minutes, seconds;

			getdate(year, month, day), gettime(hours, minutes, seconds);

		    format(string, sizeof string, "%02d/%02d/%d", day, ((month < 10) ? ("0") : ("")), month, (year < 10) ? ("0") : (""), year);
		    PlayerTextDrawSetString(i, edition[i][9],string);

		    format(string, sizeof string, "%02d:%02d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (seconds < 10) ? ("0") : (""), seconds);
		    PlayerTextDrawSetString(i, edition[i][8],string);

			//-> PREBACITI U PAYDAY

			new strall[20], stanje = PlayerInfo[i][pNovacBanka];
			format(strall, sizeof(strall), "~w~%s", PlayerInfo[i][pBankovniRacun] == 1 ? FormatMoney(stanje) : "~r~nemas_racun");
			PlayerTextDrawSetString(i,edition[i][22], strall);

		    format(strall, sizeof(strall), "~w~%d",PlayerInfo[i][pZlato]);
			PlayerTextDrawSetString(i,edition[i][23], strall);
		}
		else if(PlayerInfo[i][pTD] == 3){
			new string[80],
	    		year, month, day, hours, minutes, seconds;

		    getdate(year, month, day), gettime(hours, minutes, seconds);

		    format(string, sizeof string, "%d/%s%d/%s%d", day, ((month < 10) ? ("0") : ("")), month, (year < 10) ? ("0") : (""), year);
		    PlayerTextDrawSetString(i, elastic[i][23],string);

		    format(string, sizeof string, "%s%d:%s%d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (seconds < 10) ? ("0") : (""), seconds);
		    PlayerTextDrawSetString(i, elastic[i][24],string);

			format(string, sizeof(string), "ONLINE:_%d", Iter_Count(Player));
			PlayerTextDrawSetString(i, elastic[i][21], string);

			format(string, sizeof(string), "%d/%d_EXP", PlayerInfo[i][pExp], (PlayerInfo[i][pLevel] * 2) + 2);
			PlayerTextDrawSetString(i, elastic[i][8], string);

			new strall[20], stanje = PlayerInfo[i][pNovacBanka];
			format(strall, sizeof(strall), "~w~$%s", PlayerInfo[i][pBankovniRacun] == 1 ? FormatMoney(stanje) : "~r~nemas_racun");
			PlayerTextDrawSetString(i,elastic[i][53], strall);

		    format(strall, sizeof(strall), "~w~%sG", FormatMoney(PlayerInfo[i][pZlato]));
			PlayerTextDrawSetString(i,elastic[i][54], strall);
		}
	}
	return 1;
}

Citat: Deleted User poslato Maj 16, 2021, 14:44:54 POSLE PODNE
Daj bre jel moramo za svaki detalj da te cedimo ko pomorandzu?
Kad crash, sacuvaj crash log. Opisi tacno sta su igraci radili u tom trenutku, gde se to desava. Vidi da maknes mape full, da nema nijedne pa proveri na kucnom da li ce crash nastaviti. Ako imas tuning vozila na serveru, vidi da nije neko sranje sa time.
Ali najbitnije ti je crash log posto bi on mogao (nemora da znaci da hoce) da ti kaze sta se desava, sta je poslednje odradjeno nakon cega je crash.
Warning(s002): Exception 0xC0000005 at 0x4D46AE kada crasha ovo izbaci svakom igracu

Citat: __vedran.xyz77 poslato Maj 16, 2021, 15:12:29 POSLE PODNE
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
Warning(s002): Exception 0xC0000005 at 0x4D46AE samp
Vandals Project OGC
[size=11.25pt]Vandals Project OGC[/size][/font]
[/color]