Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
cztomt
Tvůrce
Avatar
cztomt:5.3.2012 20:12

Dobrý den, chtěl bych se zeptat jak se dá udělat, aby přišel hráč do nějaké vzdálenosti od příšery a v tu dobu by příšera začla chodit za hráčem??

 
Odpovědět
5.3.2012 20:12
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na cztomt
David Hartinger:5.3.2012 21:30

Existuje funkce point_distance(x1,y1,x2,­y2), v parametru jsou 2 body (1, 2) a vrátí vzdálenost mezi nimi. Toto se vloží do stepu příšery a bude se kontrolovat její pozice proti pozici hráče, tedy:

if (point_distance(x,y,hrac.x,hrac.y) < 100)
...

Potom stačí vykonat danou akci, buď nastavit nějaký stav příšerce nebo ji změnit za instanci, která bude hráče pronásledovat.

Nahoru Odpovědět
5.3.2012 21:30
You are the greatest project you will ever work on.
Avatar
cztomt
Tvůrce
Avatar
cztomt:6.3.2012 6:58

Díky moc

 
Nahoru Odpovědět
6.3.2012 6:58
Avatar
cztomt
Tvůrce
Avatar
cztomt:6.3.2012 15:56

Dobrý den, ještě bych se chtěl zeptat jakou akci nebo jak tu příšeru změnit za instanci?

 
Nahoru Odpovědět
6.3.2012 15:56
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na cztomt
David Jančík:6.3.2012 16:17

Dobrý den,
pokud chcete, aby příšerka pronásledovala hráče stačí ve step eventu kontrolovat

if (point_distance(x,y,hrac.x,hrac.y) < 100)

A jakmile tato podmínka bude platná - pronásledovat hráče například touto funkcí:

mp_potential_step(hrac.x,hrac.y,speed,solid);// pokud zadáte solid - bude se při pronásledování vyhýbat objektům s vlastností solid

Pokud máte jiné úmysly a instanci potřebujete změnit použijte:

instance_change(obj,perf);

Viz.:
http://www.itnetwork.cz/index.php?…

Nahoru Odpovědět
6.3.2012 16:17
Zapomeň, že je to nemožné a udělej to ;)
Avatar
cztomt
Tvůrce
Avatar
cztomt:6.3.2012 16:43

U podmínky
if (point_distan­ce(x,y,hrac.x,hrac­.y) <100)
mi píše nějaký error v 45 znaku, tedy v tom posledním. Nevíte co stím mám udělat?

 
Nahoru Odpovědět
6.3.2012 16:43
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na cztomt
David Hartinger:6.3.2012 17:26

Co třeba napsat chybovou hlášku? Chybu můžeš mít v příkazu pod tím, nenapadá mě, kde by tady byla chyba, možná chybějící mezera za tím většítkem by se mu nemusela líbit.

Nahoru Odpovědět
6.3.2012 17:26
You are the greatest project you will ever work on.
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na cztomt
David Jančík:6.3.2012 17:36

Můžete také použít tuto funkci (zde zadáte pouze název objektu)

if (distance_to_object(hrac)<100)
...

Jsou úplně stejné, pokud Vám chybu napíše i tato pak je problém v přístupu k objektu hráče nebo v příkazech pod ní se vykonávajících.

Nahoru Odpovědět
6.3.2012 17:36
Zapomeň, že je to nemožné a udělej to ;)
Avatar
cztomt
Tvůrce
Avatar
cztomt:7.3.2012 21:29

Díky za rady já už jsem to vyřešil podle ukazkové hry alien

 
Nahoru Odpovědět
7.3.2012 21:29
Avatar
jan.ost
Člen
Avatar
jan.ost:9.3.2012 16:16

a ještě něco řeknu zase já.
potřebuju udělat že při pronásledování se příšera (v mém případě sliz) bude otáčet za hráčem.
potřebuju to do mé rpg hry kterou sem asi za týden dám jestli to výjde 8-)

Nahoru Odpovědět
9.3.2012 16:16
Jeden na všechny, všichni utečte!
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na jan.ost
David Jančík:9.3.2012 18:15

Stačí kontrolovat směr, kterým příšera jde a dle toho nastavovat úhel natočení

image_angle = direction; //0-360° -> jednotková kružnice
Nahoru Odpovědět
9.3.2012 18:15
Zapomeň, že je to nemožné a udělej to ;)
Avatar
jan.ost
Člen
Avatar
Nahoru Odpovědět
10.3.2012 8:16
Jeden na všechny, všichni utečte!
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.