- 139
- 41
Помогите пожалуйста определить, есть ли стиллер в данном скрипте (kamaz aimbot)? Как-то все разобщенно получилось, проверял всем, чем можно, итог:
Так есть ли стиллер или нет? И если есть, можно его вырезать? Кто сможет помочь?
Код:
{$CLEO .cs}
{$INCLUDE SF}
0000:
repeat
wait 0
until SAMP.Available()
//////////////////////////////////////////////////////////////////////////////////////
var
$CFG: array 21 of Integer
end
//////////////////////////////////////////////////////////////////////////////////////
const
FOV = $CFG[0]
AnyDistance = $CFG[1]
SkinVector = $CFG[2]
WallShot = $CFG[3]
DisableRpcHook = $CFG[20]
WeaponsUpdate = $CFG[4]
RandomShot = $CFG[5]
InCarVictim = $CFG[6]
SendRPC = $CFG[7]
ModelGroup = $CFG[8]
DrawBlood = $CFG[9]
BloodDensity = $CFG[10]
AutoActivation = $CFG[11]
ActivationMode = $CFG[12]
GameKey = $CFG[13]
ShowMessages = $CFG[14]
////// System /////////
AllowRPC = $CFG[15]
ActiveStatus = $CFG[16]
LastTargetHandle = $CFG[17]
DeagleCounter = $CFG[18]
CountLimit = $CFG[19]
end
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
gosub @DefaultVarInit
0093: 12@ = integer FOV to_float
0AB1: call @AutoMark 2 AutoActivation ActiveStatus ret_to ActiveStatus
0946: set_actor $PLAYER_ACTOR actions_uninterupted_by_weapon_fire 1
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
0B34: samp register_client_command "kamaz" to_label @cmd_hook
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if DisableRpcHook == 0
then 0BE1: raknet setup_outcoming_rpc_hook @MyRPC_Hook
end
0BE2: raknet setup_outcoming_packet_hook @PACKET_SYNC_HOOK
print " ~w~mihailkamazov ~r~v1.1 ~w~by ~w~AIR" time 300 0
:get_serial
wait 0
0AA2: 1@ = load_library "kernel32.dll"
0AA4: 2@ = get_proc_address "GetVolumeInformationA" library 1@
0AC7: 3@ = var 0@ offset
0AA5: call 2@ num_params 8 pop 0 0 0 0 0 3@ 0 0 0
0AB2: ret 1 0@
///////////////////////////////////////////////////////////////////////////////////////////////////////////
while true
wait 0
if SAMP.Available()
then
if and
0B61: samp is_local_player_spawned
8B21: not samp is_chat_opened
then
if GameKey <> -1
then
if ActivationMode == 2
then
if key_down GameKey
then
0B12: ActiveStatus = ActiveStatus XOR 1
if ShowMessages == 1
then
if ActiveStatus == 1
then print "~w~mihailkamazov ~w~za ~g~ rabotoy" time 1000
else print "~w~mihailkamazov ~w~na ~r~ otdixe" time 1000
end
end
wait 228
end
end
if ActivationMode == 3
then 0AB1: call @HookKeyModer 2 GameKey ShowMessages ret_to ActiveStatus
end
end
end
end
end
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:HookKeyModer
0001: wait 0
if key_down 0@
then 2@ = 1
else 2@ = 0
end
if 1@ == 1
then
if 2@ == 1
then print "~g~Active" time 50
end
end
0AB2: ret 1 2@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:cmd_hook
if 0B61: samp is_local_player_spawned
then
if ShowMessages == 1
then
if ActiveStatus == 0
then print "~w~mihailkamazov ~w~za ~g~ rabotoy" time 3000
else print "~w~mihailkamazov ~w~na ~r~ otdixe" time 3000
end
end
0B12: ActiveStatus = ActiveStatus XOR 1
end
0B43: samp cmd_ret
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
0B43: samp cmd_ret
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:AutoMark
0001: wait 0
if 0@ == 1
then 0B12: 1@ = 1@ XOR 1
end
0AB2: ret 1 1@
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:DamageConvert
0001: wait 0
var
1@ : Float
end
0470: 0@ = actor $PLAYER_ACTOR current_weapon
if or
0@ == 22
0@ == 29
then 1@ = 8.25
end
if 0@ == 23
then 1@ = 13.200000762939453125
end
if or
0@ == 28
0@ == 32
then 1@ = 6.6000003814697265625
end
if or
0@ == 30
0@ == 31
then 1@ = 9.90000057220458984375
end
if 0@ == 33
then 1@ = 24.7500019073486328125
end
if 0@ == 34
then 1@ = 41.25
end
if or
0@ == 24
0@ == 38
then 1@ = 46.200000762939453125
end
if or
0@ == 25
0@ == 26
then 1@ = 49.50000286102294921875
end
if 0@ == 27
then 1@ = 39.600002288818359375
end
0AB2: ret 1 1@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:GiveTakeDamageRPC
0001: wait 0
0470: 25@ = actor $PLAYER_ACTOR current_weapon
0209: 15@ = random_int_in_ranges 3 9
0B3D: raknet 4@ = new_bit_stream
0B40: raknet bit_stream 4@ write 0 type BS_TYPE_BOOL size 1
0B40: raknet bit_stream 4@ write 0@ type BS_TYPE_SHORT size 2
0B40: raknet bit_stream 4@ write 1@ type BS_TYPE_FLOAT size 4
0B40: raknet bit_stream 4@ write 25@ type BS_TYPE_INT size 4
0B40: raknet bit_stream 4@ write 15@ type BS_TYPE_INT size 4
0B8A: raknet send_rpc 115 bit_stream 4@
0B3E: raknet delete_bit_stream 4@
0AB2: ret 0
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:Detour
0001: wait 0
0AB1: call @DamageConvert 0 return_to 13@
0AB1: call @GiveTakeDamageRPC 2 0@ 13@
0AB2: ret 0
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:SendSilentBullet
0001: wait 0
00A0: store_actor 3@ position_to 9@ 10@ 11@
00A0: store_actor $PLAYER_ACTOR position_to 19@ 5@ 6@
////////////////////////////////////////////////////
0470: 25@ = actor $PLAYER_ACTOR current_weapon
0B2B: samp 8@ = get_player_id_by_actor_handle 3@
0AC8: 17@ = allocate_memory_size 40
0C0D: struct 17@ offset 0 size 1 = 1
0C0D: struct 17@ offset 1 size 2 = 8@
0C0D: struct 17@ offset 3 size 4 = 19@
0C0D: struct 17@ offset 7 size 4 = 5@
0C0D: struct 17@ offset 11 size 4 = 6@
/////////////////////////////////////////
0C0D: struct 17@ offset 15 size 4 = 9@
0C0D: struct 17@ offset 19 size 4 = 10@
0C0D: struct 17@ offset 23 size 4 = 11@
/////////////////////////////////////////
0098: 22@ = random_float 0.0 _to_ 0.2
0098: 23@ = random_float 0.0 _to_ 0.2
0098: 24@ = random_float 0.0 _to_ 0.5
/////////////////////////////////////////
0063: 28@ = 22@
0063: 29@ = 23@
0063: 30@ = 24@
/////////////////////////////////////////
0209: 27@ = random 1 to_ 10
if 27@ >= 5
then
22@ = -0.1
0063: 22@ -= 28@
end
/////////////////////////////////////////
0209: 27@ = random 1 to_ 10
if 27@ >= 5
then
23@ = -0.1
0063: 23@ -= 29@
end
/////////////////////////////////////////
0209: 27@ = random 1 to_ 10
if 27@ >= 5
then
24@ = -0.1
0063: 24@ -= 30@
end
/////////////////////////////////////////
0C0D: struct 17@ offset 27 size 4 = 22@
0C0D: struct 17@ offset 31 size 4 = 23@
0C0D: struct 17@ offset 35 size 4 = 24@
/////////////////////////////////////////
0C0D: struct 17@ offset 39 size 1 = 25@
0B3D: raknet 12@ = new_bit_stream
0B40: raknet bit_stream 12@ write 206 type BS_TYPE_BYTE size 1
0B40: raknet bit_stream 12@ write 17@ type BS_TYPE_ARRAY size 40
0B8B: raknet send bit_stream 12@
0B3E: raknet delete_bit_stream 12@
0AC9: free_allocated_memory 17@
if 0@ == 1
then 09B8: create_blood_gush_at 9@ 10@ 11@ with_offset 22@ 23@ 24@ density 2@ on_actor 3@
end
if 4@ == 1
then 0AB1: call @Detour 1 8@
end
0AB2: ret 0
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:ModelGroup
0001: wait 0
18@ = 1
if 0@ <> 0
then
0665: get_actor 1@ model_to 17@
if 0@ == 1
then
if or
17@ == 105
17@ == 106
17@ == 107
then 18@ = 0
end
end
if 0@ == 2
then
if or
17@ == 102
17@ == 103
17@ == 104
then 18@ = 0
end
end
if 0@ == 3
then
if or
17@ == 114
17@ == 115
17@ == 116
then 18@ = 0
end
end
if 0@ == 4
then
if or
17@ == 108
17@ == 109
17@ == 110
then 18@ = 0
end
end
if 0@ == 5
then
if or
17@ == 173
17@ == 174
17@ == 175
then 18@ = 0
end
end
if 0@ == 6
then
if or
17@ == 111
17@ == 112
17@ == 125
17@ == 126
17@ == 127
then 18@ = 0
end
end
if 0@ == 7
then
if or
17@ == 113
17@ == 124
then 18@ = 0
end
end
if 0@ == 8
then
if or
17@ == 121
17@ == 122
17@ == 123
17@ == 117
17@ == 118
17@ == 120
then 18@ = 0
end
end
if 18@ == 0
then
if 2@ == 1
then print "~g~Friendly ~r~Fire!" 500
end
end
end
0AB2: ret 1 18@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:MyRPC_Hook
0001: wait 0
0BE5: raknet 10@ = get_hook_param PARAM_PACKETID
if 10@ == 115
then
if ActiveStatus == 1
then
if AllowRPC <> 1
then 0BE0: raknet hook_ret false
else 0B12: AllowRPC = AllowRPC XOR 1
end
end
end
0BE0: raknet hook_ret true
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:GetRandom
wait 0
0470: 2@ = actor $PLAYER_ACTOR current_weapon
if or
2@ == 28
2@ == 29
2@ == 30
2@ == 31
2@ == 32
2@ == 38
then 3@ = 1
else 3@ = 2
end
0209: 19@ = random_int_in_ranges 1 10
if 3@ = 1
then
if 19@ <= 2
then 1@ = 0
else 1@ = 1
end
else
if 82D8: not actor $PLAYER_ACTOR current_weapon == 24
then
if 19@ <= 5
then 1@ = 1
else 1@ = 0
end
else
if 19@ >= 5
then 4@ = 2
else 4@ = 3
end
if 003B: 0@ == 4@
then 1@ = 1
else 1@ = 0
end
end
end
ret 2 1@ 4@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:InTarget
wait 0
0A96: 2@ = actor $PLAYER_ACTOR struct
0A8E: 1@ = 2@ + 0x79C
0A8D: 2@ = read_memory 1@ size 1 virtual_protect 1
if 003B: 2@ == 0@
then ret 1 1
end
ret 1 -1
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:SendValidVector
wait 0
0B2B: samp 9@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0AC8: 11@ = allocate_memory_size 31
0BBE: samp store_player 9@ aim_data 11@
068D: get_camera_position_to 2@ 3@ 14@
Actor.StorePos(0@, 27@, 21@, 31@)
0063: 2@ -= 27@
0063: 3@ -= 21@
0604: get_Z_angle_for_point 2@ 3@ store_to 4@
0C02: math 4@ = angle_to_radian 4@
4@ *= -1.0
0C03: math 2@ = sine 4@
0C05: math 3@ = cosine 4@
2@ *= -1.0
3@ *= -1.0
0C0D: struct 11@ offset 1 size 4 = 2@
0C0D: struct 11@ offset 5 size 4 = 3@
0BC3: samp send_aim_data 11@
0AC9: free_allocated_memory 11@
0AB2: ret 0
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:PACKET_SYNC_HOOK
0001: wait 0
0BE5: raknet 2@ = get_hook_param PARAM_BITSTREAM
0BE5: raknet 3@ = get_hook_param PARAM_PACKETID
///////////////////////////////////////////////////////////////////////////////////////////////
if 3@ == PACKET_WEAPONS_UPDATE
then
if and
ActiveStatus == 1
WeaponsUpdate == 1
then
call @InTarget 1 LastTargetHandle ret_to 25@
if 25@ <> 1
then
0BF3: raknet 4@ = bit_stream 2@ get_data_ptr
0B2B: samp 26@ = get_player_id_by_actor_handle LastTargetHandle
0C0D: struct 4@ offset 1 size 2 = 26@
end
end
end
///////////////////////////////////////////////////////////////////////////////////////////////
if 3@ == PACKET_BULLET_SYNC
then
if ActiveStatus == 1
then
0470: 15@ = actor $PLAYER_ACTOR current_weapon
if or
15@ == 34
15@ == 33
then 12@ = 150.0
else 0093: 12@ = integer FOV to_float
end
call @GET_TARGET_ACTOR 6 12@ WallShot ModelGroup ShowMessages AnyDistance InCarVictim ret_to 7@
if 7@ <> -1
then
008A: LastTargetHandle = 7@
if RandomShot == 0
then
if SkinVector == 1
then call @SendValidVector 1 LastTargetHandle
end
0AB1: call @SendSilentBullet 5 DrawBlood AnyDistance BloodDensity LastTargetHandle SendRPC
0BE0: raknet hook_ret false
else
var
13@ : Integer
19@ : Integer
end
if 02D8: actor $PLAYER_ACTOR current_weapon == 24
then DeagleCounter++
end
call @GetRandom 1 DeagleCounter ret_to 13@ CountLimit
if 02D8: actor $PLAYER_ACTOR current_weapon == 24
then
if DeagleCounter >= CountLimit
then DeagleCounter = 0
end
end
if 13@ == 1
then
if SkinVector == 1
then call @SendValidVector 1 LastTargetHandle
end
0AB1: call @SendSilentBullet 5 DrawBlood AnyDistance BloodDensity LastTargetHandle SendRPC
0BE0: raknet hook_ret false
else AllowRPC = 1
end
end
end
end
end
0BE0: raknet hook_ret true
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:ValidDistance
wait 0
0470: 25@ = actor $PLAYER_ACTOR current_weapon
if or
25@ == 22
25@ == 23
25@ == 24
25@ == 26
25@ == 28
25@ == 32
then 0@ = 35.0
end
if or
25@ == 25
25@ == 27
then 0@ = 40.0
end
if 25@ == 29
then 0@ = 45.0
end
if 25@ == 30
then 0@ = 70.0
end
if 25@ == 31
then 0@ = 90.0
end
if 25@ == 33
then 0@ = 100.0
end
if 25@ == 34
then 0@ = 320.0
end
if 25@ == 38
then 0@ = 75.0
end
ret 1 0@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:GET_TARGET_ACTOR
0001: wait 0
0087: 28@ = 0@
0A8D: 29@ = read_memory 0xB74490 size 4 virtual_protect 0
000A: 29@ += 0x4
0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
for 30@ = 0 to 35584 step 0x100
0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
000A: 29@ += 0x1
if and
0029: 31@ >= 0x00
001B: 0x80 > 31@
then
005A: 31@ += 30@
if 056D: actor 31@ defined
then
if 803C: $PLAYER_ACTOR == 31@
then
04C4: store_coords_to 27@ 26@ 25@ from_actor 31@ with_offset 0.0 0.0 0.0
068D: get_camera_position_to 24@ 23@ 22@
8@ = SAMP.GetSAMPPlayerIDByActorHandle(31@)
if and
8118: not actor 31@ dead
02CB: actor 31@ bounding_sphere_visible
not SAMP.IsPlayerPaused(8@)
then
04C4: store_coords_to 10@ 11@ 12@ from_actor 31@ 0.0 0.0 0.0
0AB1: call_scm_func @getScreenXYFrom3DCoords 3 3D_coords_X 10@ Y 11@ Z 12@ store_screen_X_to 13@ Y_to 14@
0509: 15@ = distance_between_XY 339.1 179.1 and_XY 13@ 14@
if 0035: 28@ >= 15@
then
if 1@ == 0
then
if 06BD: no_obstacles_between 27@ 26@ 25@ and 24@ 23@ 22@ solid 1 car 1 actor 0 object 1 particle 1
then wait 0
else continue
end
end
/////////////////////////////////////////////////////////////////
if 5@ == 0
then
if 0449: actor 31@ in_a_car
then continue
end
end
////////////////////////////////////////////////////////////////////////
if 4@ == 0
then
var
9@ : Float
20@ : Float
end
0509: 9@ = distance_between_XY 10@ 11@ and_XY 24@ 23@
call @ValidDistance 0 ret_to 20@
///////////////////////////////////////////////////////////////////
if 9@ >= 20@
then continue
end
end
//////////////////////////////////////////////////////////////////
if 2@ <> 0
then
0AB1: call @ModelGroup 3 2@ 31@ 3@ ret_to 6@
if 6@ == 1
then 7@ = 1
else 7@ = 0
end
else 7@ = 1
end
////////////////////////////////////////////////////////////////
if 7@ == 1
then 0AB2: 1 31@
else continue
end
end
else continue
end
end
end
end
end
0AB2: 1 -1
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:getScreenXYFrom3DCoords
0001: wait 0
0AC7: 14@ = var 0@ offset
0AC7: 15@ = var 3@ offset
0AC7: 16@ = var 6@ offset
0AC7: 17@ = var 9@ offset
0AA5: call 0x70CE30 num_params 6 pop 6 0 0 17@ 16@ 15@ 14@
0007: 12@ = 640.0
0007: 13@ = 448.0
0A8D: 14@ = read_memory 0xC17044 size 4 virtual_protect 0
0A8D: 15@ = read_memory 0xC17048 size 4 virtual_protect 0
0093: 14@ = integer 14@ to_float
0093: 15@ = integer 15@ to_float
0073: 12@ /= 14@
0073: 13@ /= 15@
006B: 3@ *= 12@
006B: 4@ *= 13@
0AB2: ret 2 3@ 4@
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:DefaultVarInit
FOV = 40
AnyDistance = 0
SkinVector = 1
WallShot = 0
WeaponsUpdate = 1
RandomShot = 1
DisableRpcHook = 1
InCarVictim = 0
SendRPC = 1
ModelGroup = 0
DrawBlood = 1
BloodDensity = 20
AutoActivation = 0
ActivationMode = 1
GameKey = -1
ShowMessages = 1
AllowRPC = 0
return
Так есть ли стиллер или нет? И если есть, можно его вырезать? Кто сможет помочь?