Diskuze: Nepžítel / automat boj. po čase

Ostatní jazyky GameMaker GameMaker Nepžítel / automat boj. po čase

Avatar
Shootysek
Neregistrovaný
Avatar
Shootysek:

Zdravím všechny.
Potřeboval bych poradit, Dá-li se nějak udělat že Nepřítel mi bude ubírat po náhodným čase náhodný damage. Př: po 3 sekundách mi ubere 5 damage. a po dalších 2 ubere 3 třeba.
Děkuji předem za odpověď Z pozdravem Shooty

 
Odpovědět 31.12.2012 11:29
Avatar
TomBen
Redaktor
Avatar
TomBen:

Dá se to udělat. ;)

OnCreate, OnAlarm1:
alarm[1]=irandom_range(2*room_speed,5*room_speed); //2-5s

OnAlarm1:
lives=lives-irandom_range(2,5); //2-5 damage
Nahoru Odpovědět 31.12.2012 12:14
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
MrOrisek
Člen
Avatar
MrOrisek:

Díky moc :)

 
Nahoru Odpovědět 31.12.2012 12:16
Avatar
MrOrisek
Člen
Avatar
Odpovídá na TomBen
MrOrisek:

sem začátečních mohl bych tě prosím poprosit co stím mám udělat ? :D
Jasně chápu sem otravnej ale prosím tě. :D

 
Nahoru Odpovědět 31.12.2012 12:21
Avatar
TomBen
Redaktor
Avatar
Odpovídá na MrOrisek
TomBen:

Já zas nevím, čemu vlastně nerozumíš - naplní se s tím objekt nepřítel.
Jestli je to ale první gml kód, který vidíš, bude lepší, když si přečteš
nějaké tutoriály, jinak nebudeš schopen program ladit a za chvíli napíšeš
znovu, že ti zas něco nejede.

Nahoru Odpovědět 31.12.2012 12:27
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
MrOrisek
Člen
Avatar
Odpovídá na TomBen
MrOrisek:

Není první to ne. ale když to vložím do Eventu . Příšera při kolizi z hráčem do Execute codu tak mi to u OnCreate, OnAlarm1: *zaškrtne se to červeně

Editováno 31.12.2012 12:42
 
Nahoru Odpovědět 31.12.2012 12:41
Avatar
TomBen
Redaktor
Avatar
Odpovídá na MrOrisek
TomBen:

No, to proto, že jsou to názvy eventů, do kterých jsi to měl dát.
V collision eventu to být nemělo.

To je právě ten, problém, co jsem zmínil. Nebudeš schopen ladit chyby,
tzn. reagovat na chybové hlášky, když kód zkopíruješ místo toho, aby ses
snažil ho pochopit.

Nahoru Odpovědět 31.12.2012 12:50
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
TomBen
Redaktor
Avatar
TomBen:

Collision můžeš použít místo toho Create eventu, aby odčítání životů
začalo až po nárazu do hráče. Jinak ti začne hned když se nepřítel objeví,
což zřejmě nebylo účelem.

Nahoru Odpovědět 31.12.2012 12:53
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
MrOrisek
Člen
Avatar
Odpovídá na TomBen
MrOrisek:

Ok , Promiň že tě furt otravuji ale molh bys mi to vysvětlit jako pro blbý nebo nechápavý na tutorial jsem koukal ale furt to nechápu :/
byl bych ti moc vděčný :)

 
Nahoru Odpovědět 31.12.2012 13:18
Avatar
TomBen
Redaktor
Avatar
Odpovídá na MrOrisek
TomBen:

Potřebuji se nějak dostat do obrazu o tom, co víš a co ne.
Popiš, na čem jsi v tutoriálech skončil a co už nedáváš.

Nahoru Odpovědět 31.12.2012 13:25
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
MrOrisek
Člen
Avatar
MrOrisek:

V tutoriálech sem skončil u životů,střelby . a zasekl sem se u toho boje jak sem psal nahoře. že potřebuji aby to sekalo náhodně 2-5 sec 2-5 damage...

 
Nahoru Odpovědět 31.12.2012 13:34
Avatar
TomBen
Redaktor
Avatar
TomBen:

Takže umíš používat alarmy a víš k čemu je v ikonách zaškrtnutí Relative?

V tom případě by ti mělo stačit k vítězství toto:

  • funkce irandom_range(Min,Max)

    dává náhodné číslo v rozsahu od Min do Max včetně

  • lze ji napsat kamkoli, kam lze napsat číslo
  • hodnoty Min a Max by měly být celá čísla ( lze i záporná )

Takže když například založíš proměnnou Damage a do ní vložíš
irandom_range(1,3), bude obsahovat jednu z hodnot 1 nebo 2 nebo 3.

Nahoru Odpovědět 31.12.2012 13:48
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
MrOrisek
Člen
Avatar
Odpovídá na TomBen
MrOrisek:

Alarmy používat neumím :(

 
Nahoru Odpovědět 31.12.2012 14:09
Avatar
TomBen
Redaktor
Avatar
Odpovídá na MrOrisek
TomBen:

Základní časová jednotka v GM je krok, čili Step. Jeho délka v reálném
čase se liší podle hodnoty room_speed v nastavení místnosti.
Ikona alarmu umožní nastavit počet kroků. Po uplynutí zadaného počtu
se spustí událost Alarm Event, kam můžeš zadat, co se stane.
Takových alarmů je 12 u každého objektu a jsou základem jednoduchého časování hry.
Např. v Create nastavíš Alarm1 na 100 a do Eventu Alarm1
zadáš vytvořit objekt Nepřítel. Tím se Nepřítel objeví až po 100 krocích.
Tj. cca za 3 vteřiny při game_speed 30.

Editováno 31.12.2012 14:26
Nahoru Odpovědět 31.12.2012 14:26
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
MrOrisek
Člen
Avatar
MrOrisek:

Sem asi blbej nebo já nevím furt z toho nechápu jak mam udělat ten automat boj. po čase

 
Nahoru Odpovědět 31.12.2012 14:56
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na MrOrisek
David Čápka:

Nastavíš budík a až zazvoní, tak provedeš akci. Co na tom prosím přesně nechápeš?

Nahoru Odpovědět 31.12.2012 14:59
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
MrOrisek
Člen
Avatar
 
Nahoru Odpovědět 31.12.2012 15:02
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na MrOrisek
David Čápka:

Ano, je tam akce Set alarm (nastav budík), má ikonku budíku. 8| U programování se musí myslet...

Nahoru Odpovědět  +1 31.12.2012 15:10
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
MrOrisek
Člen
Avatar
Odpovídá na David Čápka
MrOrisek:

Nevím prostě jak to nastavit.Potřeboval bych od někoho vysvětlit jak fungujou alarmy ale vysvětlení jako pro idioty já to jinak prostě nepochopím.

co napsal toto -

OnCreate, OnAlarm1:
alarm[1]=irandom_range(2*room_speed,5*room_speed); //2-5s

OnAlarm1:
lives=lives-irandom_range(2,5); //2-5 damage

Todle nechápu co stím mám udělat. JE to tak těžký mi to vysvětlit? :(

 
Nahoru Odpovědět 31.12.2012 15:16
Avatar
TomBen
Redaktor
Avatar
Odpovídá na MrOrisek
TomBen:

Zjevně to JE tak těžký. Je to jako když se tě někdo, kdo se právě
naučil malou násobilku zeptá, co je to ten sinus. Buď má talent
a pochopí, nebo nemá a pak musí dostudovat ten rozdíl.

Nicméně si myslím, že když nebudeš tak hrr a všechno si to v klidu
vyzkoušíš, přijdeš na to v pohodě.

Nahoru Odpovědět 31.12.2012 15:21
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
TomBen
Redaktor
Avatar
TomBen:

http://www.itnetwork.cz/…aky-priklady

Jsou tady skvělé příklady všeho, co bys kdy potřeboval.
Včetně alarmů. Ale přemýšlet u toho fakt musíš.
A prozradím ti tajemství:
v Game Makeru taháním ikon bez rozmyslu uděláš sice nějaké .exe,
ale hra to pak rozhodně nebude. Takže si rozmysli, jestli to chceš
umět, nebo si necháš napsat, kam kliknout.

Nahoru Odpovědět 31.12.2012 15:26
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
MrOrisek
Člen
Avatar
Odpovídá na TomBen
MrOrisek:

Prostě to nechápu , nejde to.

 
Nahoru Odpovědět 31.12.2012 22:06
Avatar
TomBen
Redaktor
Avatar
Odpovídá na MrOrisek
TomBen:

Asi sis naložil moc, dej tomu čas.
Žádný učený z nebe nespadl.

Nahoru Odpovědět 31.12.2012 22:16
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
MrOrisek
Člen
Avatar
Odpovídá na TomBen
MrOrisek:

Hledám tutorialy na ty blbé alarmy a nedokážu to furt pochopit nevím proč je to na nic :(

 
Nahoru Odpovědět 31.12.2012 22:19
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 24 zpráv z 24.