Stworzenie własnego kodu (cheata, ułatwienia) dzięki CLEO4 jest bardzo proste. Dla przypomnienia, W GTA SA kody są uaktywaniane po wpisaniu odpowiedniego słowa podczas gry. W CLEO mamy do tego specjalny opcode, dzięki czemu nie musimy ręcznie sprawdzać każdej litery po kolei.
Poniżej widać konstrukcję nowego cheata:
Kod:
{
$CLEO .cs}
thread "cheats"
while true
wait 0
if
0ADC: test_cheat
"NOWYCHEAT"
then
end
Należy pamiętać, że w nazwie cheata należy stosować wyłącznie litery alfabetu angielskiego, bez żadnych znaków specjalnych.
Jeżeli chcemy dodać cheaty "masowo", tj. kilka naraz, w jednym skrypcie, to wystarczy wstawić kolejne warunki
w środku pętli
while.
Kod:
{
$CLEO .cs}
thread "cheats"
while true
wait 0
if
0ADC: test_cheat
"NOWYCHEAT"
then
if
0ADC: test_cheat
"CHEATONE"
then
if
0ADC: test_cheat
"CHEATTWO"
then
end
0A93: end_custom_thread
W dalszej części tego poradnika przedstawię kilka przykładowych cheatów.
Kod:
{
$CLEO .cs}
thread "cheats"
while true
wait 0
if
0ADC: test_cheat
"NEWLOOK"
then
while
true
wait 0
0209: 0@ = random_int_in_ranges 7 264
if and
not 0@ == 8
not 0@ == 42
not 0@ == 65
not 0@ == 74
not 0@ == 86
not 0@ == 208
then
break
end
end
0247: load_model
0@
038B: load_requested_models
09C7: change_player
$PLAYER_CHAR model_to
0@
end
if
0ADC: test_cheat
"IWANTMEBACK"
then
09C7: change_player
$PLAYER_CHAR model_to #NULL
0687: clear_actor
$PLAYER_ACTOR task
end
end
0A93: end_custom_thread
Krótkie wyjaśnienie:
Pierwszy cheat "NEWLOOK" zmienia model gracza na inny, losowy. Najpierw wybieramy liczbę z przedziału od 7 do 264 (takie numery mają przydzielone modele postaci w GTA SA). Następnie upewniamy się, że skrypt nie wylosował tych, które nie istnieją. Jeżeli wszystko jest w porządku, przechodzimy dalej i ładujemy model, a następnie ustawiamy go graczowi.
Drugi cheat "IWANTMEBACK" po prostu zmienia model gracza na pierwotny (CJ ubrany w kupione przez nas ciuchy).
Kod:
{
$CLEO .cs}
thread "cheats"
while true
wait 0
if
0ADC: test_cheat
"LETSGO"
then
0208: 1@ = random_float_in_ranges -2800.0 2800.0
0208: 2@ = random_float_in_ranges -2700.0 2700.0
0208: 3@ = random_float_in_ranges -10.0 50.0
04BB: select_interior 0
0860: link_actor
$PLAYER_ACTOR to_interior 0
if
044B: actor
$PLAYER_ACTOR on_foot
then
02C0: store_to
4@ 5@ 6@ ped_path_coords_closest_to
1@ 2@ 3@
00A1: put_actor
$PLAYER_ACTOR at
4@ 5@ 6@
else
02C1: store_to
4@ 5@ 6@ car_path_coords_closest_to
1@ 2@ 3@
03C0: 7@ = actor
$PLAYER_ACTOR car
00AB: put_car
7@ at
4@ 5@ 6@
end
end
end
0A93: end_custom_thread
Krótkie wyjaśnienie:
Po wpisaniu "LETSGO", skrypt wylosuje współrzędne XYZ i przypisze je kolejno do zmiennych
1@, 2@, 3@. Następnie w zależności od tego, czy gracz jest w pojeździe, czy nie, odczytamy współrzędne najbliższej ścieżki dla ludzi lub samochodów. Na koniec przenosimy gracza w wyliczoną pozycję.