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

serhiyrubin

Известный
396
106
Ещё вопрос. Если в хуке выделяется память например для строки чата
И в условии не доходя до конца хука срабатывает 0BE0: raknet hook_ret false
То память не освобождается?
free_allocated_memory в конце хука у меня
 

BlackKnigga

Известный
BH Team
922
445
Ещё вопрос. Если в хуке выделяется память например для строки чата
И в условии не доходя до конца хука срабатывает 0BE0: raknet hook_ret false
То память не освобождается?
free_allocated_memory в конце хука у меня
Нет, память освободится только при вызове free_allocated_memory
 

mkrn

Известный
67
61
Есть функция блокировки ввода в чат?
Типа если она включена, хоть флуди не флуди до сервера ничего не дойдет

CLEO:
{$CLEO}
{$INCLUDE SF}
0000:

repeat
wait 0
until Samp.Available()
0BE1: raknet setup_outcoming_rpc_hook @hook
0BDE: pause_thread 0

:hook
if 30@ == 1  // Если нужно блочить исходящие команды и сообщения в чат, то в переменной 30 должно быть 1
then
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
    if or
    0@ == RPC_CHAT
    0@ == RPC_SERVERCOMMAND
    then
    0BE0: raknet hook_ret false
    end
end
0BE0: raknet hook_ret true
 
  • Нравится
Реакции: serhiyrubin

serhiyrubin

Известный
396
106
Вставил это в хук

Код:
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
if or
0@ == RPC_CHAT
0@ == RPC_SERVERCOMMAND
then
0AF8: samp add_message_to_chat "1" color -1
end

По идеи должно писать 1 при каждом моем сообщении
Но ничего такого нет. Остальное что в хуке норм робит
 
1,417
1,030
Вставил это в хук

Код:
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
if or
0@ == RPC_CHAT
0@ == RPC_SERVERCOMMAND
then
0AF8: samp add_message_to_chat "1" color -1
end

По идеи должно писать 1 при каждом моем сообщении
Но ничего такого нет. Остальное что в хуке норм робит
полностью код кидай
 
  • Нравится
Реакции: serhiyrubin

serhiyrubin

Известный
396
106
Сорян я забыл In поменять на out хук ;D
Так можно делать? В один In и Out

0BE3: raknet setup_incoming_rpc_hook @Hook
0BE1: raknet setup_outcoming_rpc_hook @Hook

Проверил. Не крашит значит можно ;D
Спасибо за помощь
 
Последнее редактирование:

Bond_Jems

Известный
18
0
Добрый день, решил написать тп для одного сервера, но вот облом. Вызываю диалог, а в диалоге пункт не выбирается.... Помогите пожалуйста! Вот код:

Код:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}
//-------------MAIN---------------
0B34: samp register_client_command "tpz" to_label @Noname_164
0000: NOP
:Noname_14
0001: wait 0 ms
00D6: if
0039:   0@ == 1
004D: jump_if_false @Noname_171
0001: wait 0 ms
0AB6: store_target_marker_coords_to 2@ 3@ 4@ // IF and SET
0002: jump @Noname_58
:Noname_58
0B32: samp send_spawn
0001: wait 1500 ms
00D6: if
0B61:  samp is_local_player_spawned
0002: jump @Noname_78
:Noname_78
00D6: if
0AF9: samp say_msg ".äîì"
0001: wait 1500 ms
0002: jump @Noname_103
:Noname_103
0B4C:  samp is_dialog_active 16711935
0BC9: samp send_dialog_response dialog 16711935 button 1 listitem 11 input "mq"
0002: jump @Noname_143
:Noname_143
00A1: put_actor $PLAYER_ACTOR at 2@ 3@ 4@
0002: jump @Noname_208
:Noname_164
0002: jump @Noname_178
:Noname_171
0002: jump @Noname_14
:Noname_178
0B12: 0@ = 0@ XOR 1
00D6: if
0039:   0@ == 1
0002: jump @Noname_208
:Noname_208
0B43: samp cmd_ret
 
Последнее редактирование:

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Подскажите что не так.
CLEO:
if 0B3C: samp is_dialog_responded id 756 button 0 list_item 1@ input_text 0
    then
    0AC6: 2@ = label @BufferRang offset
    1@ *= 19
    005A: 2@ += 1@
    0af8: "%s" -1 2@

CLEO:
:BufferRang
hex
"{FF0000}[1]{FFFFFF} Cтажёр" 
"{FF0000}[2]{FFFFFF} Офицер" 
"{FF0000}[3]{FFFFFF} Мл.Cержант" 
"{FF0000}[4]{FFFFFF} Сержант" 
"{FF0000}[5]{FFFFFF} Детектив" 
"{FF0000}[6]{FFFFFF} Лейтенант" 
"{FF0000}[7]{FFFFFF} Капитан" 
"{FF0000}[8]{FFFFFF} Командор" 
"{FF0000}[9]{FFFFFF} Зам.Шефа" 
"{FF0000}[10]{FFFFFF} Шефа" 
end
 

AndreiBAWS

Новичок
1
1
Hello. I'd like to appear on the screen 'duty: on' when writing in chat 'You're on duty' and 'duty: off' when you write in chat 'you're no longer on duty'. Can I do that? if so, how?
Здравствуйте. Я хотел бы появиться на экране «долг: когда», когда вы пишете в чате «Вы дежурный» и «долг: выключен», когда вы пишете в чате, «вы больше не дежурны». Могу ли я это сделать? если да, то как?
 
  • Нравится
Реакции: deStrange
1,417
1,030
Подскажите, хочу чтобы в чате не выводилось определенное предложение. Допустим когда делаю ган, сервер в чате пишет «Вы сделали то то»
хук на входящее сообщение
И ещё вопрос, как через клео реализовать показ такого текста
если ты про смену шрифта, то вот cleo font(https://blast.hk/threads/19086/#post-166120)
если просто показать такой текст, то
CLEO:
0ACF: show_formatted_styled_text "~r~Text" time 5000 style 2
 
1,417
1,030
Спасибо. По Поводу хука, можно код?
CLEO:
{$CLEO}
{$I SF}
0BE3: raknet setup_incoming_rpc_hook @hook
0BDE: pause_thread 0

:hook
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
IF 0@ == RPC_SCRCLIENTMESSAGE  
THEN
        0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM 
        0BE7: raknet 1@ = bit_stream_read 0@ type BS_TYPE_INT
        0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_INT
        alloc 3@ 125
        0BE8: raknet bit_stream 0@ read_array 3@ size 2@
        0C1E: struct 3@ offset 2@ size 1 = 0        
        IF 0C18: 4@ = strstr string1 3@ string2 "Слово"
        THEN
            0BE0: raknet hook_ret FALSE
        END
        free 3@    
END
0BE0: raknet hook_ret TRUE
 
1,417
1,030
Код:
{$CLEO}
{$I SF}
0BE3: raknet setup_incoming_rpc_hook @hook
0BDE: pause_thread 0

:hook
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
IF 0@ == RPC_SCRCLIENTMESSAGE
THEN
        0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
        0BE7: raknet 1@ = bit_stream_read 0@ type BS_TYPE_INT
        0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_INT
        alloc 3@ 125
        0BE8: raknet bit_stream 0@ read_array 3@ size 2@
        0C1E: struct 3@ offset 2@ size 1 = 0    
        IF 0C18: 4@ = strstr string1 3@ string2 "X патр."
        THEN
        0ACF: show_formatted_styled_text "~r~DesertEagle X" time 5000 style 2
            0BE0: raknet hook_ret FALSE
        END
        free 3@
END
0BE0: raknet hook_ret TRUE

1) X - это число, как сделать чтобы оно выводилось в 0ACF: show_formatted_styled_text "~r~DesertEagle X" time 5000 style 2
2) Как сделать в 2 строчки. НА одной DesertEagle, на другой X
CLEO:
{$CLEO}
{$I SF}
0BE3: raknet setup_incoming_rpc_hook @hook
0BDE: pause_thread 0

:hook
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
IF 0@ == RPC_SCRCLIENTMESSAGE
THEN
    0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
    0BE7: raknet 1@ = bit_stream_read 0@ type BS_TYPE_INT
    0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_INT
    alloc 3@ 125
    0BE8: raknet bit_stream 0@ read_array 3@ size 2@
    0C1E: struct 3@ offset 2@ size 1 = 0    
    IF 0AD4: 33@ = scan_string 3@ format "%d патр." 4@ //0C18: 4@ = strstr string1 3@ string2 "X патр."
    THEN
        0ACF: show_formatted_styled_text "~r~DesertEagle~n~%d" time 5000 style 2 4@
        0BE0: raknet hook_ret FALSE
    END
    free 3@
END
0BE0: raknet hook_ret TRUE
попробуй.
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Зареспавнить* можно только на указанные сервером координаты
0bd4 опкод если память не изменяет
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
получаешь свои координаты и запускаешь таймер на 10 секунд, потом снова получаешь координаты и сравниваешь их с раннее полученными