Strona główna
Witaj, nieznajomy!

Instalacja i podstawy CLEO

Po przeczytaniu tego poradnika nauczysz się korzystać z dobrodziejstw jakie oferuje nam biblioteka CLEO. Zacznijmy od podstawowych wiadomości...

Czym jest CLEO?


CLEO jest biblioteką do GTA, która daje nam nowe możliwości tworzenia skryptów. Przykładowo odtwrzanie plików MP3 w dowolnym momencie gry. Oprócz nowych funkcji (opcodów) biblioteka ta posiada jeden, duży plus. Po skompilowaniu skryptu SCM możemy uruchomić go na starych zapisach, nie trzeba rozpoczynać nowej gry.
Projekt jest cały czas rozwijany, a jego stwórcą jest Seemann. Aktualna wersja została oznaczona numerem 4.

Instalacja CLEO 4

Instalacja biblioteki CLEO 4 jest banalnie prosta. Wystarczy pobrać instalator z naszej strony i uruchomić go.

Uwagi wstępne

W skryptach CLEO nie powinno się stosować zmiennych globalnych, lecz zmienne lokalne. Użycie niezdefiniowanej nazwy zmiennej globalnej może spowodować nadpisanie wartości w głównym wątku GTA (main.scm) i tym samym crash gry.

Więcej o zmiennych w tym poradniku.

W skryptach CLEO (*.cs) można użyć zmiennych lokalnych tylko z przedziału 0@ - 33@, gdzie zmienne 32@ i 33@ to wbudowane liczniki, które są cały czas aktualizowane i nadpisywane. Więcej o licznikach w tym poradniku w sekcji "Wbudowane liczniki".

Pierwszy skrypt


Tworzenie skryptów do biblioteki CLEO jest niemal identyczne jak zwykłe SCM. Mają one tylko inny początek i zakończenie, swobodnie można używać tych samych funkcji co w pisaniu skryptów SCM. W tym artykule nie będę używał nowych kodów, które udostępnia nam CLEO. Należy też pamiętać że skrypty wspomnianej biblioteki korzystają z nazw zmiennych z pliku main.scm, czyli nie musimy np. ponownie deklarować gracza jako aktora.

Kod:
{$CLEO .cs}
0000: NOP


Pierwszą linjką dajemy kompilatorowi znać, że jest to skrypt CLEO. Gdybyśmy ją ominęli, po kompilacji dostalibyśmy zwykły skrypt SCM zamiast CS. Drugą linijką rozpoczynamy skrypt CLEO. To cały wstęp, możemy przejść do konkretnych działań. Chyba najprostszym przykładem jest stworzenie spawn samochodu, dlatego najpierw tym się zajmiemy, a później trochę "zaszalejemy".

Kod:
0247: request_model #INFERNUS
0247: request_model 182
038B: load_requested_models


Jeśli chcemy korzystać z jakichś modeli, najpierw oczywiście musimy je załadować. Powinieneś wiedzieć już jak to działa po przeczytaniu podstaw tworzenia misji. Załadowaliśmy taksówkę (zmienna 0@) i kierowcę (zmienna 1@).

Kod:
00A5: 0@ = create_car #INFERNUS at 2499.2405 -1682.202 13.3649
0175: set_car 0@ z_angle_to 280.5
00AD: set_car 0@ max_speed_to 15.0

0129: 1@ = create_actor_pedtype 23 model 182 in_car 0@ driverseat


Powyższe funkcje też na pewno są Ci znane. Na początku Tworzymy samochód, obracamy go i ustalamy prędkość. Później tworzymy w wozie kierowcę.

Kod:
:petla1
wait 
10
if 
and
00E1: player 0 pressed_key 16
00E1: player 0 pressed_key 15
0206: actor $PLAYER_ACTOR near_car 0@ radius 5.0 5.0 3.0 flag 0 on_foot
jf 
@petla2

05CA: AS_actor $PLAYER_ACTOR enter_car 0@ passenger_seat 0 10000 ms


Teraz sprawdzamy czy gracz nacisnął jednocześnie klawisz sprintu i wejścia do samochodu (SPACJA + F) oraz czy jest blisko taksówki. Jeśli nie to przeskakujemy do następnej pętli. Jeśli tak to gracz automatycznie wsiada do taksówki jako pasażer.

Kod:
:petla2
wait 
10
if
00DB: actor $PLAYER_ACTOR in_car 0@
jf 
@petla1

00A7: car 0@ drive_to 2095.6367 -1792.661 13.0752


Za pomocą tej drugiej pętli sprawdzamy czy gracz jest w taksówce. Jeśli tak to taksówka jedzie pod fast fooda. Jeśli nie, przeskakujemy do pierwszej pętli.

Kod:
0A93: end_custom_thread


Powyższą funkcją kończymy skrypt CLEO. Jest tak samo krótki jak początek.

Teraz kompilujemy skrypt. Skompilowany plik będzie miał rozszerzenie .cs. Należy go wkleić do katalogu cleo lub w programie Sanny Builder wybrac po prostu opcję Kompiluj + kopiuj. Możemy teraz wejść do gry, wczytać dowolny save i cieszyć się taksówką pod domem CJa, która zawiezie nas do fast fooda kiedy będziemy głodni.
Dodane przez: MakG
Posting comments to this article is disabled.
Created & Powered by MakG
Wszelkie prawa zastrzeżone