randazzo
.
- 1,417
- 1,041
[Pascal] {$CLEO} /* RakNet - является сетевым движком SA:MP - Pastebin.com (https://pastebin.com/avYGQLUr)Ребят, есть у кого клео, показывающее все входящие и исходящие хуки / рпц / пакеты?
p.s. id пакета или его название
[Pascal] {$CLEO} /* RakNet - является сетевым движком SA:MP - Pastebin.com (https://pastebin.com/avYGQLUr)Ребят, есть у кого клео, показывающее все входящие и исходящие хуки / рпц / пакеты?
p.s. id пакета или его название
:oRPC
0BE5: raknet 0@ = get_hook_param {PARAM_PACKETID}1
//0BF8: raknet 0@ = get_rpc_name 0@
if and
0ab0: 50
0ab0: 51
0@ == RPC_SERVERCOMMAND
then
0BE5: raknet 1@ = get_hook_param {PARAM_PACKETID}1
//0AF8: samp add_message_to_chat 0@ color 0xFF0000
0AF8: samp add_message_to_chat "Ïîõîäó ðîáèò" color 0xFF0000
end
if
0ab0: 49
Then
0BE1: raknet setup_outcoming_rpc_hook 1@ // Какая тут команда нужна для отправки этой переменной, а не 0@
// Так же и к пакетам нужен опкод))
End
//0B78: log "oRPC: %s" {oRPC}0@
0BE0: raknet hook_ret TRUE
:oPacket
0BE5: raknet 0@ = get_hook_param {PARAM_PACKETID}1
//0BF9: raknet 0@ = get_packet_name 0@
if and
0ab0: 50
0ab0: 51
0@ == PACKET_VEHICLE_SYNC
then
//0AF8: samp add_message_to_chat 0@ color 0xFF0000
0BE5: raknet 2@ = get_hook_param {PARAM_PACKETID}1
end
if
0ab0: 49
Then
0BE2: raknet setup_outcoming_packet_hook 2@
End
//0B78: log "oPacket: %s" {oPacket}0@
0BE0: raknet hook_ret TRUE
Вряд ли :\ Только ini, txt файлы вродь0a9a: умеет читать .cs файлы?
МожноРебят, учу хуки, вопрос такой:
Можно ли отправленные и сохраненные рпц и пакеты отправить заново в том же виде?
Код::oRPC 0BE5: raknet 0@ = get_hook_param {PARAM_PACKETID}1 //0BF8: raknet 0@ = get_rpc_name 0@ if and 0ab0: 50 0ab0: 51 0@ == RPC_SERVERCOMMAND then 0BE5: raknet 1@ = get_hook_param {PARAM_PACKETID}1 //0AF8: samp add_message_to_chat 0@ color 0xFF0000 0AF8: samp add_message_to_chat "Ïîõîäó ðîáèò" color 0xFF0000 end if 0ab0: 49 Then 0BE1: raknet setup_outcoming_rpc_hook 1@ // Какая тут команда нужна для отправки этой переменной, а не 0@ // Так же и к пакетам нужен опкод)) End //0B78: log "oRPC: %s" {oRPC}0@ 0BE0: raknet hook_ret TRUE :oPacket 0BE5: raknet 0@ = get_hook_param {PARAM_PACKETID}1 //0BF9: raknet 0@ = get_packet_name 0@ if and 0ab0: 50 0ab0: 51 0@ == PACKET_VEHICLE_SYNC then //0AF8: samp add_message_to_chat 0@ color 0xFF0000 0BE5: raknet 2@ = get_hook_param {PARAM_PACKETID}1 end if 0ab0: 49 Then 0BE2: raknet setup_outcoming_packet_hook 2@ End //0B78: log "oPacket: %s" {oPacket}0@ 0BE0: raknet hook_ret TRUE
0B8A: raknet send_rpc 1@ bit_stream 2@
0BC0: samp send_onfoot_data 0@
0BC1: samp send_incar_data 0@
0BC2: samp send_passenger_data 0@
0BC3: samp send_aim_data 0@
0BC4: samp send_bullet_data 0@
0BC5: samp send_trailer_data 0@
0BC6: samp send_unoccupied_data 0@
0BC7: samp send_spectator_data 0@
И советую посетить эту тему Информация - Гайд - Работа с RakNet хуками с помощью SAMPFUNCS (https://blast.hk/threads/17440/) или посмотреть видео даркпикселя про хуки, а-то в коде бред какой-тоРебят, учу хуки, вопрос такой:
Можно ли отправленные и сохраненные рпц и пакеты отправить заново в том же виде?
Код::oRPC 0BE5: raknet 0@ = get_hook_param {PARAM_PACKETID}1 //0BF8: raknet 0@ = get_rpc_name 0@ if and 0ab0: 50 0ab0: 51 0@ == RPC_SERVERCOMMAND then 0BE5: raknet 1@ = get_hook_param {PARAM_PACKETID}1 //0AF8: samp add_message_to_chat 0@ color 0xFF0000 0AF8: samp add_message_to_chat "Ïîõîäó ðîáèò" color 0xFF0000 end if 0ab0: 49 Then 0BE1: raknet setup_outcoming_rpc_hook 1@ // Какая тут команда нужна для отправки этой переменной, а не 0@ // Так же и к пакетам нужен опкод)) End //0B78: log "oRPC: %s" {oRPC}0@ 0BE0: raknet hook_ret TRUE :oPacket 0BE5: raknet 0@ = get_hook_param {PARAM_PACKETID}1 //0BF9: raknet 0@ = get_packet_name 0@ if and 0ab0: 50 0ab0: 51 0@ == PACKET_VEHICLE_SYNC then //0AF8: samp add_message_to_chat 0@ color 0xFF0000 0BE5: raknet 2@ = get_hook_param {PARAM_PACKETID}1 end if 0ab0: 49 Then 0BE2: raknet setup_outcoming_packet_hook 2@ End //0B78: log "oPacket: %s" {oPacket}0@ 0BE0: raknet hook_ret TRUE
Я учу хуки первые пару часов))И советую посетить эту тему Информация - Гайд - Работа с RakNet хуками с помощью SAMPFUNCS (https://blast.hk/threads/17440/) или посмотреть видео даркпикселя про хуки, а-то в коде бред какой-то
[Cg]
1=
2=
3=
И ТД.
Ини опкоды не принимают обычные переменные, только в таком виде: 1@v 2@v 3@v ... Под неё уже выделено некое кол-во памяти, не помню сколько.А можно ли как-то в опкоде 0AF5 в key использовать переменную? Если ставлю переменную то скрипт ломается.
Допустим мне нужно в key писать от 1 до 100 то как мне это сделать для ini файла
Код:[Cg] 1= 2= 3= И ТД.
1@v это указатель на переменную 1@. Все переменные в клео размером 4 байта, так что если писать больше четырех байт, данные попадают и в следующие переменные (2@,3@...)Под неё уже выделено некое кол-во памяти, не помню сколько.
А есть тема про такие переменные 1@v 1@s?1@v это указатель на переменную 1@. Все переменные в клео размером 4 байта, так что если писать больше четырех байт, данные попадают и в следующие переменные (2@,3@...)
Могу предложить шикарный урок от alfazlo на пхА есть тема про такие переменные 1@v 1@s?
Хочю узнать больше, и как они переходят в другие переменные?
{$CLEO}
{$INCLUDE SF}
0000:NOP
0BE3: raknet setup_incoming_rpc_hook @iRPC
0BDE: pause_thread 0
:iRPC
0BE5: raknet 1@ = get_hook_param PARAM_PACKETID
IF 1@ == RPC_SCRCLIENTMESSAGE // DWORD color, DWORD strLen, char[] msg
THEN
0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
0BE9: raknet bit_stream 0@ reset_read_pointer
0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_INT // color
0BE7: raknet 3@ = bit_stream_read 0@ type BS_TYPE_INT // strLen
0AC8: 4@ = allocate_memory_size 260
0BE8: raknet bit_stream 0@ read_array 4@ size 3@ // Text
0C1E: array 4@ element 3@ el_size 1 = 0
0B2B: samp 29@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0B36: samp 30@ = get_player_nickname 29@
0AC8: 6@ = allocate_memory_size 30
0AD3: 6@ = format "для %s[%d]" 30@ 29@
IF
0C29: 5@ = stristr string1 4@ string2 6@
THEN
for 15@ = 0 to 20
wait 300
end
say "лол"
END
0BE9: raknet bit_stream 0@ reset_read_pointer
0AC9: free_allocated_memory 4@
0AC9: free_allocated_memory 6@
END
0BE0: raknet hook_ret TRUE
Задержку после ответа сделайПри ответе на сервере пишет "не флудите".
Как я понял он отправляет say много раз. Как можно исправить?
CLEO:{$CLEO} {$INCLUDE SF} 0000:NOP 0BE3: raknet setup_incoming_rpc_hook @iRPC 0BDE: pause_thread 0 :iRPC 0BE5: raknet 1@ = get_hook_param PARAM_PACKETID IF 1@ == RPC_SCRCLIENTMESSAGE // DWORD color, DWORD strLen, char[] msg THEN 0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM 0BE9: raknet bit_stream 0@ reset_read_pointer 0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_INT // color 0BE7: raknet 3@ = bit_stream_read 0@ type BS_TYPE_INT // strLen 0AC8: 4@ = allocate_memory_size 260 0BE8: raknet bit_stream 0@ read_array 4@ size 3@ // Text 0C1E: array 4@ element 3@ el_size 1 = 0 0B2B: samp 29@ = get_player_id_by_actor_handle $PLAYER_ACTOR 0B36: samp 30@ = get_player_nickname 29@ 0AC8: 6@ = allocate_memory_size 30 0AD3: 6@ = format "для %s[%d]" 30@ 29@ IF 0C29: 5@ = stristr string1 4@ string2 6@ THEN for 15@ = 0 to 20 wait 300 end say "лол" END 0BE9: raknet bit_stream 0@ reset_read_pointer 0AC9: free_allocated_memory 4@ 0AC9: free_allocated_memory 6@ END 0BE0: raknet hook_ret TRUE
Задержку после ответа сделай
{$CLEO}
{$INCLUDE SF}
0000:NOP
0BE3: raknet setup_incoming_rpc_hook @iRPC
0BDE: pause_thread 0
:iRPC
0BE5: raknet 1@ = get_hook_param PARAM_PACKETID
IF 1@ == RPC_SCRCLIENTMESSAGE // DWORD color, DWORD strLen, char[] msg
THEN
0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
0BE9: raknet bit_stream 0@ reset_read_pointer
0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_INT // color
0BE7: raknet 3@ = bit_stream_read 0@ type BS_TYPE_INT // strLen
0AC8: 4@ = allocate_memory_size 260
0BE8: raknet bit_stream 0@ read_array 4@ size 3@ // Text
0C1E: array 4@ element 3@ el_size 1 = 0
0B2B: samp 29@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0B36: samp 30@ = get_player_nickname 29@
0AC8: 6@ = allocate_memory_size 30
0AD3: 6@ = format "äëÿ %s[%d]" 30@ 29@
IF
0C29: 5@ = stristr string1 4@ string2 6@
THEN
for 15@ = 0 to 100
wait 300
end
wait 2000
say "ëîë"
END
0BE9: raknet bit_stream 0@ reset_read_pointer
0AC9: free_allocated_memory 4@
0AC9: free_allocated_memory 6@
END
0BE0: raknet hook_ret TRUE
Мне нужно еще и отвечать с задержкой. Поставил цикл - не работает. Обычный wait перед say тоже не работает.
CLEO:{$CLEO} {$INCLUDE SF} 0000:NOP 0BE3: raknet setup_incoming_rpc_hook @iRPC 0BDE: pause_thread 0 :iRPC 0BE5: raknet 1@ = get_hook_param PARAM_PACKETID IF 1@ == RPC_SCRCLIENTMESSAGE // DWORD color, DWORD strLen, char[] msg THEN 0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM 0BE9: raknet bit_stream 0@ reset_read_pointer 0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_INT // color 0BE7: raknet 3@ = bit_stream_read 0@ type BS_TYPE_INT // strLen 0AC8: 4@ = allocate_memory_size 260 0BE8: raknet bit_stream 0@ read_array 4@ size 3@ // Text 0C1E: array 4@ element 3@ el_size 1 = 0 0B2B: samp 29@ = get_player_id_by_actor_handle $PLAYER_ACTOR 0B36: samp 30@ = get_player_nickname 29@ 0AC8: 6@ = allocate_memory_size 30 0AD3: 6@ = format "äëÿ %s[%d]" 30@ 29@ IF 0C29: 5@ = stristr string1 4@ string2 6@ THEN for 15@ = 0 to 100 wait 300 end wait 2000 say "ëîë" END 0BE9: raknet bit_stream 0@ reset_read_pointer 0AC9: free_allocated_memory 4@ 0AC9: free_allocated_memory 6@ END 0BE0: raknet hook_ret TRUE
{$CLEO}
{$INCLUDE SF}
0000:NOP
0BE3: raknet setup_incoming_rpc_hook @iRPC
while true
wait 0
if 5@ == 227
then
5@ = 0
say "text"
wait 1000
end
end
:iRPC
0BE5: raknet 1@ = get_hook_param PARAM_PACKETID
IF 1@ == RPC_SCRCLIENTMESSAGE // DWORD color, DWORD strLen, char[] msg
THEN
0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
0BE9: raknet bit_stream 0@ reset_read_pointer
0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_INT // color
0BE7: raknet 3@ = bit_stream_read 0@ type BS_TYPE_INT // strLen
0AC8: 4@ = allocate_memory_size 260
0BE8: raknet bit_stream 0@ read_array 4@ size 3@ // Text
0C1E: array 4@ element 3@ el_size 1 = 0
0B2B: samp 29@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0B36: samp 30@ = get_player_nickname 29@
0AC8: 6@ = allocate_memory_size 30
0AD3: 6@ = format "aey %s[%d]" 30@ 29@
IF
0C29: 5@ = stristr string1 4@ string2 6@
THEN
5@ = 227
end
END
0BE9: raknet bit_stream 0@ reset_read_pointer
0AC9: free_allocated_memory 4@
0AC9: free_allocated_memory 6@
END
0BE0: raknet hook_ret TRUE