Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4587 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

new Float:RealVehiclePositions[MAX_VEHICLES][3],LastVehicleACCheck[MAX_VEHICLES];

stock AC_SetVehiclePos(vehicleid,Float:x,Float:y,Float:z)
{
	RealVehiclePositions[vehicleid][0] = x;
	RealVehiclePositions[vehicleid][1] = y;
	RealVehiclePositions[vehicleid][2] = z;
	return SetVehiclePos(vehicleid, x, y, z);
        //Kaskart kai atnaujinsi tr. priemones pozicija atsinaujins ir tikroji.
}
#if defined _ALS_SetVehiclePos
	#undef SetVehiclePos
#else
	#define _ALS_SetVehiclePos
#endif
#define SetVehiclePos AC_SetVehiclePos


public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat)
{
       ///sitas callback'as kviečiamas LABAI dažnai, todėl praretinam iki kas sekundę
	new time = gettime();
	if(time >LastVehicleACCheck[vehicleid])
	{
		LastVehicleACCheck[vehicleid] = time;
		new Float:x,Float:y,Float:z;
		GetVehiclePos(vehicleid, x, y, z);
		if(RealVehiclePositions[vehicleid][0] == 0.0 && RealVehiclePositions[vehicleid][1] == 0.0 && RealVehiclePositions[vehicleid][2] == 0.0) // Jeigu visi 0.0 reiškia kad tik servas įsijungė ar pnš.
		{
			RealVehiclePositions[vehicleid][0] = x;
			RealVehiclePositions[vehicleid][1] = y;
			RealVehiclePositions[vehicleid][2] = z;
			return;
		}
		new Float:distance = GetVehicleDistanceFromPoint(vehicleid,RealVehiclePositions[vehicleid][0],RealVehiclePositions[vehicleid][1],RealVehiclePositions[vehicleid][2]);
		if(distance > MAX_VEHICLE_DISTANCE_CHANGE) // Jeigu pakito pozicija daugiau negu nori gražinam atgal. aš naudoju 50
		{
			SetVehiclePos(vehicleid,RealVehiclePositions[vehicleid][0],RealVehiclePositions[vehicleid][1],RealVehiclePositions[vehicleid][2]);
		}
		RealVehiclePositions[vehicleid][0] = x;
		RealVehiclePositions[vehicleid][1] = y;
		RealVehiclePositions[vehicleid][2] = z;
	}
	return;

}


public OnPlayerExitVehicle(playerid,vehicleid)
{
	new Float:x,Float:y,Float:z;
	GetVehiclePos(vehicleid,x,y,z);
	RealVehiclePositions[vehicleid][0] = x;
	RealVehiclePositions[vehicleid][1] = y;
	RealVehiclePositions[vehicleid][2] = z;
}//kai žmogus išlipa atnaujinam

public OnVehicleSpawn(vehicleid)
{
	new Float:x,Float:y,Float:z;
	GetVehiclePos(vehicleid, x, y, z);
	RealVehiclePositions[vehicleid][0] = x;
	RealVehiclePositions[vehicleid][1] = y;
	RealVehiclePositions[vehicleid][2] = z;
	return 1;
}
//kai mašina atsiranda(po mirties) vėl atnaujinam

Naudoju šį. Ar veikia? Nežinau, duodu tikėdamasis kad išbandysi. Teoriškai turi veikti.

Reikia Pawn pagalbos? Skype nerašyk.

 

 

 

 

 

 

(redaguota)
new Float:RealVehiclePositions[MAX_VEHICLES][3],LastVehicleACCheck[MAX_VEHICLES];

stock AC_SetVehiclePos(vehicleid,Float:x,Float:y,Float:z)
{
	RealVehiclePositions[vehicleid][0] = x;
	RealVehiclePositions[vehicleid][1] = y;
	RealVehiclePositions[vehicleid][2] = z;
	return SetVehiclePos(vehicleid, x, y, z);
        //Kaskart kai atnaujinsi tr. priemones pozicija atsinaujins ir tikroji.
}
#if defined _ALS_SetVehiclePos
	#undef SetVehiclePos
#else
	#define _ALS_SetVehiclePos
#endif
#define SetVehiclePos AC_SetVehiclePos


public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat)
{
       ///sitas callback'as kviečiamas LABAI dažnai, todėl praretinam iki kas sekundę
	new time = gettime();
	if(time >LastVehicleACCheck[vehicleid])
	{
		LastVehicleACCheck[vehicleid] = time;
		new Float:x,Float:y,Float:z;
		GetVehiclePos(vehicleid, x, y, z);
		if(RealVehiclePositions[vehicleid][0] == 0.0 && RealVehiclePositions[vehicleid][1] == 0.0 && RealVehiclePositions[vehicleid][2] == 0.0) // Jeigu visi 0.0 reiškia kad tik servas įsijungė ar pnš.
		{
			RealVehiclePositions[vehicleid][0] = x;
			RealVehiclePositions[vehicleid][1] = y;
			RealVehiclePositions[vehicleid][2] = z;
			return;
		}
		new Float:distance = GetVehicleDistanceFromPoint(vehicleid,RealVehiclePositions[vehicleid][0],RealVehiclePositions[vehicleid][1],RealVehiclePositions[vehicleid][2]);
		if(distance > MAX_VEHICLE_DISTANCE_CHANGE) // Jeigu pakito pozicija daugiau negu nori gražinam atgal. aš naudoju 50
		{
			SetVehiclePos(vehicleid,RealVehiclePositions[vehicleid][0],RealVehiclePositions[vehicleid][1],RealVehiclePositions[vehicleid][2]);
		}
		RealVehiclePositions[vehicleid][0] = x;
		RealVehiclePositions[vehicleid][1] = y;
		RealVehiclePositions[vehicleid][2] = z;
	}
	return;

}


public OnPlayerExitVehicle(playerid,vehicleid)
{
	new Float:x,Float:y,Float:z;
	GetVehiclePos(vehicleid,x,y,z);
	RealVehiclePositions[vehicleid][0] = x;
	RealVehiclePositions[vehicleid][1] = y;
	RealVehiclePositions[vehicleid][2] = z;
}//kai žmogus išlipa atnaujinam

public OnVehicleSpawn(vehicleid)
{
	new Float:x,Float:y,Float:z;
	GetVehiclePos(vehicleid, x, y, z);
	RealVehiclePositions[vehicleid][0] = x;
	RealVehiclePositions[vehicleid][1] = y;
	RealVehiclePositions[vehicleid][2] = z;
	return 1;
}
//kai mašina atsiranda(po mirties) vėl atnaujinam

Naudoju šį. Ar veikia? Nežinau, duodu tikėdamasis kad išbandysi. Teoriškai turi veikti.

 

O jei ne tarkim koks čiuvas nuvažiuos su car, neišlips ir pribėgs kitas prisilies prie mašinos ir gaus kick.

Redaguota , nario Kesa_Sport

+ jeigu važiuosiu nuo kalno ir kalno viršuje iš mašinos iššoksiu, o apačioje stovės kitas žaidėjas, jis gaus kicką.

+ jeigu nustumsiu mašiną kur nors labai toli irgi gausiu kicką.

+ jeigu nutempsiu mašiną su ta mechanikų darbui naudojama mašina (tow truck ar kažkas pan), irgi gausiu kicką.

+ jeigu su mašina įvažiuosi į kokį nors tune garažą, irgi gausiu kicką.

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4587 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...