Więc, aby przystąpić do tej części tworzenia misji upewnij się że przeczytaleś/aś całkowicie
Tworzenie Misji - Podstawy !!!.
W tej części objaśnie podstawy MAIN.
Definicje:
Kod:
DEFINE MISSIONS 0
W tej funkcji deklarujesz ilość misji. DEFINE MISSIONS '0' = 0 jest ilością misji w calym skrypcie, jezeli zrobisz tylko
jedną powinnieneś wpisać 1, po czym ją pod spodem zdeklarować, jeżeli zrobileś np. 5, wstaw 5 i zdeklaruj je.
Kod:
DEFINE MISSION 0 AT @NAZWA
Zacznijmy od słowa DEFINE MISSION, deklaruje ona nową misję. Potem mamy liczbę 0, oznajmia ona który numer ma definiowana
misja, pamiętaj aby dodawać od 0 wzwyż !!!.
@NAZWA = Nagłówek do którego skoczy funkcja start_mission, wywolując ją.
Kod:
DEFINE EXTERNAL_SCRIPTS 0
Tutaj definiujemy dodatkowe skrypty, żywać tak samo jak DEFINE MISSIONS i deklarować skrypty podspodem.
Kod:
DEFINE SCRIPT MY_SCRIPT AT @EXT_SCRIPT
Definiuje dodatkowe skrypty, MY_SCRIPT to nazwa skryptu a @EXT_SCRIPT to jest procedura pod ktorą znajduje się dany skrypt.
Kod:
DEFINE UNKNOWN_EMPTY_SEGMENT 0
DEFINE UNKNOWN_THREADS_MEMORY 0
Nie wiem do czego te funkcje służą ale są one wymagane przy starcie skryptu więć lepiej je wkleić tak jak są i nic w nich nie zmieniac.
Przejdźmy teraz do szkieletu main.
Szkielet main:
Na początek powinno się dodać funkcję:
Kod:
thread "Main"
która oznajmi że z tego miejsca ma się rozpocząć główny kod.
Następnie powinniśmy oznajmić jak się bedzie nazywał gracz, funkcja:
Kod:
var
$PLAYER_CHAR: Player
end
oznajmia że gracz jest uważany jako $PLAYER_CHAR .
Kod:
01F0: set_max_wanted_level_to 6
Odpowiedzialne za największy stopień poszukiwawczy przez policje(gwiazdki, wandted level).
Maksymalnie mamy 6 gwiazdek, więc nie przekraczać tej ilości ponieważ napotkamy błąd w grze ...
Kod:
set_wb_check_to 0
Funkcja odpowiedzialna za sprawdzanie Wasted/Busted w misjach.
Kod:
00C0: set_current_time 8 0
Funkcja odpowiedzialna za ustawianie zegara w grze, pierwsza liczba to godzina (od 0 do 24), druga liczba to minuty (od 0 do 59).
Kod:
04E4: unknown_refresh_game_renderer_at 2488.5601 -1666.84
Ta funkcja odpowiada za miejsce, w które umiesci gracza jeżeli napotka odpowiedni błąd w coordsach ....
Kod:
$PLAYER_CHAR = Player.Create(#NULL, 2488.5601, -1666.84, 13.38)
Funkcja robi postać z naszego $PLAYER_CHAR zdefiniowanego wyżej, #NULL to model gracza, poczym mamy coordsy x,y,z
Kod:
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)
Nie wszystkie funkcje aktorów są przypisane graczowi, więc jeżeli jedna z potrzebnych funkcji nie będzie obsługiwana przez $PLAYER_CHAR, lecz potrzebujemy jej, powinniśmy z gracza zrobić też aktora, w tej procedurze nazwanym $PLAYER_ACTOR w pierwszym zdaniu.
Kod:
Camera.SetBehindPlayer
Ustawiamy kamerę, aby była kierowana zza gracza.
Kod:
set_weather 0
Ustawienia pogody, od 0 do 22
Kod:
wait 0
Funkcja która odczeka aż gracz zostanie poprawnie zbudowany, funkcjami poniżej które zaraz nadejda.
Oczywiście aktora trzeba w coś ubrać, a w tym pomogą nam te oto funkcje:
Fryzura:
Kod:
$PLAYER_CHAR.SetClothes("PLAYER_FACE", "HEAD", Head)
Koszulka:
Kod:
$PLAYER_CHAR.SetClothes("VEST", "VEST", Torso)
Spodnie:
Kod:
$PLAYER_CHAR.SetClothes("JEANSDENIM", "JEANS", Legs)
Buty:
Kod:
$PLAYER_CHAR.SetClothes("SNEAKERBINCBLK", "SNEAKER", Shoes)
Po czym musimy zbudować gracza w tych ubraniach, które zdefiniowaliśmy, funkcją:
Kod:
$PLAYER_CHAR.Build
Następnie udostępnijmy graczowi ruch, funkcja:
Kod:
$PLAYER_CHAR.CanMove = True
Po czym rozjaśnijmy ekran aby widzieć środowisko:
Kod:
fade 1 0
Tak więc, to co najgorsze już za nami teraz tylko ustalić w jakim środowisku gracz się ma znajdować, określmy ulice, numer 0 funkcja:
Kod:
select_interior 0
Ustalmy teraz gdzie ma się gracz znaleźć, gdy zginie lub zostanie złapany przez policję. Aby określić funkcję która wrzuci gracza po śmierci pod szpital piszemy:
Kod:
016C: restart_if_wasted at 2027.77 -1420.52 15.99 angle 137.0
unknown 0
Aby określić gdzie ma się znaleść gracz, gdy zostanie złapany przez policję piszemy:
Kod:
016D: restart_if_busted at 1550.68 -1675.49 14.51 angle 90.0
unknown 0
No i na sam koniec zakończmy main funkcją:
Kod:
end_thread
Tak zainicjowaliśmy podstawowe funkcje odpowiedzialne za poprawne działanie środowiska gracza !
Autor:
Mordecki
Posting comments to this article is disabled.