Hook Help RPC_SCRSHOWTEXTDRAW = 134

serhiyrubin

Известный
Автор темы
396
104
Помогите, никак не могу понять хуки на клео, точней как их строить
Нужно построить хук для RPC_SCRSHOWTEXTDRAW = 134 с возможностью редактирования
Смены позиции и т.д.
Вот тут что то пытаюсь делать, да не так вроде расписал структуру
Не могу нигде найти

CLEO:
:in_rpc
0BE5: raknet 10@ = get_hook_param PARAM_PACKETID // Получаем ИД RPC
if
    10@ == RPC_SCRSHOWTEXTDRAW
then
    0BE5: raknet 11@ = get_hook_param PARAM_BITSTREAM // Получаем битстрим
    0BE7: raknet 14@ = bit_stream_read 11@ type BS_TYPE_SHORT // UINT16 wTextDrawID
    0BE7: raknet 15@ = bit_stream_read 11@ type BS_TYPE_BOOL  // UINT8 Flags
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_FLOAT  // float fLetterWidth
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_FLOAT  // float fLetterHeight
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_FLOAT  // UINT32 dwLetterColor
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_FLOAT  // float fLineWidth
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_FLOAT  // float fLineHeight
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_FLOAT  // UINT32 dwBoxColor
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_BOOL  // UINT8 Shadow
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_BOOL  // UINT8 Outline
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_FLOAT  // UINT32 dwBackgroundColor
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_BOOL  // UINT8 Style
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_BOOL  // UINT8 Selectable
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_FLOAT  // float fX
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_FLOAT  // float fY
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_SHORT  // UINT16 wModelID
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_FLOAT  // float fRotX
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_FLOAT  // float fRotY
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_FLOAT  // float fRotZ
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_FLOAT  // float fZoom
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_SHORT  // UINT16 wColor1
    0BE7: raknet 0 = bit_stream_read 11@ type BS_TYPE_SHORT  // UINT16 wColor2   
    //0BE7: raknet 12@ = bit_stream_read 11@ type BS_TYPE_BOOL  // UINT8 szTextLen
    //0AC8: 13@ = allocate_memory_size 512
    //0BE8: raknet bit_stream 11@ read_array 13@ size 12@
    //0C1E: array 13@ element 12@ el_size 1 = 0
    0AF8: samp add_message_to_chat "%d" color -1 params 15@ // выводим сообщение в чат
    //0AC9: free_allocated_memory 13@


end
0BE0: raknet hook_ret true // принимаем RPC, false - не принимать
Решено

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

repeat
wait 0
until Samp.Available()
0BE3: raknet setup_incoming_rpc_hook @in_rpc
0BDE: pause_thread 0

:in_rpc
0BE5: raknet 10@ = get_hook_param PARAM_PACKETID // Ïîëó÷àåì ÈÄ RPC
if
10@ == RPC_SCRSHOWTEXTDRAW
then
0BE9: raknet bit_stream 11@ reset_read_pointer
0BE5: raknet 11@ = get_hook_param PARAM_BITSTREAM // Ïîëó÷àåì áèòñòðèì
0BE7: raknet 14@ = bit_stream_read 11@ type BS_TYPE_SHORT // UINT16 wTextDrawID
0BE7: raknet 15@ = bit_stream_read 11@ type BS_TYPE_BYTE // UINT8 Flags
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_FLOAT // float fLetterWidth
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_FLOAT // float fLetterHeight
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_INT // UINT32 dwLetterColor
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_FLOAT // float fLineWidth
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_FLOAT // float fLineHeight
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_INT // UINT32 dwBoxColor
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_BYTE // UINT8 Shadow
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_BYTE // UINT8 Outline
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_INT // UINT32 dwBackgroundColor
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_BYTE // UINT8 Style
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_BYTE // UINT8 Selectable
0BE7: raknet 20@ = bit_stream_read 11@ type BS_TYPE_FLOAT // float fX
0BE7: raknet 21@ = bit_stream_read 11@ type BS_TYPE_FLOAT // float fY
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_SHORT // UINT16 wModelID
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_FLOAT // float fRotX
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_FLOAT // float fRotY
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_FLOAT // float fRotZ
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_FLOAT // float fZoom
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_SHORT // UINT16 wColor1
0BE7: raknet 0@ = bit_stream_read 11@ type BS_TYPE_SHORT // UINT16 wColor2
0BE7: raknet 12@ = bit_stream_read 11@ type BS_TYPE_SHORT // WORD szTextLen
0AC8: 13@ = allocate_memory_size 512
0BE8: raknet bit_stream 11@ read_array 13@ size 12@
0C1E: array 13@ element 12@ el_size 1 = 0
chatmsg "%d %s" -1 12@ 13@
0AC9: free_allocated_memory 13@
end
0BE0: raknet hook_ret true
Спасибо Макарону
Я тупо накосячил с типом данных
 
Последнее редактирование:

Похожие темы

  1. Ответы
    1
    Просмотры
    515
  2. Ответы
    1
    Просмотры
    3K
  3. Ответы
    0
    Просмотры
    345
  4. Ответы
    5
    Просмотры
    854