Активация cleo при появлении текста

Статус
В этой теме нельзя размещать новые ответы.

Ulrich545

Новичок
Автор темы
20
0
Здравствуйте. Мне нужно сделать так, чтобы когда появлялся текст, cleo активировалось. Допусим, когда заходишь на сервер SAMP, с боку пишет Welcome 'Nick' . Дак вот, мне нужно чтоб когда эта надпись появлялась клео активировался.
 
1,417
1,032
хуком можно, сделай поиск этой строки и если строка найдена - активируй скрипт
 

Ulrich545

Новичок
Автор темы
20
0
хуком можно, сделай поиск этой строки и если строка найдена - активируй скрипт
Ну вот смотри... ( Если че, то плохо в хуках разбираюсь )

{$CLEO}
0000: NOP
0BE2: raknet setup_incoming_rpc_hook @iRPC
0BDE: pause_thread 0

:iRPC
0BE5: raknet 0@ = get_hook_param {PARAM_PACHKETID}1
IF 0039: 0@ == {RPC_SCRDISPLAYGAMETEXT}73

THEN
repeat
wait 0
until samp.Available()
chatmsg "{3300CC}[]: {FF0000}Автор: {FFFFFF}[]{ffffff}."

end
0BE0: raknet hook_ret TRUE

И Чат Инфа не срабатывает.
 
1,417
1,032
Ну вот смотри... ( Если че, то плохо в хуках разбираюсь )

{$CLEO}
0000: NOP
0BE2: raknet setup_incoming_rpc_hook @iRPC
0BDE: pause_thread 0

:iRPC
0BE5: raknet 0@ = get_hook_param {PARAM_PACHKETID}1
IF 0039: 0@ == {RPC_SCRDISPLAYGAMETEXT}73

THEN
repeat
wait 0
until samp.Available()
chatmsg "{3300CC}[]: {FF0000}Автор: {FFFFFF}[]{ffffff}."

end
0BE0: raknet hook_ret TRUE

И Чат Инфа не срабатывает.
опкод на входящие рпц не 0BE2, а 0BE3, если сменить текст после :, то на сам опкод это не повлияет, его тоже надо менять.
CLEO:
{$CLEO}
{$INCLUDE SF}
0000: NOP
0BE3: raknet setup_incoming_rpc_hook @iRPC

WHILE TRUE
WAIT 0
    IF 7@ == 1
    THEN
    0AF8: samp add_message_to_chat "Цикл включен." color -1
    7@ = 0
    0AF8: samp add_message_to_chat "Цикл выключен." color -1
    END
END

:iRPC
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
IF 0@ == 73
    THEN
    0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM
    0BE9: raknet bit_stream 1@ reset_read_pointer
    0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_INT
    0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_INT
    0BE7: raknet 4@ = bit_stream_read 1@ type BS_TYPE_INT
    0AC8: 5@ = allocate_memory_size 125
    0BE8: raknet bit_stream 1@ read_array 5@ size 4@
    0C1E: array 5@ element 4@ el_size 1 = 0
    IF 0C29: 6@ = stristr string1 5@ string2 "~w~ Welcome ~n~~"
        THEN
        0AF8: samp add_message_to_chat "{3300CC}[]: {FF0000}Автор: {FFFFFF}[]{ffffff}." color -1
        7@ = 1// тут пиши переменную для включения основного цикла
    END
    0AC9: free_allocated_memory 5@
    0BE9: raknet bit_stream 1@ reset_read_pointer   
END
0BE0: raknet hook_ret TRUE
Тут есть проверка на текст, который появляется
 

Вложения

  • Welcome.cs
    18.6 KB · Просмотры: 44

Ulrich545

Новичок
Автор темы
20
0
опкод на входящие рпц не 0BE2, а 0BE3, если сменить текст после :, то на сам опкод это не повлияет, его тоже надо менять.
CLEO:
{$CLEO}
{$INCLUDE SF}
0000: NOP
0BE3: raknet setup_incoming_rpc_hook @iRPC

WHILE TRUE
WAIT 0
    IF 7@ == 1
    THEN
    0AF8: samp add_message_to_chat "Цикл включен." color -1
    7@ = 0
    0AF8: samp add_message_to_chat "Цикл выключен." color -1
    END
END

:iRPC
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
IF 0@ == 73
    THEN
    0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM
    0BE9: raknet bit_stream 1@ reset_read_pointer
    0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_INT
    0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_INT
    0BE7: raknet 4@ = bit_stream_read 1@ type BS_TYPE_INT
    0AC8: 5@ = allocate_memory_size 125
    0BE8: raknet bit_stream 1@ read_array 5@ size 4@
    0C1E: array 5@ element 4@ el_size 1 = 0
    IF 0C29: 6@ = stristr string1 5@ string2 "~w~ Welcome ~n~~"
        THEN
        0AF8: samp add_message_to_chat "{3300CC}[]: {FF0000}Автор: {FFFFFF}[]{ffffff}." color -1
        7@ = 1// тут пиши переменную для включения основного цикла
    END
    0AC9: free_allocated_memory 5@
    0BE9: raknet bit_stream 1@ reset_read_pointer  
END
0BE0: raknet hook_ret TRUE
Тут есть проверка на текст, который появляется
Фига ты шаришь, спасибо))
 
Статус
В этой теме нельзя размещать новые ответы.