TUTORIALY, NÁVODY, PŘÍKLADY, CHEATY
Zde nabízíme pomocné informace při tvorbě map a modifikací do počítačových her - tutorialy psané nebo videotutorialy, podrobné návody i cheaty. Celkem je zde 115 materiálů.Jak udělat žárovku, která po rozbití zhasne
Rubrika: Half-Life & Counter StrikeNávod je určen pro editor Valve Hammer Editor. Hry Half-Life, CounterStrike 1.6
Jak udělat svítící žárovku, která po rozbití zhasne?
K čemu to vlastně je?
K větší realističnosti map. Pokud doma začnete jakoukoli moderní zbraní střílet do žárovky, asi se rozbije, že? A proč by to tak nemohlo býti i v Half-life? Jak to však udělat? Na to přišel snad jen málokdo… Já jsem mezi nimi. Ale musím vás upozornit, že je to poněkud netradiční způsob řešení.
Postup
Nejprve si uděláme model žárovky, tj. něco alespoň podobného kulovitému tvaru s texturou skla, a uděláme z toho entitu func_breakable, což zajistí, že bude možno žárovku „sestřelit“. Jméno dávat nemusíme, ale do Target on break dáme třeba zarovka_znicena, což zajistí, že po sestřelení se targetne něco s názvem "zarovka_znicena". Samozřejmě nezapomeňte na něco, jako je objímka (to, do čeho se žárovky zašroubovávají). Ta tam totiž i po rozpadu žárovky na cimprcampr zůstane. Dále musíme zajistit její průhlednost tak, že do Render mode dáme
Nyní musíme obstarat světlo. Těsně pod žárovkou udělejte entitu light. Jako jméno třeba svetlo a nezapomeňte změnit si barvu světla. Teď vypínač - stačí něco s dobrou texturou. Udělejte z tohoto objektu func_button. Do kolonky Taget dejte třeba jenom tlacitko a ve záložce Flags zaškrtněte Don´t move (podle typu tlačítka).
Tak, to by byla ta viditelná část, ale to nejtěžší nás teprve čeká.
Nyní potřebujeme něco, co by deaktivovalo tlačítko a co by hlídalo, zda žárovka svítí po jejím rozbití, nebo ne.Teď se přesuneme někde do rohu mapy, tj. někde úplně na okraj editovatelnosti - asi zde:
Tak daleko proto, aby nebyly slyšet rány, které se odtud budou ozývat (v mé příkladové mapě je to blízko, abyste to mohli vidět).
Následující entity a položení objektů vám nejlépe vysvětlí tento obrázek:
Tento zneškodní tlačítko a funguje tak, že env_explosion (1) po každém přepnutí
vypínače vybouchne a tato exploze aktivuje button_target (5) a po jeho aktivaci,
aktivuje button_target "svetlo" a žárovka se rozsvíti, pokud nesvítila nebo
zhasne, pokud svítila. Toto bychom nemohli dát do kolonky Target v tlačítku, protože
bychom nijak nezajistili, abychom, jak už žárovka bude setřelena, nemohli stále
rozsvicovat, nebo zhasínat.
Svělo se rozsvítí nebo zhasne, jakmile aktivujeme env_explosion (1), která aktivuje
button_target (5), jenž hned aktivuje světlo. Celé je to však v tom, že jestliže
bychom dali mezi env_explosion (1) a button target (5) nějakou stěnu, jenž by
zabránila proniknutí ohně, entita button_target se neaktivuje a tak můžeme
tlačítkem mačkat jak chceme, entita env_explosion bude vybuchovat, ale její oheň
přes tuto stěnu nepronikne, netargetne button_target a ten netargetne světlo.Touto
stěnou je func_train (2), který startuje na path_corner (3). Na path_corner (4) se
přesune, jakmile rozbijeme žárovku. Tím se postaví mezi env_explosion a
button_target.
Její jméno musí být stejné jako je v Target on break v entite func_breakable, v
žárovce.
Tento obrázek zajistí, aby žárovka po sestřelení zhasnula. Funguje tak, že v této
poloze, jak je na obrázku, světlo svítí a tak potřebuje zhasnout. To se stane tak,
že entita env_explosion (1) po rozbití žárovky vybouchne a rozbije tak entitu
func_breakable (5) ( při button_target mi to nechce fungovat, nevíte někdo proč ? ),
kde je v kolonce Target on break jméno světla, čímž tedy po rozbití func_breakable
(5) světlo zhasne.Pokud je to naopak - světlo nesvíti, je func_train (2) na path_corner
(4) a oheň z env_explosion nerozbije func_breakable, ten tedy netargetne svělo, takže
zůstane zhasnuté.
Závěr
Toto řešení je, jak už jsem řekl, netradiční a má nevýhodu v tom, že je
zdlouhavé a je pouze pro jednu žárovku, takže pokud byste jich chtěli více, museli
byste toto všechno opakovat a to ještě téměř všechno s jinými jmény. Proto ho
doporučuji spíše do místností, kde je jedna lampa na stropě. Doufám, že to lze
udělat i jinak a mnohem jednodušeji, ale na to já jsem nepřišel. Podobným způsobem
se toto dá použít při přivolávaní výtahu atd.
Nezapomeňte, že exploze musí být dostatečně silná, aby zasáhla button_target, nebo
func_breakable. Taky jednotlivé moduly ( to, co vyřadí tlačítko a to, co zajistí
zhasnutí po rozbití ) musí být od sebe dotatečně daleko, aby exploze v prvním
neaktivovala něco v druhém.
Příklady
Příkladová mapa: svetlo.zipNa tuto příkladovou mapu reagoval Přema a poslal verzi svou.
Příkladová mapa od Přemy je zarofka.zip.
Přemova verze však obsahuje podstatnou chybu.
Created by Cr.
Přezdívka/nick: | |
Text příspěvku: (pouze holý text) | Napiš cifrou deset: |
Vím o tom, že je to hodně extravagantní řešení a teoreticky by se daly exploze možná nahradit samozřejmě spíš lasery :-P. A nebo něčím pro tento účel, věru, stvořeným.
Nicméně viděl jsem chlápka, co v Excelu naprogramoval (přepsal) nějaký starší Intelácký procesor, protože se nudil v práci a nic jiného mu mít k dispozici znemožnili. Jedna buňka byla jeden tranzistor, na začátku vstupy, na konci výstupy, a člověk si pak mohl klidně číst jednotlivé bity na tranzistorech kdekoliv uprostřed sešitu. Docela dobrá prácička. Teoreticky, takovými krkolomnými řešeními jako tato žárovka, byste mohli taky takový procesor vytvořit v Half-life :-).
heslo VHE