|
|
| |
| ZASOBY |
| |
| |
|
|
|
| |
|
| NASZ BUTTON |
|
|
| |
|
|
| |
|
| |
|
TUTORIALE - MAPPING
|
[ Dodaj ]
|
|
Losowy spawn obiektów oraz dokowanie (Znajdź, Przynieś i Zamontuj)
| [ 2009-12-30 20:02:01 Dodał:
zwieracz Wyświetleń: 714 Komentarzy: 8 ]
|
|
Czyli jak zrobić, aby za każdym razem gdy odpalimy mapę, określony obiekt pojawił się w innym, losowo wybranym miejscu, a po przyniesieniu w miejsce docelowe "przykleił się" i tam został.
Dobrym przykładem jest mapa zm_docksofthedead w modzie Zombie Master. Gracze muszą odnaleźć porozrzucane po mapie obiekty i zamontować je w samochodzie.
Jest to również dobry sposób na zrobienie np, klucza do drzwi.
W tym tutku posłużymy się akumulatorem i 4 miejscami w których będzie mógł się pojawić. Następnie gdy zbliżymy go do "stacji dokującej" zostanie automatycznie zamontowany na swoje miejsce:
 
1. Spawnowanie.
Wstawiamy na mapę byt PROP_PHYSIC. Wybieramy dla niego model akumulatora (car_battery01.mdl) i nazywamy, np. battery_01. Dla zwiększenia wydajności można wyłączyć cień. Akumulator ustawiamy dokładnie w takiej pozycji i miejscu w jakim ma się pojawić na mapie.
Teraz obok (obojętnie gdzie) wstawiamy byt POINT_TEMPLATE, nazywamy go battery01_template i w polu Template 1 wpisujemy nazwę naszego akumulatora: battery_01.
Mamy już gotowy jeden zestaw. Teraz w zależności od tego ile chcemy miejsc biorących udział w losowaniu, tyle musimy stworzyć takich zestawów. Ja zrobiłem 4. Każdy akumulator musi mieć inną nazwę, a każdy POINT_TEMPLATE musi się odwoływać tylko do jednego, konkretnego akumulatora. Bardzo ważne (dla późniejszego dokowania) jest, aby nazwy miały ten sam pierwszy człon, a inny numer po twardej spacji, np: battery_01, battery_02, itd (wyjaśnię to póżniej).
U mnie to wygląda tak:
2. Mechanizm losowania.
Wstawiamy 1 byt LOGIC_CASE i nadajemy mu imię, np: logic_case. Ustawiamy outputy:
Teraz dodajemy jeszcze byt LOGIC_AUTO, w którym wystarczy jeden output:
OnMapSpawn | logic_case | PickRandom
LOGIC_AUTO automatycznie odpali byt LOGIC_CASE, który wylosuje 1 z 4 akumulatorów.
3. Dokowanie
Teraz stworzymy stację dokującą dla naszego akumulatora. Tworzymy jeszcze jeden akumulator, tym razem jako PROP_DYNAMIC_OVERRIDE (równie dobrze może być to zwykły PROP_PHYSIC z zaznaczonym motion disabled). Ustawiamy go dokładnie w takim położeniu jakie ma być widoczne w grze. Nazywamy go np: battery_onplace. Tworzymy analogicznie jak poprzednio POINT_TEMPLATE, nazywamy go (battery_onplace_template) i ustawiamy nazwę Template 1: battery_onplace.
Teraz najważniejsze. W miejsce, w którym ma być "gniazdo" na akumulator wstawiamy brush (najlepiej wielkości propa), nakładamy teksturę trigger i zamieniamy na byt TRIGGER_ONCE.
Zanim jednak ustawimy outputy, musimy wstawić na mapę byt FILTER_ACTIVATOR_NAME. Nadajemu mu imię battery_filter, a w polu Filter Name wpisujemy battery*. Gwiazdka jest bardzo ważna.
O co chodzi? W momencie gdy podejdziemy tutaj ze znalezionym akumulatorem, ten w naszych rękach zniknie, a pojawi się ten na stałe przymocowany. Stworzy to iluzję, że to jeden i ten sam przedmiot. Gdyby nie wstawić filtra, każdy przedmiot aktywował by ukryty akumulator, a w konsekwencji cały mechanizm, który może on uruchamiać (a nam chodzi przecież o konkretny item). Gwiazdka oznacza, że filtr przepuści każdy przedmiot z nazwą zaczynającą się od "battery". Dzięki temu wszystkie akumulatory będą działać, a my nie musimy wstawiać kilku filtrów dla każdej nazwy z osobna.
Dodatkowo, dla ładnego efektu wstawmy jeszcze dźwięk, który utwierdzi gracza, że obiekt jest na swoim miejscu. Dodajemy AMBIENT_GENERIC, nazywamy go (battery_onplace_sound) i wybieramy dźwięk (np, Metal_Barrel.BulletImpact).
Wszystko powinno wyglądać mniej więcej tak:
Na screenie pomarańczowy i szary brush to tylko ozdoba (func_detail). Jasnoszary klocek po lewej to POINT_TEMPLATE.
Teraz już możemy dodać outputy do trigger_once:
Po co zabijamy wszystkie 4 akumulatory, gdy zawsze jest widoczny tylko jeden? Bo nie wiemy który jest aktualnie w użyciu, więc dla pewności zabijamy wszystkie.
To jeszcze nie koniec. W polu Filter Name wpisujemy nazwę filtra. Inaczej nie zadziała. We flagach natomiast zaznaczamy tylko 2 pola: Pushables i Physics Objects.
I to wszystko.
DOŁĄCZONE PLIKI: LOGIC.ZIP ( 17 KB )
|
|
|
| |
| KOMENTARZE |
|
| [ 2009-12-30 22:18:38 Dodał:
Tracha ]
|
|
|
Ogółem good |
| |
|
|
zwieracz, tutek zwarty i gotowy do użycia, przyda się, GJ |
| |
| [ 2009-12-31 10:10:09 Dodał:
Fighter ]
|
|
|
|
Dobrze napisany tutek, przyda się na mapie nad którą pracuje ^^ |
| |
| [ 2009-12-31 10:36:42 Dodał:
kuba222 ]
|
|
|
|
super tutek THX |
| |
| [ 2009-12-31 12:45:21 Dodał:
Hooch ]
|
|
|
|
Fajny tut. |
| |
| [ 2009-12-31 15:02:19 Dodał:
Paluch. ]
|
|
|
|
Great work. |
| |
|
|
Ja nie miałem tyle komci |
| |
| [ 2010-01-02 14:23:44 Dodał:
ghost ]
|
|
|
Super Tutorial
Zwieracz ma anielską cierpliwość do tworzenia tutków na smc. |
|
|
|
|
|
| |
|
|
| |
| SHOUTBOX |
|
Tracha: Ach, ta czerń w NH2 jest wyprana w Perwolu Black Magic! :3 |
|
Tracha: Ale to takie fajne ostrzeliwać tych talibów! :3 |
|
Dabu: Przecież ten Black Ops to trzeci raz dokładnie to samo. :O Jeszcze się nie znudziły map packi sprzedawane w cenie gry? |
|
pietrekder: Jeśli nie da się grać talibem i rozpierdzielać zasranych amerykańców to gra do dupy :] |
|
Hooch: Oglądać o 3 w nocy Link |
|
NaVarion: Pills here! |
|
Tracha: Lizard, use the plaster! |
|
MoonBlaze: interesting |
|
Lizard: Wieszak mi na głowę spadł ;/ |
|
Tracha: Szkoda, starcze. |
|
| |
|
|
|