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

jasd241

Новичок
29
1
какие опкоды нужны, чтоб написать бота (очень примитивного, туда сюда чтоб бегал)
 
1,417
1,029
какие опкоды нужны, чтоб написать бота (очень примитивного, туда сюда чтоб бегал)
Другое - Полезные сниппеты и SCM-функции(https://blast.hk/threads/897/page-3#post-53752)
Я хочу сделать что-то вроде хронометра, который подсчитывает минуты после сканирования текста в чате, даже если игра в паузе продолжает подсчитывать время

как мне это сделать?
с временем сервера
CLEO:
0AC8: 2@ = allocate_memory_size 260
while true
wait 0                   
        0AB1: call @getChatEntryText 1 id 99 to 2@
        if    
        0C14: strcmp string1 2@ string2 "время 6 минут"
        then
        wait 5
        chatmsg "сканировать ok" -1
        00BF: 28@ = current_time_hours, 29@ = current_time_minutes
        $hours = 28@
        $minutes = 29@
        chatmsg "время: %d минут: %d" -1 $hours $minutes
    
        repeat  // цикл до тех пор, пока не пройдет 6 минут
            wait 0
            00BF: 28@ = current_time_hours, 29@ = current_time_minutes
            if
            // Прошло 6 минут
            then break // разбить петлю
            end
        until false
    
        chatmsg "Прошло 6 минут" -1
        end
    end
скрипты не выполняются при свернутой игре
 
У

Удалённый пользователь 126082

Гость
А возможно сделать так, чтобы скрипт работал в меню игры?
 

TriggerExe

Новичок
8
0
Народ,я бы хотел изменить 1 скрипт,но на нем неизвестный кодек,а при использовании IGNORE_UNKNOWN появляется это:
CLEO:
// This file was decompiled using SASCM.ini published by GTAG ([URL]http://gtag.gtagaming.com/opcode-database[/URL]) on 14.6.2013
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
:NONAME_2
wait 100
0AFA:
jf @NONAME_2
hex
 34 0B 0E 02 74 69 01 E2 FF FF FF DE 0B 04 00 A2
 0A 0E 0C 6B 65 72 6E 65 6C 33 32 2E 64 6C 6C 03
 00 00
end
0AA4: 1@ = get_proc_address "GetLocalTime" library 0@ // IF and SET
0AC8: 2@ = allocate_memory_size 16
0AA5: call 1@ num_params 1 pop 0 2@
0085: 3@ = 2@ // (int)
3@ += 8
0A8D: 8@ = read_memory 3@ size 2 virtual_protect 0
3@ += 2
0A8D: 9@ = read_memory 3@ size 2 virtual_protect 0
0AC9: free_allocated_memory 2@
0AA3: free_library 0@
0AF9:
hex
 0E 05 2F 74 69 6D 65 00
end
0687: clear_actor $PLAYER_ACTOR task
0AF9:
hex
 0E 23 2F 64 6F 20 D7 E0 F1 FB 20 EC E0 F0 EA E8
 20 22 42 41 53 54 41 52 44 20 4D 43 2E 22 2E 00
 F9 0A 0E 12 2F 64 6F 20 CD E0 20 F7 E0 F1 E0 F5
 20 25 64 3A 25 64
end
   Car.HasHydraulics()
0903: NOP
0000: NOP
0687: clear_actor $PLAYER_ACTOR task
hex
 43 0B
 
Последнее редактирование модератором:

DarkL1ght

Новичок
252
112
Народ,я бы хотел изменить 1 скрипт,но на нем неизвестный кодек,а при использовании IGNORE_UNKNOWN появляется это:
CLEO:
// This file was decompiled using SASCM.ini published by GTAG ([URL]http://gtag.gtagaming.com/opcode-database[/URL]) on 14.6.2013
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
:NONAME_2
wait 100
0AFA:
jf @NONAME_2
hex
 34 0B 0E 02 74 69 01 E2 FF FF FF DE 0B 04 00 A2
 0A 0E 0C 6B 65 72 6E 65 6C 33 32 2E 64 6C 6C 03
 00 00
end
0AA4: 1@ = get_proc_address "GetLocalTime" library 0@ // IF and SET
0AC8: 2@ = allocate_memory_size 16
0AA5: call 1@ num_params 1 pop 0 2@
0085: 3@ = 2@ // (int)
3@ += 8
0A8D: 8@ = read_memory 3@ size 2 virtual_protect 0
3@ += 2
0A8D: 9@ = read_memory 3@ size 2 virtual_protect 0
0AC9: free_allocated_memory 2@
0AA3: free_library 0@
0AF9:
hex
 0E 05 2F 74 69 6D 65 00
end
0687: clear_actor $PLAYER_ACTOR task
0AF9:
hex
 0E 23 2F 64 6F 20 D7 E0 F1 FB 20 EC E0 F0 EA E8
 20 22 42 41 53 54 41 52 44 20 4D 43 2E 22 2E 00
 F9 0A 0E 12 2F 64 6F 20 CD E0 20 F7 E0 F1 E0 F5
 20 25 64 3A 25 64
end
   Car.HasHydraulics()
0903: NOP
0000: NOP
0687: clear_actor $PLAYER_ACTOR task
hex
 43 0B
hex убирать нужно, а вообще скинь сюда сам скрипт.
 
Последнее редактирование модератором:

TriggerExe

Новичок
8
0
Вот.
hex убирать нужно, а вообще скинь сюда сам скрипт.

Возник еще 1 вопрос.Мне сказали,что нужно установить настройку SB от Dark Pixel(a)
Что за настройка и как ее поставить?
 

Вложения

  • TimeMSG.cs
    232 байт · Просмотры: 5
Последнее редактирование модератором:

serfik228

Известный
2
0
что не так? должно отправлять ид, а значение постоянно 0
CLEO:
{$CLEO}
{$INCLUDE SF}
0000:
wait 3000

chatmsg "1" -1

0BE3: raknet setup_incoming_rpc_hook @1
alloc 9@ 256
alloc 11@ 20

while true
wait 0
    if and
    0C18: 0 = 9@ "SMS:"
    0C18: 0 = 9@ "| Ïîëó÷åíî"
    then
        0AA5: call 0x8220AD num_params 3 pop 3 params 12@v 11@ 13@ "SMS: %s[id: %d]: %s | Ïîëó÷åíî" 9@
        0AF9: "/sms %d test" 12@
        wait 10000
    end
    0C11: memset destination 9@ value 0 size 256
end

:1
0BE5: raknet 5@ = get_hook_param PARAM_BITSTREAM
0BE5: raknet 6@ = get_hook_param PARAM_PACKETID
if
6@ == RPC_ScrClientMessage
then
    0BE7: raknet 7@ = bit_stream_read 5@ type BS_TYPE_INT
    0BE7: raknet 8@ = bit_stream_read 5@ type BS_TYPE_INT
    0C11: memset destination 9@ value 0 size 256
    0BE8: raknet bit_stream 5@ read_array 9@ size 8@
    0C0F: array 9@ element 8@ = 0x00
end
0BE0: raknet hook_ret true
 

D3.Pheonix

🎹
Модератор
2,817
1,598
что не так? должно отправлять ид, а значение постоянно 0
CLEO:
{$CLEO}
{$INCLUDE SF}
0000:
wait 3000

chatmsg "1" -1

0BE3: raknet setup_incoming_rpc_hook @1
alloc 9@ 256
alloc 11@ 20

while true
wait 0
    if and
    0C18: 0 = 9@ "SMS:"
    0C18: 0 = 9@ "| Ïîëó÷åíî"
    then
        0AA5: call 0x8220AD num_params 3 pop 3 params 12@v 11@ 13@ "SMS: %s[id: %d]: %s | Ïîëó÷åíî" 9@
        0AF9: "/sms %d test" 12@
        wait 10000
    end
    0C11: memset destination 9@ value 0 size 256
end

:1
0BE5: raknet 5@ = get_hook_param PARAM_BITSTREAM
0BE5: raknet 6@ = get_hook_param PARAM_PACKETID
if
6@ == RPC_ScrClientMessage
then
    0BE7: raknet 7@ = bit_stream_read 5@ type BS_TYPE_INT
    0BE7: raknet 8@ = bit_stream_read 5@ type BS_TYPE_INT
    0C11: memset destination 9@ value 0 size 256
    0BE8: raknet bit_stream 5@ read_array 9@ size 8@
    0C0F: array 9@ element 8@ = 0x00
end
0BE0: raknet hook_ret true
Изучи
Гайд - Использование функции sscanf напрямую(https://blast.hk/threads/7486/)
 

Kotovasya

Участник
85
13
CLEO:
{$CLEO}

0000:

repeat
    wait 400
until samp.Available()

0BE3: raknet setup_incoming_rpc_hook @stroka
0AC8: 27@ = allocate_memory_size 144
0C11: memset destination 27@ value 0 size 144

WHILE TRUE
wait 0   
    IF 5@ == 1
    THEN
        say "/pm %d Welcome" 1@
    5@ = 0
    END
END

:stroka
0BE5: raknet 30@ = get_hook_param 1
IF 30@ == 93
THEN
0BE5: raknet 29@ = get_hook_param 0
0BEB: raknet bit_stream 29@ ignore_bits 32
0BE7: raknet 28@ = bit_stream_read 29@ type 3
0BE8: raknet bit_stream 29@ read_array 27@ size 28@
0C1E: array 27@ element 28@ el_size 1 = 0
    IF 0C18: 28@ = strstr string1 27@ string2 "вступил в нашу фракцию"
    THEN
        IF 0AD4: 4@ = scan_string 27@ format "{01FCFF}[%d]" 1@
        THEN
            5@ = 1   
        ELSE
            0AF8: samp add_message_to_chat "Опять какая-то хуйня" color 0xFFFFFF
        END   
    END
END
0BE0: raknet hook_ret 1

Не может отсканить ID в строке. sscanf юзал когда-то, там тоже такая дичь была. В чем причина?