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ů.Výtah
Rubrika: Half-Life & Counter StrikeNávod je určen pro editor Valve Hammer Editor. Hry Half-Life, CounterStrike 1.6
Na úvod:
Hned na úvod prozradím, že k tomu požijeme entitu func_train, která je vhodná pro tvorbu všeho co se má pohybovat po nějaké dráze. Od různých pístů, plošin nebo dokonce dveří až po výtahy. A to bude právě náš příklad. Dneska si vytvoříme jednoduchý výtah, který bude jezdit nahoru a dolů, podle toho, kde si ho aktivujeme.
Ve VHE je pro tvorbu výtahu k dispozici speciální entita func_plat, ale její použití jsem v praxi nepoužil a popravdě ani moc neviděl. Výtah se v podstatě může vytvořit mnoha různými způsoby a myslím, že by nebyl problém použít i entitu func_door a do kolonky Lip nastavit takovou hodnotu, aby výtah jezdil tak jak má (a v originálních mapách v Half-Life je to několikrát použito). Ale abych příliš neodbočoval.
Co k tomu tedy budeme potřebovat? Pochopitelně nějakou místnost a dvě úrovně podlahy (pokud nechápete, pochopíte). Dále několik tlačítek (pro ovládání a přivolání výtahu) a samozřejmě samotný výtah, tedy již zmiňovanou World Entitu func_train. Nakonec použijeme ještě entitu path_corner pro definování startovní a cílové polohy výtahu.
Místnost:
Opět vynechávám tvorbu místnosti, ale přikládám pár obrázků, jak by zhruba měla vypadat. Je totiž nutné, aby byla rozdělená na dvě poloviny, kde první bude o něco níž než druhá (tento „schod“ budeme překonávat pomocí výtahu). Také vše nějak osvětlete a umístěte info_player_start.
Také by bylo dobré aby tam, kde bude náš výtah (do předu podotýkám, že půjde o obyčejnou plošinku) byla podlaha vyříznutá, aby plošina mohla zajet až do podlahy a být zároveň s ní. A také nějakou ocelovou konstrukci, která bude výtah jistit (pochopitelně, že jde pouze o doplňky, které dělají mapu bohatší a propracovanější). Třeba pomůže následují obrázek.
Výtah jako func_train:
Tak, místnost máme hotovou a můžeme se pustit do tvorby samotného výtahu. Nejprve si řekneme základní údaje. Takže, plošina bude veliká 128x96x8 jednotek (výška je podle toho, jak hluboko jsme si vyřízli podlahu) a také by to chtělo nějaký válec (neboli píst), který bude naši plošinku zvedat nahoru nebo dolů. Ten bude 48x48 jednotek a výšku nastavíme podle rozdílu obou podlah. V mém případě to bude 176 jednotek.
Takže si ho pojďme vymodelovat. Dnes žádný model nepřikládám, jelikož je to velmi jednoduché a zabere to několik vteřin. Vybere texturu třeba GENERIC015A a uděláme brush 128x96x8 jednotek. Boky můžeme otexturovat třeba STRIPES2. Poté vybereme Block Tool [Shift+B] a vpravo se přepneme na Cylinder. Počet Face snachám na vás, ale hodnota 8 si myslím stačí. Takže uděláme brush o velikosti zmiňovaných 32x32x176 a co se nestalo? Místo kvádru nám vznikl válec:-) Přesuneme ho doprostřed plošinky a je to. Výtah je hotov. Následuje ho převést na entitu a nastavit.
func_train – záložka Class_info:
Name: jméno entity, pomocí kterého se na ni odkazujeme
Global Entity Name: globální jméno, které se používá pokud je třeba držet informace o entitě ve více mapách najednou
First Stop Target: jméno path_corneru, kde bude výtah začínat
Move Sound: zvuk, který bude výtah vydávat, když se bude pohybovat
Stop Sound: zvuk, který se přehraje vždy, když zastaví
Speed (unit per second: rychlost, kterou se bude výtah pohybovat
Damage on crush: počet healthů, které vám budou ubrány, když vás skřípne
Sound Volume 0.0 - 1.0: hlasitost zvuku, který výtah vydává
Minimum light level: hodnota minimální nasvícení entity
func_train – záložka Flags:
Not solid: entita nebude pevná, takže se skrze ní bude moci procházet
A náš výtah si nastavíme následovně:
Name: vytah
First Stop Target: pc_start
Move Sound: vyzkoušejte a nějaký nastavte
Stop Sound: vyzkoušejte a nějaký nastavte
Speed (unit per sekond): 64
Damage on crush: 50
Sound Volume 0.0 - 1.0: 0.5
Minimum light level: 0.2
Výtah je hotový. Chybí však cesta po které se má pohybovat. Tu vytvoříme pomocí Path_Cornerů. Takže si do mapy hned dva umístěte. Je důležité je umístit tak, aby vždy ve prostřed entity func_train takže to bude chtít trochu přemýšlet a také otestovat, zda vše sedí. Parametry entit jsou:
path_corner – záložka Class_info:
Name: jméno entity, pomocí kterého se na ni odkazujeme
Next Stop Target: jméno path_corneru, který bude následovat po aktuálním
Fire on Pass: slouží k definici nového path_corneru, pokud dojde k přehození vyhybky (tímto parametrem si nejsem 100% jistý)
Wait here (secs): doba, kterou bude pohybující se entita čekat na tomto místě než bude pokračovat dál (k dalšímu path_corneru)
New Train Speed: nová rychlost pohybující se entity
New Train rot. Speed: nová rotační rychlost pohybující se entity, pokud se entita (func_train) otáčí
path_corner – záložka Flags:
Wait for retrigge: pokud je zaškrtnuto, path_corneru na tomto místě zastaví a čeká na další spuštění triggerem (tlačítkem, ...)
Teleport: pokud je zaškrtnuto, na další path_corner se entita přesune okamžitě, nikam najede
Fire once: nejsem si jistý, ale myslím, že to má něco společného s Fire on Pass a znemožňuje to vrátit hodnotu původního path_corneru; ale je to opravdu bez záruky:-)
Takže to byla troška teorie a teď zpátky k naší mapě. Až path_cornery umístíte nastavte je následovně:
path_corner 1 - startovní pozice:
Name: pc_start
First Stop Target: pc_cil
Wait for retrigge: zaškrtneme, jinak by výtah jezdil sem a tam a my bychom nemohli vystoupit
path_corner 2 - cílová pozice:
Name: pc_cil
First Stop Target: pc_start
Wait for retrigge: zaškrtneme, jinak by výtah jezdil sem a tam a my bychom nemohli vystoupit
Na následujícím obrázku je výtah a oba path_cornery. Pro to aby jste je mohli vidět je obrázek v režimu Wireframe.
Tak, vše máme hotovo. Výtah i cestu, kudy se má pohybovat. Zbývá pouze doplnit tlačítka, kterými budeme výtah přivolávat a obsluhovat.
Tvorba tlačítek:
Tlačítko jsme vytvořili již několikrát, takže to vezmu velmi rychle. Vytvořte brush o velikosti 16x4x16 a umístěte ho někam ke zdi. Na jeho povrch umístěte texturu nějakého tlačítka (třeba +0BUTTON03) a převeďte na entitu func_button, kterou nastavte dle libosti. Jediné co je důležité nastavit je položka Target, do které napište jméno našeho větráku, tedy vytah. Poté ho umístěte někam dolů, zkopírujte a přesuňte také nahoru, abychom ho mohli ovládat i ze shora.
Tip01
Na úplný závěr jsem si nechal jeden tip. Je to velmi důležitá věc, tak radím, abyste si ji přečetly. Pokud mapu zkompilujete a máte vše nastaveno dobře, tak vám výtah bude jezdit, tak jak má. Je tu ale jiný problém: mapa je přesvícená. Respektive na ní nejsou žádné stíny (podobné jako když do mapy zapomenete vložit světlo). Je to způsobeno tím, že část našeho výtahu a jeden path_track jsou mimo viditelnou část mapy (tedy v prostoru, který se nazývá VOID). Mimo viditelnou část mapy se nesmí nacházet žádná entita, jinak vzniká LEAK a mapu nerozeběhnete vůbec nebo tak, jak sem uvedl. Náš problém vyřešíte jednoduše: okolo výtahu a entity umístěte nějaký brush nebo protáhněte podlahu dolů, tak aby vše zakryla.
Na tento fakt se často zapomíná, takže si to zapamatujte: žádná entita nesmí být ve VOID jinak mapa nebude správně fungovat!!!
Závěr:
Tím jsme se prokousali až na samotný závěr. Vytvořili jsme plošinu (nebo výtah), který jezdí od jednoho patch_corneru k druhému a zase zpět. Jak bylo řečeno není to jediný způsob jak výtah vytvořit, ale myslím, že jde o nejpoužívanější. A také jsme se naučili něco o samotné entitě func_train, která, jak bylo řečeno, se může použít pro tvorbu všeho možného, od pístů až k pohybujícím se cílovým bodům pro paprsky (tohle začátečníci nepochopí, ale mám v plánu se o tom v nějakém z příštích tutoriálů zmínit).
Takže, když umíme vytvořit klasický výtah, nebylo marné se podívat na výtah, který se bude během své jízdy otáčet kolem osy Z, nebo-li rotační výtah. K tomu použijeme entitu func_platrot a možná se i zmíním o entitě func_plat. To je pro zatím vše a přeji pěkný zbytek dne.
Soubory ke stažení:
Výtah (bsp, map, rmf; 20kB)
Přezdívka/nick: | |
Text příspěvku: (pouze holý text) | Napiš cifrou deset: |
jediná nevvýhoda je že funguje pouze pro spojení 2 patra