NEWS | ČLÁNKY | DOWNLOAD | GUESTBOOK | TUTORIALS ObnovitZavřít
 
hl - ZONE Half-Life Half-Life 2 Half-Life 3
 
Episode One Episode Two Opposing Force Blue Shift Counter-Strike 1.6
 INFO
Přidat do oblíbených
Nastavit jako Homepage

ICQ: 272-515-771 
Aktualizace:

 SYSTÉM
 TLAČÍTKA
hl-ZONE Button 1
 
hl-ZONE Button 2
 SPOLUPRACUJEME
 Spouštěče událostí Pátek 10. 03. 2006
<-- Je třeba někam vylézt? Tlačítka -->

Přicházím po velmi krátké době s dalším tutoriálem, jelikož jak jsem minule naznačil, je toho stále mnoho, o čem psát. Vše jsem důkladně promyslel a v dnešním tutoriálu si posvítíme na spouštěče událostí. Přesněji řečeno na entity trigger_once a trigger_multiple.

Na úvod:
Takže o co půjde? V prvé řadě o velmi jednoduchý tutoriál a o dvě World Entity, které mají v podstatě úplně stejný význam, jen se chovají trochu jinak. Mějme chodbu, která je rozdělena dveřmi na dvě půlky. Na jedné straně je nějaké zařízení (detektor pohybu), který zaznamená, když jím projdeme a otevře dveře. Ty zůstanou otevřené. Pokud detektorem projdeme znova dveře se zavřou a když jím opět projdeme zase se otevřou atd. Na to použijeme entitu trigger_multiple.

Pokud však projdeme dveřmi, následuje další detektor pohybu, po jehož aktivaci se dveře zavřou a už se znovu neotevřou. Tím pádem budeme navždy uvězněny v chodbě. Pro tento účel použijeme obdobu předchozí entity trigger_once.

Jak je patrné (nejen z názvu entit), ta první slouží jako vícenásobný spouštěč a ta druhá "pouze" jako jednorázový. A pochopitelně že slovo trigger znamená to samé (tedy spouštěč). Osvětlení problému tedy máme z krku, snad jste pochopili o co půjde, a můžeme se na to vrhnout.

Chodba:
Nejprve musíme vytvořit chodbu. Zapněme tedy VHE, otevřeme si novou, prázdnou mapu. Chodbu uděláme pomocí metody hollow a na zdi bych pro změnu zvolil texturu C1A0_WX. Vytvoříme si brush v pohledu top (x/y) o rozměrech 1024w, 128l, 160h. Poté ho označíme a pomocí Tools -> Make Hollow [Ctrl+H] vyvoláme tabulku, do které zadáme hodnotu -16. Chodba je nyní dutá, ale je z ní grupa, takže ji opět vybereme a pomocí Tools -> Ungroup [Ctrl+U] ji rozdělíme na jednotlivé brushe. Poté upravíme textury na podlaze a stropě. Pro podlahu můžeme zvolit texturu C1A0_LABFLR. Pro strop ji můžeme použít taky. Pak nám zbývá vytvořit několik světel, což by neběl být pro vás problém. Celá naše chodba by měla vypadat zhruba jako na obrázku 1.


Obr. 1
Chodba ve 3D pohledu

Teď už jenom zbývá vytvořit zeď rozdělující chodbu na dvě části a dveře s fatrami. Takže v prostředku chodby udělejte přepážku silnou 16 jednotek. Nyní vybere texturu BABTECH_DR1D a uděláme futra. Ta budou velká 16w, 96l, 128h a budou zarovnané v prostředku přepážky. Poté je vyřízneme pomocí Tools -> Carve [Shift+Ctrl+C]. Zarovnáme na nich textury a vytvoříme další brush - dveře. Textura BABTECH_DR1C. Velikost bude 4w, 64l a 96h a po zarovnání do černého prostoru je opět vyřízneme do futer. Poté aplikujeme na přední strany dveří texturu BABTECH_DR1E a na vnitřek futer FIFTIES_DR4B a pěkně zarovnáme.


Obr. 2
Chodba v pohledu top (x/y)

Nyní opět vybereme texturu C1A1C_W2 a vytvoříme brush o velikosti 128w, 96l a 512h a umístíme ho přesně do té díry. Pomocí hollow ho uděláme dutým (hodnota opět -16) a pomocí ungroup ho rozdělíme na jednotlivé brushe. Nyní vybereme přední stěnu (při pohledu z chodby) a zmenšíme ji na 336 jednotek (od spodu) a konečně vidíme do našeho výklenku. Opět změníme texturu podlahy a je to. Nyní by měla naše mapa vypadat jako na obrázku 3 (obrázek je z pohledu front (y/z)).


Obr. 3
Chodba s detektory

Z dveří uděláme entitu (Tie to Entity [Ctrl+E]) a v roletce Class vybereme func_door. Nastavení parametrů nechám na vás a pokud nevíte co znamenají přečtěte si tutoriál zabývající se tvorbou dveří. Jedinou hodnotu kterou nastavíme bude:

func_door - záložka Class_info:
Name: dvere
delay before close, -1 stay open: -1
Toggle: zaškrtneme (způsobí, že dveře půjdou ovládat pouze pomocí jiné entity, tedy spouštěče, tlačítka, nebo další složitější události)

Name: dvere dává této entitě svoje jméno na které se později budeme odkazovat právě spouštěči.

trigger_multiple a trigger_once:
Takže si vybereme texturu AAATRIGGER a vytvoříme brush vysoký jako náš detektor a široký přes celou chodbu. Jeho tloušťku nastavte libovolně, pěkné je třeba 16 nebo 32 jednotek. Převedeme ho na entitu (Tie to Entity [Ctrl+E]) a z roletky Class vybereme trigger_multiple. Parametry jsou následující:

trigger_multiple - záložka Class_info:
Target: cíl, na který se má odkazovat (jméno jiné entity)
Name: jméno entity, v tomto případě téměř zbytečné, ale pouze téměř
Kill Target: jméno entity, která se má po aktivace spouštěče vymazat z mapy
Master: jméno entity, která vykonává složitější skriptovací operace, někdy jindy
Delay before trigger: prodleva ve vteřinách, po které se entita aktivuje a vykoná to, co jsme ji nastavili
Delay before reset: prodleva ve vteřinách, po které se entita resetuje a je možné (pokud to dovoluje) ji znova aktivovat

trigger_multiple - záložka Flags:
Monsters: pokud chceme, aby mohli aktivovat entitu i postavy (monster_[x]) tak tuto možnost zaškrtneme, v opačném případě ji může aktivovat pouze hráč (tedy vy:-)

Pro naši mapu si nastavíme jednotlivé parametry takto:

trigger_multiple - záložka Class_info:
Target:dvere (musí být shodný se jménem entity, kterou chceme aktivovat, což je entita se jménem dvere)
Delay before trigger:0
Delay before reset:2

Tím máme entitu trigger_multiple nastavenou a pokud jí projdeme dveře se otevrou a zůstanou otevřené. Pokud ji projdeme znova (minimálně však za dobu, za kterou dojde k resetu entity, tedy dobu nastavenou v Delay before reset), tak se dveře zase zavřou a tak stále dokola. A ještě obrázek 4.


Obr. 4
Situace na chodbě

Teď k entitě trigger_once, kterou vytvoříme úplně stejným způsobem a umístíme ji do druhé chodby opět do našeho detektoru. Tato entita má i stejné parametry (chybí jen Delay before reset, což je logické, protože ji není třeba restartovat - vždy proběhne jen jednou) a bude mít i stejné nastavení, tedy:

trigger_once - záložka Class_info:
Target:dvere (musí být shodný se jménem entity, kterou chceme aktivovat, což je entita se jménem dvere)
Delay before trigger:0
Delay before reset:2

Závěr:
Tak, teď už jen stačí přidat info_player_start, uložit, zkompilovat a spustit. A to je vše. Snad jste to pochopili, protože to budete ve svých mapách používat neustále a myslím, že na tom nic k nepochopení není a tento tutoriál uvádím pouze pro úplnost.


Obr. 5
Dveře se otvírají

Obr. 6
Zavřeli se!!!

Obr. 7
Dveře jsou otevřené

Samozřejmě, že se spouštěče dají (a na 100% budou) používat úplně všude, takže se nemá cenu je podceňovat. Jiné příklady využití mě momentálně nenapadají, ale princip je vždy stejný. A to je důležité. A myslím, že na jiné zajímavé věci přijdete už sami. Pro zatím ZDAR!

 

SOUBORY

 

KOMENTÁŘE

 

Žádné komentáře nejsou zatím k dispozici
 

 

<-- Je třeba někam vylézt? Tlačítka -->

NAHORU ...

 ČERSTVÉ NOVINKY
 POSLEDNÍ TUTORIÁLY
 ANKETA
Staré ankety
 REKLAMA