Jak zwykle zaczynamy od mapki testowej. Możecie zwyczajnie postawić ścianę, oddzielającą "info_playerstart" od reszty świata, ale najlepiej zróbcie jakieś pomieszczenie (pokój, domek), oczywiście z otworem na drzwi. Dookoła domku przydałoby się trochę trawy, zresztą popatrzcie na screena.
Teraz trzeba zabrać się do prawdziwej roboty. Klikamy prawym na siatce i wybieramy "script"->"vehicle". W okienku Entity ("N") wpisujemy następujące key\value:
Kod:
Key: model
Value: vehicle_uaz_light
Key: vehicletype
Value: uaz
Okej, teraz na mapie powinien się pojawić jeep. Stawiamy go obok domku:
Teraz, zaznacz UAZ'a i w okienku entity wpisz następujące key\value:
Kod:
Key: script_vehicleride
Value: 1 //Tutaj wpisz dowolną liczbę powyżej zera, będzie ona potrzebna do przypisania załogi.
OK, teraz czas na nody. Kliknij prawym na siatce i wybierz "info"->"vehicle"->"node". Postaw ją przed jeepem. Zaznacz tą nodę i w okienku "Entity" zaznacz "START_NODE". Teraz postaw kilka innych nodów (NIE mogą mieć zaznaczonego "START_NODE"). Okej, kiedy masz ścieżkę mniej więcej zrobioną (możesz oczywiście pokombinować tu trochę np. z "vehicle_node_rotate"), zaznacz jeepa, potem "START_NODE" i wciśnij "W". Teraz zaznacz "START_NODE", potem drugiego noda na ścieżce i wciśnij "W". Teraz zaznacz tego drugiego noda, potem trzeciego... itd.
Kiedy masz całą ścieżkę zrobioną zaznacz wszystkie nody (BEZ JEEPA !), wciśnij "Shift+V", w okienku koło "Set Speed" wpisz np. 9 i wciśnij "Set Speed". Okienko się zamknie. Przywołaj je znowu i powtórz tą samą czynność z "Set Lookahead", tylko to ustaw na wartość 1. Jeśli wszystko zrobiłeś dobrze, to powinna pokazać się taka czerwona linia ze strzałkami:
(Zwróćcie uwagę, że trochę powiększyłem trawę, bo inaczej jeep by się nie zmieścił :) ).
Okej, całkiem nieźle Ci idzie :) . Teraz pora na trigger i aktorów (botów) :D. Na całej szerokości drzwi Twojego domku (teraz wiesz, dlaczego akurat do tej mapki testowej zrobiłem domek ? :) ) postaw brusha z teksturą "tools"->"trigger". Następnie, kiedy masz triggera zaznaczonego, kliknij na nim (na siatce) prawym przyciskiem myszy i wybierz "trigger"->"multiple". Okej, teraz zaznacz Triggera, POTEM UAZ'a i wciśnij "W". Okej, powinna między nimi pojawić się taka czerwona strzałka. Teraz zaznacz oba, triggera i auto, wciśnij "Shift+V" i kliknij "Spawn Vehicle". Okno samo się zamknie, znowu je przywołaj, ale tym razem kliknij na "Move Vehicle":
Teraz pora na aktorów. Postaw obok UAZ'a trzech żołnierzy (obojętnie jakich, byle tylko nie wrogów :> ). Okej, zaznacz ich wszystkich, wciśnij "N" i zaznacz okienko "SPAWNER". Wpisz im jeszcze następujące key\value:
Kod:
Key: script_vehicleride
Value: 1 //Tutaj wpisz tą liczbę, którą wpisałeś przy samochodzie.
OK, teraz jednemu z nich wpisz key\value:
Kod:
Key: script_startingposition
Value: 0
Drugiemu wpisz 1, trzeciemu 2, itd.
Co to oznacza? To każe aktorowi zrespawnować się w danym miejscu.
Kod:
0 - kierowca
1 - strzelec
2 - pasażer
3 - pasażer
Powinno to wyglądać tak:
Zrobione? Teraz zaznacz tylko UAZ'a wciśnij "Shift+V" i kliknij na "Set Team Allies". Możesz zamknąć już radianta :). W pliku NAZWA_MAPY.gsc wpisz jeszcze:
Możesz skompilować BSP, zbudować Fast File i... odpalić :) .
DRUGA CZĘŚĆ - HELIKOPTERY
A teraz, druga część tutorialu - helikoptery. Dziękuję tutaj bardzo użytkownikowi Pablo_Abruzzi, który napisał ten tutorial, co pozwoliło oszczędzić mi kupę czasu :D Ja tylko wprowadziłem małe poprawki, pomogłem przy skrypcie i zrobiłem obrazki :) .
Aha, oczywiście możecie zrobić śmigłowiec sposobem opisanym wyżej, ale jak będziecie odpalać mapę z włączonym "Enable Developer", mapa nie odpali, będzie się czepiała o "helicopter on vehicle path"... Ale do rzeczy:
Aha, jeszcze jedno. Użyjcie do tego mapki testowej z poprzedniego tutorialu, NIE usuwajcie UAZ'a :) .
TWORZENIE JEDNOSTEK NADZIEMNYCH
Śmigłowiec Blackhawk
Więc na mapie stawiamy script_vehicle. Otwieramy okienko "Entity" i wpisujemy:
Key: model
Value: vehicle_blackhawk
Key: vehicletype
Value: blackhawk
Postawcie go mniej więcej tak:
Teraz ustawiamy mu jego "identyfikator", dzięki któremu będziemy mogli przypisać mu załogę:
Key: script_vehicleride
Value: 2 - tu dowolna liczba
OK. Teraz tworzymy trigger_multiple, do którego trzeba będzie wejść aby się pojawił. Zaznaczamy triggera, następnie blackhawka i wciskamy "W". Teraz zaznaczamy triggera i blackhawka i wciskamy shift+v i zaznaczamy:
SpawnVehicle
MoveVehicle
Wiadomo o co chodzi. Jeśli wejdziemy w ten trigger, blackhawk się pojawi.
Następnie zaznaczamy Blackhawka i wciskamy shift+v i zaznaczamy mu team (allies czy axis, przyjaciel czy wróg), no a potem co tam chcemy: energię itd.
Następny krok to zrobienie trasy, po której będzie się poruszał.
Wciskamy PPM na mapie i wybieramy script_struct, robimy ich kilka i łączymy BlackHawk oraz pierwszy script_struct, potem pierwszy z drugim itd.
Dalej możemy ustawić w którymś z script_struct, "script_stopnode" na 1, wtedy przy nim Blackhawk odegra animacje zatrzymania. Jeśli chcemy, aby przy danym punkcie wyładował ludzi poprzez zjeżdżanie po linie wpisujemy w key "script_unload", natomiast jeśli w value ustawimy "both" wyładuje wszystkich (oprócz pilotów oczywiście).
Uwaga od Konri'ego: oczywiście trasę możecie zrobić taką, jaka wam się podoba:
Radziłbym jednak, aby helikopter leciał bezpośrednio do script_structa, w którym opisane jest wyładowywanie żołnierzy, a potem odleciał:
Teraz czas na przypisanie załogi.
Tworzymy żołnierza koło śmigłowca, otwieramy okienko "Entity" i w nim wpisujemy:
Key: script_vehicleride
Value: 2 //tutaj numerek, który wpisaliśmy w "vehicleride" śmigłowca
Key: script_startingposition
Value: 0 //tutaj numer pozycji startowej
Spis pozycji startowych:
0- pilot
1- drugi pilot
2- pasażer
3- pasażer itd.
Jeśli się nie mylę, do Blackhawka można przypisać aż 8 żołnierzy. Zaznaczamy teraz ich wszystkich i w okienku Entity zaznaczamy "SPAWNER".
To wszystko w edytorze. Możemy zamknąć.
Teraz w pliku *.gsc wpisujemy:
Kod:
main()
{
maps\_uaz::main( "vehicle_uaz_light" );
maps\_blackhawk::main( "vehicle_blackhawk" );
maps\NAZWAMAPY_anim::main(); //to ścieżka do pliku NAZWAMAPY_anim.gsc, który musimy stworzyć
maps\_load::main();
}
Zatem w pliku raw/maps, tworzymy plik NAZWAMAPY_anim.gsc i w nim wpisujemy: