tvorbamap.cz

tvorbamap.cz

Navigace

bullet.gif

Domů


bullet.gif

Články


bullet.gif

Ke stažení


bullet.gif

Fórum


bullet.gif

FAQ



bullet.gif

Herní server


bullet.gif

Chat


bullet.gif

Převod jednotek



bullet.gif

Soutěž


bullet.gif

Síň slávy



bullet.gif

Podpořte nás


bullet.gif

Kontakt


bullet.gif

Vyhledávání


bullet.gif

RSS


Herní server

Shoutbox

Pro přidání zprávy do shoutboxu, musíte být přihlášeni.

18.07.2017 13:41:09
±0


05.07.2017 18:43:28
Jsem znova zde a potřebuji Vaší radu.
https://tvorbamap.cz/forum/viewthread.php?thread_id=1556&pid=13223#post_13223
±0


20.06.2017 23:02:22
Jo, to je další možnost..že jsem barvoslepy, nebo úplně slepý :D ale tak byl to jen návrh:D
±0


20.06.2017 20:13:13
Udělej si test barvosleposti, já přečtu každou... :D
±0


20.06.2017 11:46:16
Měl bych takový návrh, při registraci jak je ten captcha kód, je to dělané velmi pěkně jako brushe :D ale ono to nejde přečíst vůbec, já jsem musel 30x změnit kód, abych to přečetl a bylo to správně =D
±0


19.06.2017 19:52:01
ok
±0


19.06.2017 00:25:14
Jak žijete lidi? :D Jestli teda žijete :@
±0


12.05.2017 22:22:13
Abych naštval Backapu, že má další práci, tak jsem mu tam hodil jednu prosbu.
Děkuji ;)
±0


11.05.2017 15:29:38
O hodně přicházíš :D
±0


11.05.2017 11:14:29
Jsem antisociál a na srazy nejezdím... :D
±0


Náhoda

(Oříšky)

S náhodností byly vždy problémy. My si s ní ale poradíme a hned si ukážeme dvě možnosti, jak vyrábět věci ovlivněné náhodou.



Varianta č. 1 - Laser


První možností, jak docílit náhodnosti, je použití entity, která sama podporuje náhodnost - laseru, konkrétně env_beamu. Využijeme jeho vlastnosti mířit do náhodně zvoleného cíle a vlastnosti ubírat hp. Vytvoříme cíle info_target a mezi tyto cíle a env_beam dáme button_targety, které se sepnou, pokud jimi projde paprsek. Jak to bude vypadat v praxi?
Řekněme že máme 9 beden na kterých chceme nechat otestovat náhodnost - chceme aby se náhodně rozbily. Vyrobíme tedy env_beam a nastavíme ho:
Name: beam
Start Entity: beam
Ending Entity: bcil
Damage / second: 1
Ještě se podíváme do Flags a zaškrtneme Toggle a Random Strike.
Přidáme multi_manager se jménem nahoda a vložíme do něj tyto hodnoty:
beam 0
beam#1 0.1
Je to kvůli tomu, aby se nám nerozbily všechny bedny najednou.
Nyní vytvoříme arch o 9 stěnách. Nastavíme jim správnou šířku, abychom vytvořili takovou obruč kolem našeho env_beamu. Vyrobený arch rozložíme na jednotlivé dílky přes Ungroup. Postupně ze všech po jednom uděláme button_target. Ke každému nastavíme jiný target, kterým bude jedna z devíti beden. Nakonec vytvoříme 9x info_target se jménem bcil, který bude vždy za button_targetem, aby se aktivoval jeho cíl. Teď stačí už jen vytvořit tlačítko nebo trigger, které bude spouštět celý mechanismus (bude aktivovat multi_manager nahoda).
nahoda1
Po stisknutí tlačítka se aktivuje multi_manager, který aktivuje a hned deaktivuje env_beam, který probleskne mezi sám sebou a jedním z devíti cílů. Protože beam ubírá hp, tak aktivuje button_target, který mu stojí v cestě. Button_target už jen rozbije příslušnou bednu.



Varianta č. 2 - Počítadlo


Další možností, jak docílit náhodnosti, je zapojit do skriptu hráče. Můžeme rozmístit po mapě spoustu triggerů, které budou měnit cíle, ale to by nebylo spolehlivé, takže si použijeme jeden trigger_multiple, který nám bude spínat "počítadlo" - sadu game_counterů, které budou postupně měnit cíle tlačítku, kterým budeme nakonec rozbíjet bedny. Bude to ale ještě o něco těžší, ale snad to nějak zvládneme.
Řekněme že máme dalších 9 beden co čekají na náhodné rozbití. Vytvoříme si trigger_multiple, který bude udávat "tik" celého skriptu. Dáme ho kolem tlačítka tak, aby každý, kdo bude chtít zmáčknout tlačítko, musel do něj vejít. Nastavíme mu Target na pocitadlo a Delay before reset na 0.05, ať není poznat, že to ve skutečnosti není náhodné.
Nyní vytvoříme 9x game_counter, nastavíme jim Limit Value na 9 a zaškrtneme ve Flags Reset on fire. Budeme jim nastavovat Name na gc1gc9 a Target na cht1cht9, takže první game_counter bude mít jméno gc1 a cíl cht1, druhý gc2 a cíl cht2, třetí gc3 a cht3, atd.
Dále vytvoříme 9x trigger_changetarget s Target na tlacitko. Name jim nastavíme cht1cht9. Do New Target přijdou jména jednotlivých beden.
Tím to ale nekončí - 8x (ano, osmkrát) vložíme game_counter_set s Name init. Target jim nastavíme na gc2gc9. Do New Value dáme 18. První game_counter_set pak bude mít target gc2 a new value 1, druhý gc3 a 2, třetí gc4 a 3, až do osmého gc9 a 8.
Aby toho nebylo málo, přidáme trigger_auto (trigger co se spustí pouze jednou a to při zapnutí mapy) s Target na init.
Něco nám tu ale pořád ještě schází - ano, ve správném skriptu by měl být multi_manager! Přidáme ho, nastavíme mu jméno na pocitadlo a nasázíme do něj hodnoty gc1gc9, všechny s prodlevou 0, tzn:
gc1 0
gc2 0
gc3 0
...
Teď už by to mělo být opravdu všechno, takže přidáme tlačítko se jménem tlacitko a máme hotovo!
nahoda2
Co se ale vlastně děje? Máme 9 game_counterů, každý se aktivuje když dosáhne hodnoty 9. Při startu mapy jim nastavíme pomocí game_counter_set určitý "offset", aby se spouštěly posupně. Trigger_multiple tedy spustí každých 0.05 sekundy přes multi_manager všechny game_countery, které mění přes trigget_changetarget cíl tlačítku. Pak už jen stačí zmáčknout tlačítko a ono rozbije tu bednu, kterou má zrovna v targetu.



Závěr


Jakou variantu tedy použít? Obě varianty mají určité výhody a nevýhody.
Výhody varianty "laser":
> Je jednodušší.
Výhody varianty "počítadlo":
> Skládá se převážně z point entit.
> Hodí se na změnu targetu jakékoli entitě, např. teleportu.
Nevýhody varianty "laser":
> Skládá se i z brushových entit.
> Pokud víte, kde se obruč z button_targetů nachází, můžete je aktivovat tím že je trefíte skrz zeď.
Nevýhody varianty "počítadlo":
> Je hodně těžká.
> Teoreticky by mohla způsobit lagy, protože každých 0.05 se spouší 10 entit, ale mělo by to být zanedbatelné.

S náhodností vždy byly a jsou problémy. Pro ty co měli problémy s tvorbou i pro všechny ostatní máme příkladovou mapu.

Komentáře

#1 |
vojta dne 22.01.2011 22:30:49 |
-6
moc nechapu.:(
#2 |
Backup dne 23.01.2011 11:57:34 |
+4
Ještě aby ne, jestli jsi teď začal s hammerem. Tohle je článek z kategorie Oříšky, což je kategorie plná článků pro zkušené tvůrce, šílence, veterány; ne pro začátečníky.
#3 |
J_D_SKAlpel dne 24.07.2011 10:48:53 |
+1
No eště že chápu ... Taky bodejť by ne, když jsem se zabýval mapováním od roku 1999 xD Chodíváte někdo ještě na ------? Tam byste našli můj článek na digitální hodiny s nastavitelným časem.. Tomu říkám oříšek :)
#4 |
DeserT dne 19.07.2012 01:05:19 |
±0
Přidáme multi_manager se jménem nahoda a vložíme do něj tyto hodnoty:
beam 0
beam#1 0.1

To co je zde tučně vybráno nějak nechápu, nevím jak je to myšleno, prosím o radu :)
#5 |
XXL_cz dne 19.07.2012 01:17:00 |
+2

Přidat komentář

Pro přidání komentáře musíte být přihlášený.

Hodnocení

Pro hodnocení musíte být registrovaný.

Prosím přihlašte se nebo se zaregistrujte.

Výborné! Výborné! 100% [1 Hlas]
Chvalitebné Chvalitebné 0% [Žádné hlasy]
Dobré Dobré 0% [Žádné hlasy]
Dostačující Dostačující 0% [Žádné hlasy]
Nedostačující Nedostačující 0% [Žádné hlasy]

Přihlášení

Jméno

Heslo



Nejste členem?
Zaregistrujte se!

Ztracené heslo?

Seznam článků

Diskuze fóra

Nejnovější příspěvky


bullet.gif

Exceeded MAX_PA...

(Backup)
bullet.gif

Vaše kompil...

(TheLaoming)
bullet.gif

Problém se zbra...

(latins)
bullet.gif

batch compiler

(Backup)
bullet.gif

problem s RAD

(Backup)
bullet.gif

problém s .pts

(Backup)
bullet.gif

Mapa se...

(Gordon Freeman)
bullet.gif

nazdar

(Backup)
bullet.gif

osvět...

(Dominik Rozporka)
bullet.gif

spawn...

(Dominik Rozporka)

Odkazy

Kotelna Mix-Arena.eu - Gaming portál AMX Mod X nonsteam.cz - seznam CZ/SK Non-Steam Counter Strike serverů

Twitter & FB


Kdo je on-line

bullet.gif Hosté on-line: 2

bullet.gif Členové on-line: 0

bullet.gif Registrovaní členové: 914
bullet.gif Nejnovější člen: slayerx1