Код простенький. Изучайте. Там все подробно описано
Code
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
:3
wait 0 // Ждем 0 сек.
if //Если нажата клавиша F9...
0AB0: key_pressed 121
0ADC: test_cheat "MENU"
else_jump @3//Если клавиша F9 не нажата то скрипт возвращается на метку 1
Player.CanMove($PLAYER_CHAR) = False //Выключаем управление персонажа
0581: enable_radar 0 //Убираем радар
gosub @0_629 //прыжок с выполнением действий и возвратом
08D4: 1@ = create_panel_with_title 'WEAPONS' position 29.0 170.0 width 120.0 columns 1 interactive 1 background 1 alignment 0 // Создание панели "weapons" на координатах 29.0 170.0, с шириной 120.0, 1 колонкой, активная.
08DB: set_panel 1@ column 0 header 'DUMMY' data 'PLA_10' 'PLA_11' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' // Создаем строчки меню (DUMMY - Это пустота. PLA_10 - Название строчки.)
jump @0_248 // Прыгаем на метку 0_248
:0_248
wait 0
if
00E1: player 0 pressed_key 16 //Если нажата клавиша пробел
else_jump @0_342 // Если клавиша 16 не нажата, то скрипт прыгает на метку 0_342
08D7: 2@ = panel 1@ active_row //Записываем строку которая выбрана в переменную 2@
0871: init_jump_table 2@ total_jumps 2 default_jump 0 @0_342 jumps 0 @0_409 1 @0_459 2 @null 3 @null 4 @null 5 @null 6 @null //Тут дается каждой строке действия, ( null Это пустая строка, она нужна для того чтобы не было дальше ошибок)
return
:0_342
wait 0
if
0ADC: test_cheat "CLOSE" //Если клавиша F10 нажата то...
else_jump @0_248
0581: enable_radar 1 // Если клавиша F10 нажата то, включаем радар.
08DA: remove_panel 1@ Если клавиша F10 нажата то, закрываем меню
player.CanMove($PLAYER_ACTOR) = true // Включаем управление персонажем
jump @1 // Возвращаемся на начала.
:0_409
wait 0
actor.PutAt($PLAYER_ACTOR, 0.0, 0.0, 0.0) //Телепорт на координаты фермы по нажатию на 1-ую строку
jump @0_248
:0_459
wait 0
actor.SetImmunities($PLAYER_ACTOR, 1, 1, 1, 1, 1) //Активация бессмертия при нажатии на вторую строку
jump @0_459
:null // Пустое действие для пустой строки.
jump @0_459
:0_629 //Тут стандартный текст GTA переписывается на ваш
0A9F: 1@ = current_thread_pointer
1@ += 16
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
1@ -= @1 //текст №1 в меню
1@ += 3
0AA8: call_function_method 6946896 12694336 num_params 1 pop 0 1@ 0@
1@ += 12
0AA5: call 7439872 2 pop 2 0@ 1@
0A9F: 1@ = current_thread_pointer
1@ += 16
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
1@ -= @2 //текст №2 в меню
1@ += 3
0AA8: call_function_method 6946896 12694336 num_params 1 pop 0 1@ 0@
1@ += 12
0AA5: call 7439872 2 pop 2 0@ 1@
return
:1
0900: unknown_set_object 'PLA_10'
0900: unknown_set_object "Ferma #1"
0000: NOP
:2
0900: unknown_set_object 'PLA_11'
0900: unknown_set_object "Godmode ON"
0000: NOP