Vatrogasni System


Započeo Shomyy, Oktobar 08, 2017, 14:22:00 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: Od 0 radim
Detaljan opis problema: Hocu da kada vatrogasac sa weapon id 42 gasi pozar ( objekat 18688 ) da se unisti taj objekat
Dio skripte:
if(hittype == BULLET_HIT_TYPE_OBJECT)
    {
        if(IsValidObject(hitid))
        {
            if(weaponid == 42)
            {
				if(hitid == VatraObject[0])
				{
				    VatraObject[0] -= 1;
				    if(VatraObject[0] == 0)
				    {
				        DestroyObject(VatraObject[0]);
				        SendJobMessage(playerid, "Ugasili ste pozar i dobili platu 100$");
						PlayerInfo[playerid][xPlatniRacun] += 100;
						UpdatePlataTD(playerid);
					}
				}
				else if(hitid == VatraObject[1])
				{
				    VatraObject[1] -= 1;
				    if(VatraObject[1] == 0)
				    {
				        DestroyObject(VatraObject[1]);
				        SendJobMessage(playerid, "Ugasili ste pozar i dobili platu 100$");
						PlayerInfo[playerid][xPlatniRacun] += 100;
						UpdatePlataTD(playerid);
					}
				}
				else if(hitid == VatraObject[2])
				{
				    VatraObject[2] -= 1;
				    if(VatraObject[2] == 0)
				    {
				        DestroyObject(VatraObject[2]);
				        SendJobMessage(playerid, "Ugasili ste pozar i dobili platu 100$");
						PlayerInfo[playerid][xPlatniRacun] += 100;
						UpdatePlataTD(playerid);
					}
				}
				else if(hitid == VatraObject[3])
				{
				    VatraObject[3] -= 1;
				    if(VatraObject[3] == 0)
				    {
				        DestroyObject(VatraObject[3]);
				        SendJobMessage(playerid, "Ugasili ste pozar i dobili platu 100$");
						PlayerInfo[playerid][xPlatniRacun] += 100;
						UpdatePlataTD(playerid);
					}
				}
				else if(hitid == VatraObject[4])
				{
				    VatraObject[4] -= 1;
				    if(VatraObject[4] == 0)
				    {
				        DestroyObject(VatraObject[4]);
				        SendJobMessage(playerid, "Ugasili ste pozar i dobili platu 100$");
						PlayerInfo[playerid][xPlatniRacun] += 100;
						UpdatePlataTD(playerid);
					}
				}
				else if(hitid == VatraObject[5])
				{
				    VatraObject[5] -= 1;
				    if(VatraObject[5] == 0)
				    {
				        DestroyObject(VatraObject[5]);
				        SendJobMessage(playerid, "Ugasili ste pozar i dobili platu 100$");
						PlayerInfo[playerid][xPlatniRacun] += 100;
						UpdatePlataTD(playerid);
					}
				}
				if(hitid == VatraObject[6])
				{
				    VatraObject[6] -= 1;
				    if(VatraObject[6] == 0)
				    {
				        DestroyObject(VatraObject[6]);
				        SendJobMessage(playerid, "Ugasili ste pozar i dobili platu 100$");
						PlayerInfo[playerid][xPlatniRacun] += 100;
						UpdatePlataTD(playerid);
					}
				}
				else if(hitid == VatraObject[7])
				{
				    VatraObject[7] -= 1;
				    if(VatraObject[7] == 0)
				    {
				        DestroyObject(VatraObject[7]);
				        SendJobMessage(playerid, "Ugasili ste pozar i dobili platu 100$");
						PlayerInfo[playerid][xPlatniRacun] += 100;
						UpdatePlataTD(playerid);
					}
				}
			}
		}
	}

Neke slike/video za lakse dobivanje pomoci(neobavezno): //

Facebook - Klik



VatraObject jel dynamic ili obican?


I da, ovaj kod je pod publicom OnPlayerWeaponShot

Facebook - Klik



Nema potrebe da radiÅ¡ tako,  neće nikad funkcionirat, kad priguÅ¡ivač za vatru nije registrovano kao oružije u toj funkciji, da pucas sa m4 u vatru, imalo bi logike, ali Fire eqs ne, morat ćeÅ¡ napravit provjeru za holding i preko vektora registrovat aim na objekat...

Citat: Slade poslato Oktobar 08, 2017, 14:40:44 POSLE PODNE
Nema potrebe da radiÅ¡ tako,  neće nikad funkcionirat, kad priguÅ¡ivač za vatru nije registrovano kao oružije u toj funkciji, da pucas sa m4 u vatru, imalo bi logike, ali Fire eqs ne, morat ćeÅ¡ napravit provjeru za holding i preko vektora registrovat aim na objekat...
Da li mi mozes objasniti na sta si mislio pod "preko vektora registrovat aim na objekat.."

Facebook - Klik



Citat: Slade poslato Oktobar 08, 2017, 14:40:44 POSLE PODNE
Nema potrebe da radiÅ¡ tako,  neće nikad funkcionirat, kad priguÅ¡ivač za vatru nije registrovano kao oružije u toj funkciji, da pucas sa m4 u vatru, imalo bi logike, ali Fire eqs ne, morat ćeÅ¡ napravit provjeru za holding i preko vektora registrovat aim na objekat...
i da, da li bi moglo samo if(GetPlayerWeapon(playerid) == 42) umesto weaponid == 42?

Facebook - Klik



Citat: [ ATH ] Shomy Script poslato Oktobar 08, 2017, 14:46:05 POSLE PODNE
Citat: Slade poslato Oktobar 08, 2017, 14:40:44 POSLE PODNE
Nema potrebe da radiÅ¡ tako,  neće nikad funkcionirat, kad priguÅ¡ivač za vatru nije registrovano kao oružije u toj funkciji, da pucas sa m4 u vatru, imalo bi logike, ali Fire eqs ne, morat ćeÅ¡ napravit provjeru za holding i preko vektora registrovat aim na objekat...
Da li mi mozes objasniti na sta si mislio pod "preko vektora registrovat aim na objekat.."

stock IsPlayerAimingObj(playerid, objid) {
	new Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2;
	GetPlayerPos(playerid, X1, Y1, Z1); //Igrač
	GetObjectPos(objid, X2, Y2, Z2); //Objekat
	new Float:Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2)); //Distanca 1
	if(Distance < 100) {
		new Float:englbro;
	 	GetPlayerFacingAngle(playerid, englbro);
	 	X1 += (Distance * floatsin(-englbro, degrees));
	 	Y1 += (Distance * floatcos(-englbro, degrees));
	 	Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
		if(Distance < 4.0) { //Naštimaj sebi distancu
		    return true;
		}
	}
	return false;
}


Ta je funkcija u mom gamemodu, Disaronno, na poslu Vatrogasca, pa eto ti sebi prilagodi, inače ne dajem funkcije, ali tu smo da pomognemo je li...  ;D

Citat: [ ATH ] Shomy Script poslato Oktobar 08, 2017, 14:48:00 POSLE PODNE
Citat: Slade poslato Oktobar 08, 2017, 14:40:44 POSLE PODNE
Nema potrebe da radiÅ¡ tako,  neće nikad funkcionirat, kad priguÅ¡ivač za vatru nije registrovano kao oružije u toj funkciji, da pucas sa m4 u vatru, imalo bi logike, ali Fire eqs ne, morat ćeÅ¡ napravit provjeru za holding i preko vektora registrovat aim na objekat...
i da, da li bi moglo samo if(GetPlayerWeapon(playerid) == 42) umesto weaponid == 42?

Ne, neće registrovat da si pucao u objekat, jer taj weapon ne puca.

Citat: Slade poslato Oktobar 08, 2017, 14:56:18 POSLE PODNE
Citat: [ ATH ] Shomy Script poslato Oktobar 08, 2017, 14:46:05 POSLE PODNE
Citat: Slade poslato Oktobar 08, 2017, 14:40:44 POSLE PODNE
Nema potrebe da radiÅ¡ tako,  neće nikad funkcionirat, kad priguÅ¡ivač za vatru nije registrovano kao oružije u toj funkciji, da pucas sa m4 u vatru, imalo bi logike, ali Fire eqs ne, morat ćeÅ¡ napravit provjeru za holding i preko vektora registrovat aim na objekat...
Da li mi mozes objasniti na sta si mislio pod "preko vektora registrovat aim na objekat.."

stock IsPlayerAimingObj(playerid, objid) {
	new Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2;
	GetPlayerPos(playerid, X1, Y1, Z1); //Igrač
	GetObjectPos(objid, X2, Y2, Z2); //Objekat
	new Float:Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2)); //Distanca 1
	if(Distance < 100) {
		new Float:englbro;
	 	GetPlayerFacingAngle(playerid, englbro);
	 	X1 += (Distance * floatsin(-englbro, degrees));
	 	Y1 += (Distance * floatcos(-englbro, degrees));
	 	Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
		if(Distance < 4.0) { //Naštimaj sebi distancu
		    return true;
		}
	}
	return false;
}


Ta je funkcija u mom gamemodu, Disaronno, na poslu Vatrogasca, pa eto ti sebi prilagodi, inače ne dajem funkcije, ali tu smo da pomognemo je li...  ;D

Citat: [ ATH ] Shomy Script poslato Oktobar 08, 2017, 14:48:00 POSLE PODNE
Citat: Slade poslato Oktobar 08, 2017, 14:40:44 POSLE PODNE
Nema potrebe da radiÅ¡ tako,  neće nikad funkcionirat, kad priguÅ¡ivač za vatru nije registrovano kao oružije u toj funkciji, da pucas sa m4 u vatru, imalo bi logike, ali Fire eqs ne, morat ćeÅ¡ napravit provjeru za holding i preko vektora registrovat aim na objekat...
i da, da li bi moglo samo if(GetPlayerWeapon(playerid) == 42) umesto weaponid == 42?

Ne, neće registrovat da si pucao u objekat, jer taj weapon ne puca.
Hvala :) Sad cu pokusati

Facebook - Klik



Citat: Slade poslato Oktobar 08, 2017, 14:56:18 POSLE PODNE
Citat: [ ATH ] Shomy Script poslato Oktobar 08, 2017, 14:46:05 POSLE PODNE
Citat: Slade poslato Oktobar 08, 2017, 14:40:44 POSLE PODNE
Nema potrebe da radiÅ¡ tako,  neće nikad funkcionirat, kad priguÅ¡ivač za vatru nije registrovano kao oružije u toj funkciji, da pucas sa m4 u vatru, imalo bi logike, ali Fire eqs ne, morat ćeÅ¡ napravit provjeru za holding i preko vektora registrovat aim na objekat...
Da li mi mozes objasniti na sta si mislio pod "preko vektora registrovat aim na objekat.."

stock IsPlayerAimingObj(playerid, objid) {
	new Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2;
	GetPlayerPos(playerid, X1, Y1, Z1); //Igrač
	GetObjectPos(objid, X2, Y2, Z2); //Objekat
	new Float:Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2)); //Distanca 1
	if(Distance < 100) {
		new Float:englbro;
	 	GetPlayerFacingAngle(playerid, englbro);
	 	X1 += (Distance * floatsin(-englbro, degrees));
	 	Y1 += (Distance * floatcos(-englbro, degrees));
	 	Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
		if(Distance < 4.0) { //Naštimaj sebi distancu
		    return true;
		}
	}
	return false;
}


Ta je funkcija u mom gamemodu, Disaronno, na poslu Vatrogasca, pa eto ti sebi prilagodi, inače ne dajem funkcije, ali tu smo da pomognemo je li...  ;D

Citat: [ ATH ] Shomy Script poslato Oktobar 08, 2017, 14:48:00 POSLE PODNE
Citat: Slade poslato Oktobar 08, 2017, 14:40:44 POSLE PODNE
Nema potrebe da radiÅ¡ tako,  neće nikad funkcionirat, kad priguÅ¡ivač za vatru nije registrovano kao oružije u toj funkciji, da pucas sa m4 u vatru, imalo bi logike, ali Fire eqs ne, morat ćeÅ¡ napravit provjeru za holding i preko vektora registrovat aim na objekat...
i da, da li bi moglo samo if(GetPlayerWeapon(playerid) == 42) umesto weaponid == 42?

Ne, neće registrovat da si pucao u objekat, jer taj weapon ne puca.
Mozes li mi objasniti kako se koristi IsPlayerAimingObj?

Facebook - Klik



Citat: Slade poslato Oktobar 08, 2017, 14:56:18 POSLE PODNE
Citat: [ ATH ] Shomy Script poslato Oktobar 08, 2017, 14:46:05 POSLE PODNE
Citat: Slade poslato Oktobar 08, 2017, 14:40:44 POSLE PODNE
Nema potrebe da radiÅ¡ tako,  neće nikad funkcionirat, kad priguÅ¡ivač za vatru nije registrovano kao oružije u toj funkciji, da pucas sa m4 u vatru, imalo bi logike, ali Fire eqs ne, morat ćeÅ¡ napravit provjeru za holding i preko vektora registrovat aim na objekat...
Da li mi mozes objasniti na sta si mislio pod "preko vektora registrovat aim na objekat.."

stock IsPlayerAimingObj(playerid, objid) {
	new Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2;
	GetPlayerPos(playerid, X1, Y1, Z1); //Igrač
	GetObjectPos(objid, X2, Y2, Z2); //Objekat
	new Float:Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2)); //Distanca 1
	if(Distance < 100) {
		new Float:englbro;
	 	GetPlayerFacingAngle(playerid, englbro);
	 	X1 += (Distance * floatsin(-englbro, degrees));
	 	Y1 += (Distance * floatcos(-englbro, degrees));
	 	Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
		if(Distance < 4.0) { //Naštimaj sebi distancu
		    return true;
		}
	}
	return false;
}


Ta je funkcija u mom gamemodu, Disaronno, na poslu Vatrogasca, pa eto ti sebi prilagodi, inače ne dajem funkcije, ali tu smo da pomognemo je li...  ;D

Citat: [ ATH ] Shomy Script poslato Oktobar 08, 2017, 14:48:00 POSLE PODNE
Citat: Slade poslato Oktobar 08, 2017, 14:40:44 POSLE PODNE
Nema potrebe da radiÅ¡ tako,  neće nikad funkcionirat, kad priguÅ¡ivač za vatru nije registrovano kao oružije u toj funkciji, da pucas sa m4 u vatru, imalo bi logike, ali Fire eqs ne, morat ćeÅ¡ napravit provjeru za holding i preko vektora registrovat aim na objekat...
i da, da li bi moglo samo if(GetPlayerWeapon(playerid) == 42) umesto weaponid == 42?

Ne, neće registrovat da si pucao u objekat, jer taj weapon ne puca.

https://forum.sa-mp.com/showthread.php?t=566756 ?
heroin rap - Moskri u kuci, od sledece lajne glava ce mi puci

Citat: [ ATH ] Shomy Script poslato Oktobar 08, 2017, 18:41:21 POSLE PODNE
Mozes li mi objasniti kako se koristi IsPlayerAimingObj?

if(IsPlayerAimingObj(playerid, ObjekatVatre) { ... }

Citat: Slade poslato Oktobar 08, 2017, 19:27:05 POSLE PODNE
Citat: [ ATH ] Shomy Script poslato Oktobar 08, 2017, 18:41:21 POSLE PODNE
Mozes li mi objasniti kako se koristi IsPlayerAimingObj?

if(IsPlayerAimingObj(playerid, ObjekatVatre) { ... }

Znam to nego mi ne radi

Facebook - Klik



Bravo
#ROBY
#ONLINE !
----- NIKAD PORAZ SAMO LEKCIJA! -----