Diskuze: Medik - Doplnění života hráčovi pomocí postavičky medika

Ostatní jazyky GameMaker GameMaker Medik - Doplnění života hráčovi pomocí postavičky medika

Avatar
Bekolanie(johhanb):

Dobrý večer potřeboval bych zdefinovat....
Udělal jsem objekt medic při čemž jak dojde ke kolizi s player má se
dobít global.o_play­er01hp+=1.0;

Problém mám v tom že objekt jsem-li v kuse s kolizi opět pořád se dobíji o 1.0 livehp. Až na 100.

Zkoušel jsem alarmy, destroy ins, bez výsledku.
Potřebuju aby hp dobylo o 1.0 a bylo zrušeno dobíjení.
Zajímá jak na to?

Odpovědět 29.10.2011 19:35
Jak sa volá tak se ozývá.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Bekolanie(johhanb)
David Čápka:

To záleží na tom, jak se má medic chovat. Když chceš něco naprogramovat, nejdřív musíš vědět, co vlastně chceš, aby program dělal. Jsou zde 2 základní možnosti:

  1. Pokud chceš, aby hráč mohl medika využít jen jednou za hru/mapu/level: V objektu Medic si v create nastav proměnnou uzdravenhrac0=fal­se; V kolizi si potom zjisti, jestli je tato proměnná false a pokud ano, hráči přidej život tím příkazem, jakým to děláš a zároveň nastav uzdravenhrac0=true; Díky tomu se to už podruhé neprovede. Nezpomeň dát oba příklady do bloku, kód tedy bude:
if (not uzdravenhrac0)
{
  uzdravenhrac0 = true;
  global.o_player01hp+=1.0;
}
  1. Pokud chceš, aby medik dobil život opakovaně, ale ne hned, využiješ alarm. V Create eventu opět nastavíš uzdravenhrac0 = false; Do kolize napíšeš ten samý blok, jako výše, ale do složených závorek přidáš 3. příkaz a to alarm[0]=200; Tím nastavíš alarm0 na 200 kroků. Potom není nic jednoduššího, než v událostí On alarm[0] napsat příkaz uzdravenhrac0 = false; Tím se opět umožní dobití života a celá situace se může opakovat.

Příště prosím směřuj otázky do Fóra do sekce GameMaker - http://www.itnetwork.cz/index.php?…, zde se probírají hry na přání, s tím nemá tvůj dotaz moc společného ;)

EDIT 23:16 - v událostí On alarm[0] napsat příkaz uzdravenhrac0 = FALSE; (samozřejmě, už jsem myslel na něco jiného :) )

Nahoru Odpovědět  +1 29.10.2011 20:57
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
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 2 zpráv z 2.