Вопросы по CLEO-скриптингу

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,983
Здравствуйте всем! Возможно ли сделать чит, который бы телепортировался за руль машины с определенным айди(например инфернус, 411, или нрг, 522) если есть такой у кого, или знает как делать, скиньте пожалуйста
А что если в зоне стрима 10 инфернусов


CLEO:
{$CLEO}
HEX
    00 00
END

WHILE 8AFA:  NOT is_samp_available
    0001: 0
END
0B34: samp register_client_command "gocar" to_label @gocar
0BDE: pause_thread 0

:gocar
IF 0B35: samp 0@ = get_last_command_params
THEN 0C1A: 0@ = atoi 0@
    IF 0AFF: samp 0@ = car_handle_by_samp_vehicle_id 0@
    THEN   
        IF 00DF:   actor $PLAYER_ACTOR driving
        THEN 0792: disembark_instantly_actor $PLAYER_ACTOR
        END
    
        072A: put_actor $PLAYER_ACTOR into_car 0@ driverseat
        02EB: restore_camera_with_jumpcut
    END
END
0B43: samp cmd_ret

Вот телепорт в транспорт по id транспорта сампа

переделал под свои нужды
Текст добавил в чат? лол
 

nekosshit

Новичок
3
0
А что если в зоне стрима 10 инфернусов


CLEO:
{$CLEO}
HEX
    00 00
END

WHILE 8AFA:  NOT is_samp_available
    0001: 0
END
0B34: samp register_client_command "gocar" to_label @gocar
0BDE: pause_thread 0

:gocar
IF 0B35: samp 0@ = get_last_command_params
THEN 0C1A: 0@ = atoi 0@
    IF 0AFF: samp 0@ = car_handle_by_samp_vehicle_id 0@
    THEN  
        IF 00DF:   actor $PLAYER_ACTOR driving
        THEN 0792: disembark_instantly_actor $PLAYER_ACTOR
        END
   
        072A: put_actor $PLAYER_ACTOR into_car 0@ driverseat
        02EB: restore_camera_with_jumpcut
    END
END
0B43: samp cmd_ret

Вот телепорт в транспорт по id транспорта сампа


Текст добавил в чат? лол
10 инфернусов быть не может, инфернус я в пример написал, тот транспорт который мне нужен 1 на сервере

не просто текст добавил, сменил айди объекта на тот что мне нужен
 
  • Bug
Реакции: DarkP1xel

vaskapupkin228

Новичок
5
1
Пожалуйста подскажите мне, не могу чё то вдуплить где я затупил, крашит при заходе в игру, где то накосячил и не могу понять, 1-ый день изучаю
Код:
{$CLEO} 
0000:   

:Label1       
wait 0 ms 
if      
00DF: char $PLAYER_CHAR driving                 
004D: jump_if_false @Label1
03C0: 15@ = actor $PLAYER_ACTOR car
0229: set_car 15@ primary_color_to 0 secondary_color_to 2
0A93: terminate_this_custom_script

:Label2
wait 0 ms
if
0AB0:   is_key_pressed 49
jf @Label2
0ACD: show_text_highpriority "activation script" time 1000
jump @Label1
 

Spectrata

Новичок
27
0
В общем, хочу парсить координаты чекпоинта(которые мне прислал сервер не в зоне прорисовки) и потом поставить свой чекпоинт на основании этих координат. Прикол в том, что оно ставит левые координаты, в чём проблема?

CLEO:
{$CLEO}
0000:


:Start_Samp
0001: wait 50 ms
00D6: IF
0AFA: is_samp_available
jf @Start_Samp
jump @Label1


:Label1
0001: wait 0 ms
00D6: IF
0ADC: test_cheat "marker"
jf @Label1
0AB1: call_scm_func @GetPositionOnMap Param: 3 Param_To_Func: 0@ 1@ 2@ Ret_Param 0@ 1@ 2@
0AF9: samp say_msg "/gps off"
0AB1: call_scm_func @SetPositionOnMap Param: 3 Param_To_Func: 0@ 1@ 2@ Ret_Param
jump @Label1


:GetPositionOnMap 
0C0C: 0@ = struct 0xC7DD58 offset 48 size 4 // X Pos
0C0C: 1@ = struct 0xC7DD58 offset 52 size 4 // Y Pos
0C0C: 2@ = struct 0xC7DD58 offset 56 size 4 // Z Pos
0AB2: ret 3 0@ 1@ 2@

:SetPositionOnMap

018A: 3@ = create_checkpoint_at 0@ 1@ 2@  
0AB2: ret 0

Upd. Попробовал написать чтобы считывало коорды чекпоинта при помощи bitstream - получаются краши. В чём может быть проблема?
Код:
{$CLEO}
0000:


:Start_Samp
0001: wait 50 ms
00D6: IF
0AFA: is_samp_available
jf @Start_Samp
jump @Label1


:Label1
0001: wait 0 ms
00D6: IF
0ADC: test_cheat "marker"
jf @Label1
0AB1: call_scm_func @Read_Checkpoint_From_RPC 3 0@ 1@ 2@ ret_param: 0@ 1@ 2@
0AF8: "0@: %f 1@: %f 2@: %f" 0xFF0000 0@ 1@ 2@
jump @Label1




:Read_Checkpoint_From_RPC

0BE7: raknet 0@ = bit_stream_read 107 type 4  // 107 ID Bitstream 'CheckPoint' type 4 cause type FLOAT
0BE7: raknet 1@ = bit_stream_read 107 type 4        
0BE7: raknet 2@ = bit_stream_read 107 type 4

0AB2: ret 3 0@ 1@ 2@

Upd. Проблему решил так: с начала считал ID RPC(опкод 0BE5) , потом считал BitStream(это уже в другую переменную тем же самым опкодом OBE5 ну и в самом конце нужно вернуть статус hook опкодом 0BE0 )
 
Последнее редактирование:

Spectrata

Новичок
27
0
Так, гайс, появилась новая проблемка. Решил я спарсить данные с диалога, диалог имеет тип Dialog_style_tablist_headers

Описание проблемы: дело в том, что считывается только первая колонка "Мастерская/Магазин/Частный клуб.../общественная душевая/. Кто-нибудь понимает в чем проблема?

sa-mp-014.png



CLEO:
{$CLEO}
{$USE ini}

0000:


:START
wait 50 ms
IF 
0AFA: is_samp_available
jf @START
0B34: samp register_client_command "Get_Data_From_Dialog" to_label @Main
0BDE: pause_thread 0


:Main
0B4E: samp 0@ = get_current_dialog_id 
IF 
    0@ == 3360 
THEN
    0050: gosub @Write_Data_To_Ini 
END    
0B43: samp cmd_ret


:Write_Data_To_Ini

0AC8: 1@ = allocate_memory_size 500
0A9A: 0@ = openfile "cleo\List_Of_Items.INI" mode "wt"
    FOR 2@ = 0 TO 14 STEP 1
        0B5B: samp get_listbox_item 2@ text_to 1@
        0AD9: write_formatted_text "%s %c" in_file 0@ 2@ 0xD
    END
0A9B: closefile 0@ 
0AC9: free_allocated_memory 1@
0051: return
 

Spectrata

Новичок
27
0
Ok. Let's try, in short, It(0B5B) takes only first column not whole string. I can't understand reason why? on the contrary, if you use 0BD7 you get what you what but the GAME stops working without any reason
 
Последнее редактирование:

Fr0z3n

Участник
50
30
Ok, so as i understand when you press enter on first "Pay and spray" it does job, but anything alse not working right...?
 

Fr0z3n

Участник
50
30
do you want only the first text from the dialog and delete all other colums? If not, tell me what script should do
 

Venti

Известный
86
21
Хочу компильнуть данное клео, но вылазят всякие ошибки в Sanny Builder 3
cleo:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP

:NONAME_2
wait 0
   SAMP.Available
else_jump @NONAME_2
0B34: samp register_client_command "fs" to_label @NONAME_36
0BDE: pause_thread 0

:NONAME_36
   SAMP.IsCommandTyped(0@)
if and
0AD4: 1@ = scan_string 0@ format "%d" 2@ 
  2@ >= 0
   not 2@ > 16000
   not Actor.Driving($PLAYER_ACTOR)
else_jump @NONAME_108
Model.Load(2@)
038B: load_requested_models
09C7: change_player $PLAYER_CHAR model_to 2@
Model.Destroy(2@)

:NONAME_108
SAMP.CmdRet
 

FakeSince

Активный
243
56
Всем ку, всем привет, всем здравствуйте. Как сделать так, чтоб в данном клео в зоне стрима искало несколько объектов? Мне нужно чтоб искало 19059, 19060, 19061, 19062, 19063, как это все объеденить в один клео файл?
CLEO:
{$CLEO}
0000:

REPEAT
0001: 0
UNTIL 0AFA:
0BB9: samp 0@ = get_pickup_pool_ptr

WHILE TRUE
0001: 0

    FOR 1@ = 0 TO {MAX_PICKUPS}4096 [STEP = 1]
        IF 0B51: samp 2@ = pickup_handle_by_id 1@
        THEN
        0A90: 2@ = 1@ * 20
        000A: 2@ += 61444
        000A: 2@ += 0@ // stPickup
        0A8D: 3@ = read_memory 2@ size 4 virtual_protect TRUE // iModelID
            IF 0039:   3@ == 19062
            THEN
            0C0C: 3@ = struct 2@ offset 8 size 4 // X
            0C0C: 4@ = struct 2@ offset 12 size 4 // Y
            0C0C: 5@ = struct 2@ offset 16 size 4 // Z
                IF 00C2:   sphere_onscreen 3@ 4@ 5@ radius 5.0
                THEN
                0B55: convert_3D_coords 3@ 4@ 5@ to_screen 3@ 4@
                00A0: store_actor $PLAYER_ACTOR position_to 5@ 6@ 7@
                0B55: convert_3D_coords 5@ 6@ 7@ to_screen 5@ 6@
                0B68: render draw_line_point1 5@ 6@ point2 3@ 4@ width 1 color 0x1FFF0F00
                END
            END
        END
    END
    
END