Bug oko gasenja pozara


Započeo Agent 47, Maj 25, 2021, 17:27:27 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Uzeo sam Ideal Gaming mod i kad dodjem da gasim pozar stoji mi label pozar: 100/100 i nikako da spada a kad se previse pribliziv upozorava da se udaljim.
Deo skripte://
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //




CB: Kreiraj_Pozar()
{
	if(PozarInfo[P_Pokrenut] == true) return false;
	new RAND_ID = random(sizeof(RandomPozarLokacije)), string[140];
	PozarInfo[P_Pokrenut] = true;
	PozarInfo[P_PosX] = RandomPozarLokacije[RAND_ID][0];
	PozarInfo[P_PosY] = RandomPozarLokacije[RAND_ID][1];
	PozarInfo[P_PosZ] = RandomPozarLokacije[RAND_ID][2];
	PozarInfo[P_Jacina] = 100;
	PozarInfo[P_PlamenObjekat] = CreateDynamicObject(18691, PozarInfo[P_PosX], PozarInfo[P_PosY], PozarInfo[P_PosZ], 0.0, 0.0, 0.0, -1, -1, -1, 200.0);
	PozarInfo[P_DimObjekat] = CreateDynamicObject(18727, PozarInfo[P_PosX], PozarInfo[P_PosY], PozarInfo[P_PosZ], 0.0, 0.0, 0.0, -1, -1, -1, 195.0);
	format(string, sizeof(string), ""PLJACKA_COL"[ POZAR | %d / 100 ]", PozarInfo[P_Jacina]);
	PozarInfo[P_Label] = CreateDynamic3DTextLabel(string, -1, PozarInfo[P_PosX], PozarInfo[P_PosY], PozarInfo[P_PosZ], 20.0, IPI, IVI, 0, -1, -1, -1, 20.0);
	if(RAND_ID == 0)
	{
		SCMTA(-1, ""PLJACKA_COL"[LS - NEWS]: "BIJELA"Pozar u blizini 'LS opstine', molimo gradjane da se ne priblizavaju mjestu pozara.");
		foreach(new i : Player)
		{
			if(PlayerInfo[i][pPosao] == POSAO_VATROGASAC && Ulogovan[i] == 1) SCM(i, -1, ""PD_PLAVA"[Centrala]: "BIJELA"Obavjestenje za sve vatrogasce! Pozar u blizini 'LS opstine', pozurite da ga ugasite (imate 5 min).");
		}
	}
	else if(RAND_ID == 1)
	{
		SCMTA(-1, ""PLJACKA_COL"[LS - NEWS]: "BIJELA"Pozar u blizini 'Glen parka', molimo gradjane da se ne priblizavaju mjestu pozara.");
		foreach(new i : Player)
		{
			if(PlayerInfo[i][pPosao] == POSAO_VATROGASAC && Ulogovan[i] == 1) SCM(i, -1, ""PD_PLAVA"[Centrala]: "BIJELA"Obavjestenje za sve vatrogasce! Pozar u blizini 'Glen parka', pozurite da ga ugasite (imate 5 min).");
		}
	}
	else if(RAND_ID == 2)
	{
		SCMTA(-1, ""PLJACKA_COL"[LS - NEWS]: "BIJELA"Pozar u blizini 'Credit banke', molimo gradjane da se ne priblizavaju mjestu pozara.");
		foreach(new i : Player)
		{
			if(PlayerInfo[i][pPosao] == POSAO_VATROGASAC && Ulogovan[i] == 1) SCM(i, -1, ""PD_PLAVA"[Centrala]: "BIJELA"Obavjestenje za sve vatrogasce! Pozar u blizini 'Credit banke', pozurite da ga ugasite (imate 5 min).");
		}
	}
	else if(RAND_ID == 3)
	{
		SCMTA(-1, ""PLJACKA_COL"[LS - NEWS]: "BIJELA"Pozar u mjestu 'Vinewood', molimo gradjane da se ne priblizavaju mjestu pozara.");
		foreach(new i : Player)
		{
			if(PlayerInfo[i][pPosao] == POSAO_VATROGASAC && Ulogovan[i] == 1) SCM(i, -1, ""PD_PLAVA"[Centrala]: "BIJELA"Obavjestenje za sve vatrogasce! Pozar u mjestu 'Vinewood', pozurite da ga ugasite (imate 5 min).");
		}
	}
	else if(RAND_ID == 4)
	{
		SCMTA(-1, ""PLJACKA_COL"[LS - NEWS]: "BIJELA"Pozar u blizini 'Burga', molimo gradjane da se ne priblizavaju mjestu pozara.");
		foreach(new i : Player)
		{
			if(PlayerInfo[i][pPosao] == POSAO_VATROGASAC && Ulogovan[i] == 1) SCM(i, -1, ""PD_PLAVA"[Centrala]: "BIJELA"Obavjestenje za sve vatrogasce! Pozar u blizini 'Burga', pozurite da ga ugasite (imate 5 min).");
		}
	}
	else if(RAND_ID == 5)
	{
		SCMTA(-1, ""PLJACKA_COL"[LS - NEWS]: "BIJELA"Pozar u blizini 'Grotti salona', molimo gradjane da se ne priblizavaju mjestu pozara.");
		foreach(new i : Player)
		{
			if(PlayerInfo[i][pPosao] == POSAO_VATROGASAC && Ulogovan[i] == 1) SCM(i, -1, ""PD_PLAVA"[Centrala]: "BIJELA"Obavjestenje za sve vatrogasce! Pozar u blizini 'Grotti salona', pozurite da ga ugasite (imate 5 min).");
		}
	}
	PozarInfo[P_Timer] = SetTimer("Unisti_Pozar_Timer", 300000, false);
	return 1;
}






CB: Gasenje_Pozara(playerid)
{
	if(playerid != IPI && Ulogovan[playerid] == 1)
	{
		if(PlayerInfo[playerid][pPosao] == POSAO_VATROGASAC && Posao_Oprema[playerid] == 1 && PozarInfo[P_Pokrenut] == true && PozarInfo[P_Gasenje] == true)
		{
			if(IsPlayerInRangeOfPoint(playerid, 9.0, PozarInfo[P_PosX], PozarInfo[P_PosY], PozarInfo[P_PosZ]) && IgracGasiPozar(playerid))
			{
				PozarInfo[P_Jacina] -= 10;
				new string[50];
				format(string, sizeof(string), ""PLJACKA_COL"[ POZAR | %d / 100 ]", PozarInfo[P_Jacina]);
				UpdateDynamic3DTextLabelText(PozarInfo[P_Label], -1, string);
				if(PozarInfo[P_Jacina] <= 0)
				{
					UgasiPozar(false);
					KillTimer(Pozar_Timer[playerid]), PozarInfo[P_Gasenje] = false;
					new plata = 0;
					if(ServerInfo[sHappyJob] == 14) plata = (random(100)+PLATA_VATROGASAC) * 2;
					else if(ServerInfo[sHappyJob] != 14) plata = random(100)+PLATA_VATROGASAC;
					F_SCMF(playerid, -1, ""HZELENA"[Plata]:  "BIJELA"Uspesno ste ugasili pozar i dodato Vam je na platu %s$", KonvertBroj(plata));
                    //if(ServerInfo[sHappyJob] == 14) SCM(playerid, -1, ""HZELENA"[Dupla Plata]:  "BIJELA"Buduci da je na serveru ukljucena opcija 'Happy Job' za ovaj posao, dobili ste duplu platu!");
					PlayerInfo[playerid][pPlata] += plata;
					Update_Banka(playerid); SacuvajKorisnike(playerid);
					SCMTA(-1, ""PLJACKA_COL"[LS - NEWS]: "BIJELA"Pozar je uspjesno ugasen i saniran od strane vatrogsaca, te je prilaz ponovo dostupan!");
				}
			}
			else
			{
				KillTimer(Pozar_Timer[playerid]), PozarInfo[P_Gasenje] = false;
				SCM(playerid, -1, ""SVIJETLOSIVA"[Posao]: "BIJELA"Gasenje pozara prekinuto!");
			}
		}
		else
		{
			KillTimer(Pozar_Timer[playerid]), PozarInfo[P_Gasenje] = false;
			SCM(playerid, -1, ""SVIJETLOSIVA"[Posao]: "BIJELA"Gasenje pozara prekinuto!");
		}
	}
	else
	{
		KillTimer(Pozar_Timer[playerid]);
		PozarInfo[P_Gasenje] = false;
	}
	return 1;
}
Poslednja Izmena: Maj 30, 2021, 04:19:45 PRE PODNE od M Ө M Σ N Z I
Es ist nicht alles Gold, was glänzt

printaj posle svake provere vidi gde koci

Citat: PazzOnee poslato Maj 25, 2021, 17:28:40 POSLE PODNE
printaj posle svake provere vidi gde koci

Ne razumem te  :'(
Es ist nicht alles Gold, was glänzt

CB: Gasenje_Pozara(playerid)
{
	if(playerid != IPI && Ulogovan[playerid] == 1)
	{
		print("11");
		if(PlayerInfo[playerid][pPosao] == POSAO_VATROGASAC && Posao_Oprema[playerid] == 1 && PozarInfo[P_Pokrenut] == true && PozarInfo[P_Gasenje] == true)
		{
			print("22");
			if(IsPlayerInRangeOfPoint(playerid, 9.0, PozarInfo[P_PosX], PozarInfo[P_PosY], PozarInfo[P_PosZ]) && IgracGasiPozar(playerid))
			{
				print("33");
				PozarInfo[P_Jacina] -= 10;
				new string[50];
				format(string, sizeof(string), ""PLJACKA_COL"[ POZAR | %d / 100 ]", PozarInfo[P_Jacina]);
				UpdateDynamic3DTextLabelText(PozarInfo[P_Label], -1, string);
				if(PozarInfo[P_Jacina] <= 0)
				{
					print("44");
					UgasiPozar(false);
					KillTimer(Pozar_Timer[playerid]), PozarInfo[P_Gasenje] = false;
					new plata = 0;
					if(ServerInfo[sHappyJob] == 14) plata = (random(100)+PLATA_VATROGASAC) * 2;
					else if(ServerInfo[sHappyJob] != 14) plata = random(100)+PLATA_VATROGASAC;
					F_SCMF(playerid, -1, ""HZELENA"[Plata]:  "BIJELA"Uspesno ste ugasili pozar i dodato Vam je na platu %s$", KonvertBroj(plata));
                    //if(ServerInfo[sHappyJob] == 14) SCM(playerid, -1, ""HZELENA"[Dupla Plata]:  "BIJELA"Buduci da je na serveru ukljucena opcija `Happy Job` za ovaj posao, dobili ste duplu platu!");
					PlayerInfo[playerid][pPlata] += plata;
					Update_Banka(playerid); SacuvajKorisnike(playerid);
					SCMTA(-1, ""PLJACKA_COL"[LS - NEWS]: "BIJELA"Pozar je uspjesno ugasen i saniran od strane vatrogsaca, te je prilaz ponovo dostupan!");
				}
			}
			else
			{
				print("55");
				KillTimer(Pozar_Timer[playerid]), PozarInfo[P_Gasenje] = false;
				SCM(playerid, -1, ""SVIJETLOSIVA"[Posao]: "BIJELA"Gasenje pozara prekinuto!");
			}
		}
		else
		{
			print("66");
			KillTimer(Pozar_Timer[playerid]), PozarInfo[P_Gasenje] = false;
			SCM(playerid, -1, ""SVIJETLOSIVA"[Posao]: "BIJELA"Gasenje pozara prekinuto!");
		}
	}
	else
	{
		print("77");
		KillTimer(Pozar_Timer[playerid]);
		PozarInfo[P_Gasenje] = false;
	}
	return 1;
}

Vidi posle u konzolu/server.log sta ti je ispisalo

Citat: PazzOnee poslato Maj 25, 2021, 17:35:10 POSLE PODNE
CB: Gasenje_Pozara(playerid)
{
	if(playerid != IPI && Ulogovan[playerid] == 1)
	{
		print("11");
		if(PlayerInfo[playerid][pPosao] == POSAO_VATROGASAC && Posao_Oprema[playerid] == 1 && PozarInfo[P_Pokrenut] == true && PozarInfo[P_Gasenje] == true)
		{
			print("22");
			if(IsPlayerInRangeOfPoint(playerid, 9.0, PozarInfo[P_PosX], PozarInfo[P_PosY], PozarInfo[P_PosZ]) && IgracGasiPozar(playerid))
			{
				print("33");
				PozarInfo[P_Jacina] -= 10;
				new string[50];
				format(string, sizeof(string), ""PLJACKA_COL"[ POZAR | %d / 100 ]", PozarInfo[P_Jacina]);
				UpdateDynamic3DTextLabelText(PozarInfo[P_Label], -1, string);
				if(PozarInfo[P_Jacina] <= 0)
				{
					print("44");
					UgasiPozar(false);
					KillTimer(Pozar_Timer[playerid]), PozarInfo[P_Gasenje] = false;
					new plata = 0;
					if(ServerInfo[sHappyJob] == 14) plata = (random(100)+PLATA_VATROGASAC) * 2;
					else if(ServerInfo[sHappyJob] != 14) plata = random(100)+PLATA_VATROGASAC;
					F_SCMF(playerid, -1, ""HZELENA"[Plata]:  "BIJELA"Uspesno ste ugasili pozar i dodato Vam je na platu %s$", KonvertBroj(plata));
                    //if(ServerInfo[sHappyJob] == 14) SCM(playerid, -1, ""HZELENA"[Dupla Plata]:  "BIJELA"Buduci da je na serveru ukljucena opcija `Happy Job` za ovaj posao, dobili ste duplu platu!");
					PlayerInfo[playerid][pPlata] += plata;
					Update_Banka(playerid); SacuvajKorisnike(playerid);
					SCMTA(-1, ""PLJACKA_COL"[LS - NEWS]: "BIJELA"Pozar je uspjesno ugasen i saniran od strane vatrogsaca, te je prilaz ponovo dostupan!");
				}
			}
			else
			{
				print("55");
				KillTimer(Pozar_Timer[playerid]), PozarInfo[P_Gasenje] = false;
				SCM(playerid, -1, ""SVIJETLOSIVA"[Posao]: "BIJELA"Gasenje pozara prekinuto!");
			}
		}
		else
		{
			print("66");
			KillTimer(Pozar_Timer[playerid]), PozarInfo[P_Gasenje] = false;
			SCM(playerid, -1, ""SVIJETLOSIVA"[Posao]: "BIJELA"Gasenje pozara prekinuto!");
		}
	}
	else
	{
		print("77");
		KillTimer(Pozar_Timer[playerid]);
		PozarInfo[P_Gasenje] = false;
	}
	return 1;
}

Vidi posle u konzolu/server.log sta ti je ispisalo

najnormalnije kao i do sad, nije nista..
Es ist nicht alles Gold, was glänzt

Stavi bre taj kod sto sam ti poslao za gasenje pozara, compile, i idi gasi pozar i vidi sta ti izbacuje u konzolu

Citat: PazzOnee poslato Maj 25, 2021, 17:39:20 POSLE PODNE
Stavi bre taj kod sto sam ti poslao za gasenje pozara, compile, i idi gasi pozar i vidi sta ti izbacuje u konzolu

covece ne izbacuje nista
Es ist nicht alles Gold, was glänzt

Gde i kada pozivas taj callback, daj kod

Citat: PazzOnee poslato Maj 25, 2021, 22:33:48 POSLE PODNE
Gde i kada pozivas taj callback, daj kod

Ne znam gde da nadjem to, da nije ovde nesto sjebano

if(HOLDING(KEY_FIRE))
	{
		if(PlayerInfo[playerid][pPosao] == POSAO_VATROGASAC && Posao_Oprema[playerid] == 1 && PozarInfo[P_Pokrenut] == true)
		{
			if((GetPlayerDistanceFromPoint(playerid, PozarInfo[P_PosX], PozarInfo[P_PosY], PozarInfo[P_PosZ]) <= 3.5) && IgracGasiPozar(playerid))
			{
				if(PozarInfo[P_Gasenje] == true) return Greska(playerid, "Neko vec gasi pozar!");
				PozarInfo[P_Gasenje] = true;
				Pozar_Timer[playerid] = SetTimerEx("Gasenje_Pozara", 1000, true, "d", playerid);
				SCM(playerid, -1, ""POSAOBOJA"[Info]: "BIJELA"Krenuli ste sa gasenjem pozara, nemojte se mrdati i drzite aparat u rukama.");
			}
		}
	}
Es ist nicht alles Gold, was glänzt

print("ps1");
if(HOLDING(KEY_FIRE))
{
	print("ps2");
	if(PlayerInfo[playerid][pPosao] == POSAO_VATROGASAC && Posao_Oprema[playerid] == 1 && PozarInfo[P_Pokrenut] == true)
	{
		print("ps3");
		if((GetPlayerDistanceFromPoint(playerid, PozarInfo[P_PosX], PozarInfo[P_PosY], PozarInfo[P_PosZ]) <= 3.5) && IgracGasiPozar(playerid))
		{
			print("ps4");
			if(PozarInfo[P_Gasenje] == true) return Greska(playerid, "Neko vec gasi pozar!");
			print("ps5");
			PozarInfo[P_Gasenje] = true;
			Pozar_Timer[playerid] = SetTimerEx("Gasenje_Pozara", 1000, true, "d", playerid);
			SCM(playerid, -1, ""POSAOBOJA"[Info]: "BIJELA"Krenuli ste sa gasenjem pozara, nemojte se mrdati i drzite aparat u rukama.");
		}
	}
}

replace, compile i idi prskaj, btw nemoj da klikces nista na tastaturi, misu dok prskas

Citat: PazzOnee poslato Maj 25, 2021, 23:01:21 POSLE PODNE
print("ps1");
if(HOLDING(KEY_FIRE))
{
	print("ps2");
	if(PlayerInfo[playerid][pPosao] == POSAO_VATROGASAC && Posao_Oprema[playerid] == 1 && PozarInfo[P_Pokrenut] == true)
	{
		print("ps3");
		if((GetPlayerDistanceFromPoint(playerid, PozarInfo[P_PosX], PozarInfo[P_PosY], PozarInfo[P_PosZ]) <= 3.5) && IgracGasiPozar(playerid))
		{
			print("ps4");
			if(PozarInfo[P_Gasenje] == true) return Greska(playerid, "Neko vec gasi pozar!");
			print("ps5");
			PozarInfo[P_Gasenje] = true;
			Pozar_Timer[playerid] = SetTimerEx("Gasenje_Pozara", 1000, true, "d", playerid);
			SCM(playerid, -1, ""POSAOBOJA"[Info]: "BIJELA"Krenuli ste sa gasenjem pozara, nemojte se mrdati i drzite aparat u rukama.");
		}
	}
}

replace, compile i idi prskaj, btw nemoj da klikces nista na tastaturi, misu dok prskas

Uradio sam sve kao sto si rekao i samo ovo ispisuje  u konzoli a pozar se ne mrda sa 100/100 http://prntscr.com/13fz8gw
Es ist nicht alles Gold, was glänzt


Citat: PazzOnee poslato Maj 26, 2021, 16:58:43 POSLE PODNE
Daj mi macro za taj HOLDING

Ne razumem te sta tacno trazis ali evo ti ovo
#define HOLDING(%0) 					((newkeys & (%0)) == (%0))


Es ist nicht alles Gold, was glänzt

Okej je, probaj da stavis proveru za drzanje levog klika na vrh OnPlayerKeyStateChange, nju nesto blokira

Citat: PazzOnee poslato Maj 26, 2021, 17:30:13 POSLE PODNE
Okej je, probaj da stavis proveru za drzanje levog klika na vrh OnPlayerKeyStateChange, nju nesto blokira

Ne znam da uradim to xd
Es ist nicht alles Gold, was glänzt