Strona główna
Witaj, nieznajomy!

Unique Jumps

Unique Jumps, po polsku Unikalne Skoki, towarzyszą nam już od GTA III. W San Andreas jest ich 70. Dlaczego by nie dodać własnych? Nie jest to trudne do zrobienia, a daje sporo zabawy dla gracza. Można je po prostu zdefiniować w MAIN lub stworzyć skrypt CLEO. W obu przypadkach ten właściwy kod będzie taki sam.
Jeszcze dodam, że za wszystkie wykonane skoki dostajemy 10 tysięcy dolarów, więc proszę się nie zdziwić jak po zdefiniowaniu jednego skoku z nagrodą 1000$ dostaniemy dziesięciokrotną wartość.

MAIN


Do zdefiniowania unikalnego skoku wystarczy zaledwie jeden opcode, dlatego nie musimy bawić się pętlami, kamerą itd. Nawet nie będziemy musieli stosować dodatkowych funkcji na ustawienie statystyk, gra od razu wykryje ilość unikalnych skoków i ilość wykonanych.

Kod:
0814: define_unique_jump_start 2565.78 -2050.79 4.29531 radius 5.0 5.0 5.0 land 2621.25 -2049.12 13.0953 radius 5.0 5.0 5.0 camera 2581.15 -2002.02 18.5953 reward 500


Kod jest trochę długi ale to dlatego że jest dużo współrzędnych. Wyjaśnienie:

2565.78 -2050.79 4.29531 - Pierwsze trzy parametry, które określają miejsce rozpoczęcia skoku.
radius 5.0 5.0 5.0 - Kolejne trzy oznaczają promień od punktu rozpoczęcia.
land 2621.25 -2049.12 13.0953 - Współrzędne miejsca lądowania. Jeśli gracz nie opadnie w ten punkt to skok nie zostanie zaliczony.
radius 5.0 5.0 5.0 - Kolejny promień ale tym razem do punktu lądowania. Gracz nie musi upaść dokładnie w oznaczony punkt bo byłoby to niemal niemożliwe, dlatego zastosowany jest promień, dzięki któremu gracz może wylądować w polu zasięgu promienia.
camera 2581.15 -2002.02 18.5953 - Współrzędne pozycji kamery. Gdy gracz znajdzie się w polu startowym, kamera powędruje do wyznaczonego punktu i będzie śledziła samochód, cały czas będzie skierowana ku niemu.
reward 500 - Nagroda za skok w postaci pieniędzy. Tutaj: 500$.

CLEO


W CLEO, jak powiedziałem na wstępie, kod wygląda tak samo. Podam tutaj kompletny przykład:

Kod:
{$CLEO .cs}
0000: NOP

0814: define_unique_jump_start 2565.78 -2050.79 4.29531 radius 5.0 5.0 5.0 land 2621.25 -2049.12 13.0953 radius 5.0 5.0 5.0 camera 2581.15 -2002.02 18.5953 reward 500

0A93: end_custom_thread


Dla ciekawych


Jeśli jesteś ciekawy jakby wyglądał powyższy kod rozłożony na czynniki pierwsze spójrz na poniższy przykład. Od razu mówię żeby nie stosować go w celu definiowania unikalnych skoków, gdyż jest to wolniejsza, bardziej męcząca i nie dająca identycznego efektu metoda.

Kod:
:UJ_1
wait 
10
if 
and
00EE: actor $PLAYER_ACTOR 0 near_point 2565.78 -2050.79 4.29531 radius 5.0 5.0 5.0 in_car
jf 
@UJ_1

015F: set_camera_position 2581.15 -2002.02 18.5953 rotation 0.0 0.0 0.0
0159: camera_on_ped $PLAYER_ACTOR 15 2
015D: set_gamespeed 0.5

:UJ_2
wait 
10
if
00EE: actor $PLAYER_ACTOR 0 near_point 2621.25 -2049.12 13.0953 radius 5.0 5.0 5.0 in_car
jf 
@UJ_2

015D: set_gamespeed 1.0
0109: player $PLAYER_CHAR money += 500


A teraz krótkie wyjaśnienie. Najpierw sprawdzamy czy gracz jest w punkcie starty, jeśli tak to ustawiamy kamerę i szybkość gry na połowę. Następnie sprawdzamy czy gracz już znajduje się w punkcie lądowania, jeśli tak to przywracamy szybkość gry do normy i dodajemy pieniądze na konto gracza.

Rampy


Unikalne skoki zazwyczaj wykonywane są za pośrednictwem rampy. W San Andreas jest ich kilka. Poniżej znajdują się ich numery ID i nazwy modeli, które można podejrzeć np. w Map Editorze, który jest dostępny do ściągnięcia w Naszym downloadzie.

1245 - newramp
1503 - DYN_RAMP
1660 - ramp
5152 - stuntramp1_las2
5153 - stuntramp7_las2
16367 - des_quayramp
13593 - kickramp03
13604 - kickramp05
13645 - kickramp06

Rampy najlepiej rozstawić we wspomnianym programie, Map Editor. Alternatywnie można to zrobić za pomocą skryptu. Więcej na temat tworzenia obiektów znajdziecie w poradniku "Obiekty".

Obejrzyj film podczas wykonywania przykładowego skoku.
Dodane przez: MakG
Posting comments to this article is disabled.
Created & Powered by MakG
Wszelkie prawa zastrzeżone