Jump to content
  • 0

pomoc RPG


Komper_

Dotaz

Popis problému:

Takže, potreboval by som spraviť takú vecičku. *Ak hráč sedí v aute a stlačí nejaké tlačidlo* .

 

** toto viem

<> toto neviem ako spraviť

 

Neviem ako spraviť to vystrelenie RPG z auta

 

Chyby/varování kompilátoru a při běhu:

--

 

Kód:

 

--

 

 

 

Dodatečné poznámky:

--

Link to comment
Share on other sites

13 odpovědí na tuto otázku

Recommended Posts

  • 0

Vytvoříš objekt (CreateObject), kterým budeš pohybovat (MoveObject) ve směru střelby. Po určité době objekt zničíš (DestroyObject) a vytvoříš explozi (napří. CreateExplosion).

 

Aby ti to vše dobře fungovalo, musíš ošetřit kolizi objektu s okolním světem. Doporučil bych při výstřelu zjistit, s jakým nejbližším statickým objektem se může srazit a nastavit cílovou pozici právě k pozici kolize. Po dobu pohybování objektu pak kontrolovat kolizi s dynamickým objektem (hráčem, vozidlem...). 

Link to comment
Share on other sites

  • 0
  • Hlavní moderátor

Kde ? Ja ho nevidím

Máš tam odkaz na pastebin v sekci Download, a dokonce jsem ti ten odkaz zkopíroval sem, viz můj předchozí příspěvek. Už nevím, jak ti to víc naznačit.

Link to comment
Share on other sites

  • 0

akože ten kod v tom pastebine je ten inc alebo ako ? :d ked dam hore to download tak mi to stiahne textový dokument a v nom je to iste ako v pastebine

 

Soubor .txt změň na .inc a vlož do složky include.

Edited by _raw(Y)_
Link to comment
Share on other sites

  • 0

no kto to mal vedieť :d Dik


Alebo ma napadlo že to spravím inač. Ale neviem ako spraviť exploziu vždy pred hráčom.

if (strcmp("/boom", cmdtext, true, 10) == 0) // 2890 2899
	{
    	new Float:x, Float:y, Float:z;
    	GetPlayerPos(playerid, x, y, z);
    	CreateExplosion(x, y+5, z, 0, 10.0);
		return 1;
	}

Mám to tak ale keď sa otočím tak je to vedľa hráča a vždy inak.

Link to comment
Share on other sites

  • 0
  • Globální moderátor

Protože si musíš představit, že hra pracuje na souřadnicovém systému.
 
CIvj.png

 

Musíš si vytáhnout informace o tom, kam hráč směřuje, z toho vytáhnout hodnotu cosinu a sinu (floatcos, floatsin) a vynásobit to koeficientem vzdálenosti (skalár).

 

Basically když si představíš na kružnici a její vlastnosti, tak na tom to uvidíš, ale nechme tý matiky bejt. Pokud tě zajímá jak to zhruba funguje, tak to máš znázorněné na následujícím obrázku (předpokládáme, že hráč kouká pod úhlem 45°)

 

v5PD.png

 

 

 

 

 

V sa-mpu je ještě potřeba zmínusovat úhel pohledu, protože celý je to zinvertovaný. Viz wiki. 

 

Angles are reversed in GTA:SA; 90 degrees would be East in the real world, but in GTA:SA 90 degrees is in fact West. North and South are still 0/360 and 180. To convert this, simply do 360 - angle.

new Float:angle,Float:x,Float:y,Float:z;
GetPlayerFacingAngle(playerid,angle);
GetPlayerPos(playerid,x,y,z);
new Float:vzd = 5.0; // koeficient v podstatě "skalár"

angle = 360 - angle;

x += vzd * floatcos(angle, degrees); 
y += vzd * floatsin(angle, degrees);

A takto bys měl dostat pozici před sebe.

 

 

//edit: A možná taky je to celý blbě icon_e_biggrin.gif zkusím si to ověřit

//edit2: tak není

 

 

//edit3: Pokud to chceš ve vozidle zjišťovat, tak GetVehicleZAngle

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0

to som si všimol ale neviem kde dat to create explosions a tak. len toto mi treba nejak spraviť a ostatné veci už viem.




Na konci je přiloženej kód...


To som spravil ale ajtak to robí explóziu tak ako vtedy.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...