Помощь за бабосики.

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

stfbee22

Известный
Автор темы
69
3
Куку
Мне нужно чтобы после запуска игры файл .ini с настройками аима в клео не сохранялся.
Возможно ли сделать так?
Меня сам аим устраивает, нет необходимости использовать/редактировать .ini файл, он для меня как лишний.

Если так глазами смотреть, то код переполнен дерьмом всяким, может найдется тот, кто займется этим? Бабками на киви отблагодарю :)


CLEO:
{$CLEO .cs}
{$INCLUDE SF}
0000:
//////////////////////////////////////////////////////////////////////////////////////////////////////////
/*
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ UPDATE LOG v7.5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + Добавлен параметр FriendlyGroup для указания модельной группы скинов союзников
    + Параметр RandomChance заменен на RandomShot теперь по дефолту шанс на попадание 2 к 3.
    + Исправлен рандом шот (работал не точно) 
    + Параметр ShowMesseges так же отключает и сообщение о дружественном огне
    + Исправлен параметр TargetPointer (Из-за него часто не пускало дамаг)
    + Сделаны рандомные части тела при попаданиях
    + Исправлен баг с созданием конфига только после релога
    + Добавлена команда /recfg для перезагрузки конфига
    + Исправлен баг с параметром шот дистанс (Работал не точно)
    + Теперь даже при другом режиме активации команда /reaper всегда доступна
    + Исправлен баг с двойной отправкой рпц на выдачу урона когда вы сами попадаете в скин
    //////////////////////////////////////////////////////////////////////////////////////////
    v8.0 - Update Log
    + Обновлены старые обходы под новые античиты 
    + Добавлен параметр BadData для обхода фикса по камере
    + Изменения в сис-ме рандомных промахов, теперь с автоматики 1 к 3 а с других 2 к 3
    + Добавлен параметр WeaponsUpdate для отключения перезаписи пакета ID_WEAPONS_UPDATE
    + Вырезаны параметры FriendlyFire, TargetPointer, ValidVector и CamBack 
    + Убран баг с клавишной активацией (при стрельбе если зажимать то переставал работать аим)
    + Параметр ShotDistance переименован в AnyDistance и теперь работает со значениями 0/1
    //////////////////////////////////////////////////////////////////////////////////////////
    v8.5 - Update Log
    + Исправлен баг с модельными группами банд (Не работал фильтр против огня по своих) 
    + Исправлен баг с выстрелами в мёртвый/афкашный таргет
    + Теперь в случае не валидной цели её поиск будет продолжаться 
    + Добавлен параметр InCarVictim для отключения попаданий по водителях/пассажирах
    + Вернул параметры ValidCamera и CameraBack (Маскирует угол трассера от выстрела)
    + Теперь клавишная активация не будет срабатывать если чат открыт
    + Теперь при рандомных промахах пули будут попадать как при обычных выстрелах
    /////////////////////////////////////////////////////////////////////////////////////////
    v9.0 [Premium] - Update Log
    + Улучшеная система рандомных промахов на более комфортную и реалистичную
    - Добавлен параметр IgnoredWeapons для отсева оружий с который аимить не будет
    - Добавлен параметр FriendlySkins для указания своих идов дружественных скинов
    + Убраны параметры ValidCamera и CameraBack вместе с принудительной синхрой прицеливания
    + Исправлена отправка серверу информации о зелёном треугольнике
    + Исправлены случайные зависания игры при стрельбе с аимбота
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    { Баг - Если будет рандомный промах и вы ровно стрельнете в скин то рпц о дамаге не отправит! }
*/
//////////////////////////////////////////////////////////////////////////////////////
repeat
wait 0
until SAMP.Available()
//////////////////////////////////////////////////////////////////////////////////////
var
    $CFG: array 15 of Integer
end
//////////////////////////////////////////////////////////////////////////////////////
const
    ActiveStatus = 31@
    LastTargetHandle = 28@
    HookDistance = $CFG[0]
    AnyDistance = $CFG[1]
    BadData = $CFG[2]
    WallShot = $CFG[3]
    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]
end 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
gosub @DefaultVarInit
gosub @Config 
0093: 12@ = integer HookDistance to_float 
0AB1: call @AutoMark 2 AutoActivation ActiveStatus ret_to ActiveStatus
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
0B34: samp register_client_command "quadasoft" to_label @cmd_hook
0B34: samp register_client_command "recfg" to_label @cmd2_hook
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
0BE1: raknet setup_outcoming_rpc_hook @MyRPC_Hook
0BE2: raknet setup_outcoming_packet_hook @PACKET_SYNC_HOOK
print "Quada Enjine [ACTIVATED]" time 3000
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
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 "Quada Enjine [ACTIVATED]" time 1000
                            else print "Quada Enjine [DEACTIVATED]" 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 "Quada Enjine [ACTIVATED]" 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 "Quada Enjine [ACTIVATED]" time 3000
        else print "Quada Enjine [DEACTIVATED]" time 3000
        end 
    end  
0B12: ActiveStatus = ActiveStatus XOR 1
end
0B43: samp cmd_ret
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:cmd2_hook
if 0B61: samp is_local_player_spawned
then
    if 0AAB: file_exists "CLEO\QuadaConfig.ini" 
    then
        0AF0: HookDistance = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "HookDistance" 
        0AF0: AnyDistance = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AnyDistancee" 
        0AF0: BadData = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BadData" 
        0AF0: WallShot = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WallShot" 
        0AF0: WeaponsUpdate = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WeaponsUpdate" 
        0AF0: RandomShot = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "RandomShot" 
        0AF0: InCarVictim = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "InCarVictim"
        0AF0: SendRPC = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "SendRPC" 
        0AF0: ModelGroup = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ModelGroup" 
        0AF0: DrawBlood = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "DrawBlood" 
        0AF0: BloodDensity = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BloodDensity" 
        0AF0: AutoActivation = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AutoActivation" 
        0AF0: ActivationMode = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ActivationMode"
        0AF0: GameKey = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "GameKey" 
        0AF0: ShowMessages = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ShowMessages"
        print "~w~Config file was successfully ~g~Reloaded" time 1556
    else print "~r~Error! ~w~Config file doesn`t exist!" time 1556
    end
end
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@ = 3.30000019073486328125
    1@ *= 15
end
if 0@ == 27
then 
    1@ = 4.950000286102294921875
    1@ *= 8
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.6
0098: 23@ = random_float 0.0 _to_ 0.4
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.2
    0063: 22@ -= 28@
end
/////////////////////////////////////////
0209: 27@ = random 1 to_ 10
if 27@ >= 5
then 
    23@ = -0.2
    0063: 23@ -= 29@
end
/////////////////////////////////////////
0209: 27@ = random 1 to_ 10
if 27@ >= 5
then 
    24@ = -0.2
    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 0BE0: raknet hook_ret false
    end
end
0BE0: raknet hook_ret true
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
:BadOnFootData
wait 0
00A0: store_actor 0@ position_to 1@ 2@ 3@
0604: get_Z_angle_for_point 1@ 2@ store_to 17@
0B2B: samp 8@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0AC8: 4@ = allocate_memory_size 68
0BBA: samp store_player 8@ onfoot_data 4@
0C0D: struct 4@ offset 30 size 4 = 17@  
0B40: raknet bit_stream 5@ write PACKET_PLAYER_SYNC type BS_TYPE_BYTE size 1    
0B40: raknet bit_stream 5@ write 4@ type BS_TYPE_ARRAY size 68
0B8B: raknet send bit_stream 5@
0B3E: raknet delete_bit_stream 5@
0AC9: free_allocated_memory 4@
ret 0
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
: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 0@ = 1
else 0@ = 2
end
0209: 19@ = random_int_in_ranges 1 10  
if 0@ = 1    
then
    if 19@ <= 2
    then 1@ = 0
    else 1@ = 1
    end
else
    if 19@ <= 5 
    then 1@ = 1
    else 1@ = 0
    end  
end
ret 1 1@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
: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 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
: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 
        call @GET_AIM_TARGET_ACTOR 6 12@ WallShot ModelGroup ShowMessages AnyDistance InCarVictim ret_to 7@
        if 7@ <> -1
        then 
            008A: LastTargetHandle = 7@
            /////////////////////////////////////////////////
            var 
                15@ : Float
                27@ : Float
                21@ : Float
            end
            /////////////////////////////////////////////////
            068E: get_camera_target_point_to 15@ 27@ 21@
            if RandomShot == 0
            then 
                if BadData == 1
                then 0AB1: call @BadOnFootData 1 LastTargetHandle
                end
                0AB1: call @SendSilentBullet 5 DrawBlood AnyDistance BloodDensity LastTargetHandle SendRPC
                0BE0: raknet hook_ret false
            else
                var
                    13@ : Integer
                    19@ : Integer
                end 
                call @GetRandom 0 ret_to 13@          
                if 13@ == 1
                then
                    if BadData == 1
                    then 0AB1: call @BadOnFootData 1 LastTargetHandle
                    end
                    0AB1: call @SendSilentBullet 5 DrawBlood AnyDistance BloodDensity LastTargetHandle SendRPC
                    0BE0: raknet hook_ret false
                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_AIM_TARGET_ACTOR
0001: wait 0
FOR 28@ = 0.0 TO 0@ STEP 8.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
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
HookDistance = 60
AnyDistance = 0
BadData = 1
WallShot = 1
WeaponsUpdate = 1
RandomShot = 0
InCarVictim = 1
SendRPC = 1
ModelGroup = 0
DrawBlood = 1
BloodDensity = 120
AutoActivation = 0
ActivationMode = 1
GameKey = -1
ShowMessages = 1
return
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:Config
if 0AAB: file_exists "CLEO\QuadaConfig.ini" 
then                
    0AF0: HookDistance = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "HookDistance" 
    0AF0: AnyDistance = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AnyDistance" 
    0AF0: BadData = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BadData"
    0AF0: WallShot = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WallShot" 
    0AF0: WeaponsUpdate = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WeaponsUpdate" 
    0AF0: RandomShot = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "RandomShot" 
    0AF0: InCarVictim = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "InCarVictim"  
    0AF0: SendRPC = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "SendRPC" 
    0AF0: ModelGroup = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ModelGroup" 
    0AF0: DrawBlood = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "DrawBlood" 
    0AF0: BloodDensity = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BloodDensity" 
    0AF0: AutoActivation = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AutoActivation" 
    0AF0: ActivationMode = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ActivationMode"
    0AF0: GameKey = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "GameKey" 
    0AF0: ShowMessages = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ShowMessages" 
else
    0AF1: write_int HookDistance to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "HookDistance" 
    0AF1: write_int AnyDistance to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AnyDistance" 
    0AF1: write_int BadData to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BadData"
    0AF1: write_int WallShot to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WallShot" 
    0AF1: write_int WeaponsUpdate to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WeaponsUpdate" 
    0AF1: write_int RandomShot to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "RandomShot" 
    0AF1: write_int InCarVictim to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "InCarVictim"
    0AF1: write_int SendRPC to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "SendRPC" 
    0AF1: write_int ModelGroup to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ModelGroup" 
    0AF1: write_int DrawBlood to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "DrawBlood" 
    0AF1: write_int BloodDensity to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BloodDensity" 
    0AF1: write_int AutoActivation to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AutoActivation" 
    0AF1: write_int ActivationMode to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ActivationMode"
    0AF1: write_int GameKey to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "GameKey" 
    0AF1: write_int ShowMessages to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ShowMessages"
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    0AF5: write_string "1" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Grove"
    0AF5: write_string "2" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Ballas"
    0AF5: write_string "3" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Aztec"
    0AF5: write_string "4" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Vagos"
    0AF5: write_string "5" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Rifa"
    0AF5: write_string "6" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "RM"
    0AF5: write_string "7" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "LCN"
    0AF5: write_string "8" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Yakuza"
end 
return
/////////////////////////////////// Happy End ! ////////////////////////////////////////////////////////////////////////////////////////////////
 

anonim37

Известный
176
24
Куку
Мне нужно чтобы после запуска игры файл .ini с настройками аима в клео не сохранялся.
Возможно ли сделать так?
Меня сам аим устраивает, нет необходимости использовать/редактировать .ini файл, он для меня как лишний.

Если так глазами смотреть, то код переполнен дерьмом всяким, может найдется тот, кто займется этим? Бабками на киви отблагодарю :)


CLEO:
{$CLEO .cs}
{$INCLUDE SF}
0000:
//////////////////////////////////////////////////////////////////////////////////////////////////////////
/*
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ UPDATE LOG v7.5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + Добавлен параметр FriendlyGroup для указания модельной группы скинов союзников
    + Параметр RandomChance заменен на RandomShot теперь по дефолту шанс на попадание 2 к 3.
    + Исправлен рандом шот (работал не точно)
    + Параметр ShowMesseges так же отключает и сообщение о дружественном огне
    + Исправлен параметр TargetPointer (Из-за него часто не пускало дамаг)
    + Сделаны рандомные части тела при попаданиях
    + Исправлен баг с созданием конфига только после релога
    + Добавлена команда /recfg для перезагрузки конфига
    + Исправлен баг с параметром шот дистанс (Работал не точно)
    + Теперь даже при другом режиме активации команда /reaper всегда доступна
    + Исправлен баг с двойной отправкой рпц на выдачу урона когда вы сами попадаете в скин
    //////////////////////////////////////////////////////////////////////////////////////////
    v8.0 - Update Log
    + Обновлены старые обходы под новые античиты
    + Добавлен параметр BadData для обхода фикса по камере
    + Изменения в сис-ме рандомных промахов, теперь с автоматики 1 к 3 а с других 2 к 3
    + Добавлен параметр WeaponsUpdate для отключения перезаписи пакета ID_WEAPONS_UPDATE
    + Вырезаны параметры FriendlyFire, TargetPointer, ValidVector и CamBack
    + Убран баг с клавишной активацией (при стрельбе если зажимать то переставал работать аим)
    + Параметр ShotDistance переименован в AnyDistance и теперь работает со значениями 0/1
    //////////////////////////////////////////////////////////////////////////////////////////
    v8.5 - Update Log
    + Исправлен баг с модельными группами банд (Не работал фильтр против огня по своих)
    + Исправлен баг с выстрелами в мёртвый/афкашный таргет
    + Теперь в случае не валидной цели её поиск будет продолжаться
    + Добавлен параметр InCarVictim для отключения попаданий по водителях/пассажирах
    + Вернул параметры ValidCamera и CameraBack (Маскирует угол трассера от выстрела)
    + Теперь клавишная активация не будет срабатывать если чат открыт
    + Теперь при рандомных промахах пули будут попадать как при обычных выстрелах
    /////////////////////////////////////////////////////////////////////////////////////////
    v9.0 [Premium] - Update Log
    + Улучшеная система рандомных промахов на более комфортную и реалистичную
    - Добавлен параметр IgnoredWeapons для отсева оружий с который аимить не будет
    - Добавлен параметр FriendlySkins для указания своих идов дружественных скинов
    + Убраны параметры ValidCamera и CameraBack вместе с принудительной синхрой прицеливания
    + Исправлена отправка серверу информации о зелёном треугольнике
    + Исправлены случайные зависания игры при стрельбе с аимбота
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    { Баг - Если будет рандомный промах и вы ровно стрельнете в скин то рпц о дамаге не отправит! }
*/
//////////////////////////////////////////////////////////////////////////////////////
repeat
wait 0
until SAMP.Available()
//////////////////////////////////////////////////////////////////////////////////////
var
    $CFG: array 15 of Integer
end
//////////////////////////////////////////////////////////////////////////////////////
const
    ActiveStatus = 31@
    LastTargetHandle = 28@
    HookDistance = $CFG[0]
    AnyDistance = $CFG[1]
    BadData = $CFG[2]
    WallShot = $CFG[3]
    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]
end
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
gosub @DefaultVarInit
gosub @Config
0093: 12@ = integer HookDistance to_float
0AB1: call @AutoMark 2 AutoActivation ActiveStatus ret_to ActiveStatus
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
0B34: samp register_client_command "quadasoft" to_label @cmd_hook
0B34: samp register_client_command "recfg" to_label @cmd2_hook
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
0BE1: raknet setup_outcoming_rpc_hook @MyRPC_Hook
0BE2: raknet setup_outcoming_packet_hook @PACKET_SYNC_HOOK
print "Quada Enjine [ACTIVATED]" time 3000
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
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 "Quada Enjine [ACTIVATED]" time 1000
                            else print "Quada Enjine [DEACTIVATED]" 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 "Quada Enjine [ACTIVATED]" 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 "Quada Enjine [ACTIVATED]" time 3000
        else print "Quada Enjine [DEACTIVATED]" time 3000
        end
    end 
0B12: ActiveStatus = ActiveStatus XOR 1
end
0B43: samp cmd_ret
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:cmd2_hook
if 0B61: samp is_local_player_spawned
then
    if 0AAB: file_exists "CLEO\QuadaConfig.ini"
    then
        0AF0: HookDistance = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "HookDistance"
        0AF0: AnyDistance = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AnyDistancee"
        0AF0: BadData = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BadData"
        0AF0: WallShot = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WallShot"
        0AF0: WeaponsUpdate = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WeaponsUpdate"
        0AF0: RandomShot = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "RandomShot"
        0AF0: InCarVictim = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "InCarVictim"
        0AF0: SendRPC = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "SendRPC"
        0AF0: ModelGroup = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ModelGroup"
        0AF0: DrawBlood = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "DrawBlood"
        0AF0: BloodDensity = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BloodDensity"
        0AF0: AutoActivation = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AutoActivation"
        0AF0: ActivationMode = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ActivationMode"
        0AF0: GameKey = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "GameKey"
        0AF0: ShowMessages = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ShowMessages"
        print "~w~Config file was successfully ~g~Reloaded" time 1556
    else print "~r~Error! ~w~Config file doesn`t exist!" time 1556
    end
end
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@ = 3.30000019073486328125
    1@ *= 15
end
if 0@ == 27
then
    1@ = 4.950000286102294921875
    1@ *= 8
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.6
0098: 23@ = random_float 0.0 _to_ 0.4
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.2
    0063: 22@ -= 28@
end
/////////////////////////////////////////
0209: 27@ = random 1 to_ 10
if 27@ >= 5
then
    23@ = -0.2
    0063: 23@ -= 29@
end
/////////////////////////////////////////
0209: 27@ = random 1 to_ 10
if 27@ >= 5
then
    24@ = -0.2
    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 0BE0: raknet hook_ret false
    end
end
0BE0: raknet hook_ret true
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:BadOnFootData
wait 0
00A0: store_actor 0@ position_to 1@ 2@ 3@
0604: get_Z_angle_for_point 1@ 2@ store_to 17@
0B2B: samp 8@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0AC8: 4@ = allocate_memory_size 68
0BBA: samp store_player 8@ onfoot_data 4@
0C0D: struct 4@ offset 30 size 4 = 17@ 
0B40: raknet bit_stream 5@ write PACKET_PLAYER_SYNC type BS_TYPE_BYTE size 1   
0B40: raknet bit_stream 5@ write 4@ type BS_TYPE_ARRAY size 68
0B8B: raknet send bit_stream 5@
0B3E: raknet delete_bit_stream 5@
0AC9: free_allocated_memory 4@
ret 0
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
: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 0@ = 1
else 0@ = 2
end
0209: 19@ = random_int_in_ranges 1 10 
if 0@ = 1   
then
    if 19@ <= 2
    then 1@ = 0
    else 1@ = 1
    end
else
    if 19@ <= 5
    then 1@ = 1
    else 1@ = 0
    end 
end
ret 1 1@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
: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
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
: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
        call @GET_AIM_TARGET_ACTOR 6 12@ WallShot ModelGroup ShowMessages AnyDistance InCarVictim ret_to 7@
        if 7@ <> -1
        then
            008A: LastTargetHandle = 7@
            /////////////////////////////////////////////////
            var
                15@ : Float
                27@ : Float
                21@ : Float
            end
            /////////////////////////////////////////////////
            068E: get_camera_target_point_to 15@ 27@ 21@
            if RandomShot == 0
            then
                if BadData == 1
                then 0AB1: call @BadOnFootData 1 LastTargetHandle
                end
                0AB1: call @SendSilentBullet 5 DrawBlood AnyDistance BloodDensity LastTargetHandle SendRPC
                0BE0: raknet hook_ret false
            else
                var
                    13@ : Integer
                    19@ : Integer
                end
                call @GetRandom 0 ret_to 13@         
                if 13@ == 1
                then
                    if BadData == 1
                    then 0AB1: call @BadOnFootData 1 LastTargetHandle
                    end
                    0AB1: call @SendSilentBullet 5 DrawBlood AnyDistance BloodDensity LastTargetHandle SendRPC
                    0BE0: raknet hook_ret false
                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_AIM_TARGET_ACTOR
0001: wait 0
FOR 28@ = 0.0 TO 0@ STEP 8.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
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
HookDistance = 60
AnyDistance = 0
BadData = 1
WallShot = 1
WeaponsUpdate = 1
RandomShot = 0
InCarVictim = 1
SendRPC = 1
ModelGroup = 0
DrawBlood = 1
BloodDensity = 120
AutoActivation = 0
ActivationMode = 1
GameKey = -1
ShowMessages = 1
return
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:Config
if 0AAB: file_exists "CLEO\QuadaConfig.ini"
then               
    0AF0: HookDistance = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "HookDistance"
    0AF0: AnyDistance = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AnyDistance"
    0AF0: BadData = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BadData"
    0AF0: WallShot = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WallShot"
    0AF0: WeaponsUpdate = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WeaponsUpdate"
    0AF0: RandomShot = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "RandomShot"
    0AF0: InCarVictim = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "InCarVictim" 
    0AF0: SendRPC = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "SendRPC"
    0AF0: ModelGroup = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ModelGroup"
    0AF0: DrawBlood = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "DrawBlood"
    0AF0: BloodDensity = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BloodDensity"
    0AF0: AutoActivation = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AutoActivation"
    0AF0: ActivationMode = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ActivationMode"
    0AF0: GameKey = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "GameKey"
    0AF0: ShowMessages = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ShowMessages"
else
    0AF1: write_int HookDistance to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "HookDistance"
    0AF1: write_int AnyDistance to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AnyDistance"
    0AF1: write_int BadData to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BadData"
    0AF1: write_int WallShot to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WallShot"
    0AF1: write_int WeaponsUpdate to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WeaponsUpdate"
    0AF1: write_int RandomShot to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "RandomShot"
    0AF1: write_int InCarVictim to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "InCarVictim"
    0AF1: write_int SendRPC to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "SendRPC"
    0AF1: write_int ModelGroup to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ModelGroup"
    0AF1: write_int DrawBlood to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "DrawBlood"
    0AF1: write_int BloodDensity to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BloodDensity"
    0AF1: write_int AutoActivation to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AutoActivation"
    0AF1: write_int ActivationMode to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ActivationMode"
    0AF1: write_int GameKey to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "GameKey"
    0AF1: write_int ShowMessages to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ShowMessages"
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    0AF5: write_string "1" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Grove"
    0AF5: write_string "2" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Ballas"
    0AF5: write_string "3" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Aztec"
    0AF5: write_string "4" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Vagos"
    0AF5: write_string "5" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Rifa"
    0AF5: write_string "6" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "RM"
    0AF5: write_string "7" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "LCN"
    0AF5: write_string "8" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Yakuza"
end
return
/////////////////////////////////// Happy End ! ////////////////////////////////////////////////////////////////////////////////////////////////
тебе надо ини в другую папку засунуть?
 

stfbee22

Известный
Автор темы
69
3
тебе надо ини в другую папку засунуть?
Я вообще хочу видеть только клео файл
От ини можно как то избавиться? В коде полно дерьма левого, которое отвечает за ини, раз там настройки

Мне просто нужно сделать обычное клео, очистить код от лишних строчек)
 

anonim37

Известный
176
24
Я вообще хочу видеть только клео файл
От ини можно как то избавиться? В коде полно дерьма левого, которое отвечает за ини, раз там настройки

Мне просто нужно сделать обычное клео, очистить код от лишних строчек)
могу сделать, добавь скайп anonim3798
 

kraft1k

Вынь х*й из головы и все получится © hnnssy
Друг
1,479
1,160
Куку
Мне нужно чтобы после запуска игры файл .ini с настройками аима в клео не сохранялся.
Возможно ли сделать так?
Меня сам аим устраивает, нет необходимости использовать/редактировать .ini файл, он для меня как лишний.

Если так глазами смотреть, то код переполнен дерьмом всяким, может найдется тот, кто займется этим? Бабками на киви отблагодарю :)


CLEO:
{$CLEO .cs}
{$INCLUDE SF}
0000:
//////////////////////////////////////////////////////////////////////////////////////////////////////////
/*
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ UPDATE LOG v7.5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + Добавлен параметр FriendlyGroup для указания модельной группы скинов союзников
    + Параметр RandomChance заменен на RandomShot теперь по дефолту шанс на попадание 2 к 3.
    + Исправлен рандом шот (работал не точно)
    + Параметр ShowMesseges так же отключает и сообщение о дружественном огне
    + Исправлен параметр TargetPointer (Из-за него часто не пускало дамаг)
    + Сделаны рандомные части тела при попаданиях
    + Исправлен баг с созданием конфига только после релога
    + Добавлена команда /recfg для перезагрузки конфига
    + Исправлен баг с параметром шот дистанс (Работал не точно)
    + Теперь даже при другом режиме активации команда /reaper всегда доступна
    + Исправлен баг с двойной отправкой рпц на выдачу урона когда вы сами попадаете в скин
    //////////////////////////////////////////////////////////////////////////////////////////
    v8.0 - Update Log
    + Обновлены старые обходы под новые античиты
    + Добавлен параметр BadData для обхода фикса по камере
    + Изменения в сис-ме рандомных промахов, теперь с автоматики 1 к 3 а с других 2 к 3
    + Добавлен параметр WeaponsUpdate для отключения перезаписи пакета ID_WEAPONS_UPDATE
    + Вырезаны параметры FriendlyFire, TargetPointer, ValidVector и CamBack
    + Убран баг с клавишной активацией (при стрельбе если зажимать то переставал работать аим)
    + Параметр ShotDistance переименован в AnyDistance и теперь работает со значениями 0/1
    //////////////////////////////////////////////////////////////////////////////////////////
    v8.5 - Update Log
    + Исправлен баг с модельными группами банд (Не работал фильтр против огня по своих)
    + Исправлен баг с выстрелами в мёртвый/афкашный таргет
    + Теперь в случае не валидной цели её поиск будет продолжаться
    + Добавлен параметр InCarVictim для отключения попаданий по водителях/пассажирах
    + Вернул параметры ValidCamera и CameraBack (Маскирует угол трассера от выстрела)
    + Теперь клавишная активация не будет срабатывать если чат открыт
    + Теперь при рандомных промахах пули будут попадать как при обычных выстрелах
    /////////////////////////////////////////////////////////////////////////////////////////
    v9.0 [Premium] - Update Log
    + Улучшеная система рандомных промахов на более комфортную и реалистичную
    - Добавлен параметр IgnoredWeapons для отсева оружий с который аимить не будет
    - Добавлен параметр FriendlySkins для указания своих идов дружественных скинов
    + Убраны параметры ValidCamera и CameraBack вместе с принудительной синхрой прицеливания
    + Исправлена отправка серверу информации о зелёном треугольнике
    + Исправлены случайные зависания игры при стрельбе с аимбота
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    { Баг - Если будет рандомный промах и вы ровно стрельнете в скин то рпц о дамаге не отправит! }
*/
//////////////////////////////////////////////////////////////////////////////////////
repeat
wait 0
until SAMP.Available()
//////////////////////////////////////////////////////////////////////////////////////
var
    $CFG: array 15 of Integer
end
//////////////////////////////////////////////////////////////////////////////////////
const
    ActiveStatus = 31@
    LastTargetHandle = 28@
    HookDistance = $CFG[0]
    AnyDistance = $CFG[1]
    BadData = $CFG[2]
    WallShot = $CFG[3]
    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]
end
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
gosub @DefaultVarInit
gosub @Config
0093: 12@ = integer HookDistance to_float
0AB1: call @AutoMark 2 AutoActivation ActiveStatus ret_to ActiveStatus
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
0B34: samp register_client_command "quadasoft" to_label @cmd_hook
0B34: samp register_client_command "recfg" to_label @cmd2_hook
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
0BE1: raknet setup_outcoming_rpc_hook @MyRPC_Hook
0BE2: raknet setup_outcoming_packet_hook @PACKET_SYNC_HOOK
print "Quada Enjine [ACTIVATED]" time 3000
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
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 "Quada Enjine [ACTIVATED]" time 1000
                            else print "Quada Enjine [DEACTIVATED]" 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 "Quada Enjine [ACTIVATED]" 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 "Quada Enjine [ACTIVATED]" time 3000
        else print "Quada Enjine [DEACTIVATED]" time 3000
        end
    end 
0B12: ActiveStatus = ActiveStatus XOR 1
end
0B43: samp cmd_ret
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:cmd2_hook
if 0B61: samp is_local_player_spawned
then
    if 0AAB: file_exists "CLEO\QuadaConfig.ini"
    then
        0AF0: HookDistance = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "HookDistance"
        0AF0: AnyDistance = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AnyDistancee"
        0AF0: BadData = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BadData"
        0AF0: WallShot = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WallShot"
        0AF0: WeaponsUpdate = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WeaponsUpdate"
        0AF0: RandomShot = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "RandomShot"
        0AF0: InCarVictim = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "InCarVictim"
        0AF0: SendRPC = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "SendRPC"
        0AF0: ModelGroup = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ModelGroup"
        0AF0: DrawBlood = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "DrawBlood"
        0AF0: BloodDensity = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BloodDensity"
        0AF0: AutoActivation = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AutoActivation"
        0AF0: ActivationMode = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ActivationMode"
        0AF0: GameKey = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "GameKey"
        0AF0: ShowMessages = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ShowMessages"
        print "~w~Config file was successfully ~g~Reloaded" time 1556
    else print "~r~Error! ~w~Config file doesn`t exist!" time 1556
    end
end
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@ = 3.30000019073486328125
    1@ *= 15
end
if 0@ == 27
then
    1@ = 4.950000286102294921875
    1@ *= 8
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.6
0098: 23@ = random_float 0.0 _to_ 0.4
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.2
    0063: 22@ -= 28@
end
/////////////////////////////////////////
0209: 27@ = random 1 to_ 10
if 27@ >= 5
then
    23@ = -0.2
    0063: 23@ -= 29@
end
/////////////////////////////////////////
0209: 27@ = random 1 to_ 10
if 27@ >= 5
then
    24@ = -0.2
    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 0BE0: raknet hook_ret false
    end
end
0BE0: raknet hook_ret true
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:BadOnFootData
wait 0
00A0: store_actor 0@ position_to 1@ 2@ 3@
0604: get_Z_angle_for_point 1@ 2@ store_to 17@
0B2B: samp 8@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0AC8: 4@ = allocate_memory_size 68
0BBA: samp store_player 8@ onfoot_data 4@
0C0D: struct 4@ offset 30 size 4 = 17@ 
0B40: raknet bit_stream 5@ write PACKET_PLAYER_SYNC type BS_TYPE_BYTE size 1   
0B40: raknet bit_stream 5@ write 4@ type BS_TYPE_ARRAY size 68
0B8B: raknet send bit_stream 5@
0B3E: raknet delete_bit_stream 5@
0AC9: free_allocated_memory 4@
ret 0
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
: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 0@ = 1
else 0@ = 2
end
0209: 19@ = random_int_in_ranges 1 10 
if 0@ = 1   
then
    if 19@ <= 2
    then 1@ = 0
    else 1@ = 1
    end
else
    if 19@ <= 5
    then 1@ = 1
    else 1@ = 0
    end 
end
ret 1 1@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
: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
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
: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
        call @GET_AIM_TARGET_ACTOR 6 12@ WallShot ModelGroup ShowMessages AnyDistance InCarVictim ret_to 7@
        if 7@ <> -1
        then
            008A: LastTargetHandle = 7@
            /////////////////////////////////////////////////
            var
                15@ : Float
                27@ : Float
                21@ : Float
            end
            /////////////////////////////////////////////////
            068E: get_camera_target_point_to 15@ 27@ 21@
            if RandomShot == 0
            then
                if BadData == 1
                then 0AB1: call @BadOnFootData 1 LastTargetHandle
                end
                0AB1: call @SendSilentBullet 5 DrawBlood AnyDistance BloodDensity LastTargetHandle SendRPC
                0BE0: raknet hook_ret false
            else
                var
                    13@ : Integer
                    19@ : Integer
                end
                call @GetRandom 0 ret_to 13@         
                if 13@ == 1
                then
                    if BadData == 1
                    then 0AB1: call @BadOnFootData 1 LastTargetHandle
                    end
                    0AB1: call @SendSilentBullet 5 DrawBlood AnyDistance BloodDensity LastTargetHandle SendRPC
                    0BE0: raknet hook_ret false
                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_AIM_TARGET_ACTOR
0001: wait 0
FOR 28@ = 0.0 TO 0@ STEP 8.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
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
HookDistance = 60
AnyDistance = 0
BadData = 1
WallShot = 1
WeaponsUpdate = 1
RandomShot = 0
InCarVictim = 1
SendRPC = 1
ModelGroup = 0
DrawBlood = 1
BloodDensity = 120
AutoActivation = 0
ActivationMode = 1
GameKey = -1
ShowMessages = 1
return
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:Config
if 0AAB: file_exists "CLEO\QuadaConfig.ini"
then               
    0AF0: HookDistance = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "HookDistance"
    0AF0: AnyDistance = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AnyDistance"
    0AF0: BadData = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BadData"
    0AF0: WallShot = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WallShot"
    0AF0: WeaponsUpdate = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WeaponsUpdate"
    0AF0: RandomShot = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "RandomShot"
    0AF0: InCarVictim = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "InCarVictim" 
    0AF0: SendRPC = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "SendRPC"
    0AF0: ModelGroup = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ModelGroup"
    0AF0: DrawBlood = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "DrawBlood"
    0AF0: BloodDensity = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BloodDensity"
    0AF0: AutoActivation = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AutoActivation"
    0AF0: ActivationMode = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ActivationMode"
    0AF0: GameKey = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "GameKey"
    0AF0: ShowMessages = get_int_from_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ShowMessages"
else
    0AF1: write_int HookDistance to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "HookDistance"
    0AF1: write_int AnyDistance to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AnyDistance"
    0AF1: write_int BadData to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BadData"
    0AF1: write_int WallShot to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WallShot"
    0AF1: write_int WeaponsUpdate to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "WeaponsUpdate"
    0AF1: write_int RandomShot to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "RandomShot"
    0AF1: write_int InCarVictim to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "InCarVictim"
    0AF1: write_int SendRPC to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "SendRPC"
    0AF1: write_int ModelGroup to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ModelGroup"
    0AF1: write_int DrawBlood to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "DrawBlood"
    0AF1: write_int BloodDensity to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "BloodDensity"
    0AF1: write_int AutoActivation to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "AutoActivation"
    0AF1: write_int ActivationMode to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ActivationMode"
    0AF1: write_int GameKey to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "GameKey"
    0AF1: write_int ShowMessages to_ini_file "CLEO\QuadaConfig.ini" section "Settings" key "ShowMessages"
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    0AF5: write_string "1" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Grove"
    0AF5: write_string "2" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Ballas"
    0AF5: write_string "3" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Aztec"
    0AF5: write_string "4" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Vagos"
    0AF5: write_string "5" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Rifa"
    0AF5: write_string "6" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "RM"
    0AF5: write_string "7" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "LCN"
    0AF5: write_string "8" to_ini_file "CLEO\QuadaConfig.ini" section "ModelGroups" key "Yakuza"
end
return
/////////////////////////////////// Happy End ! ////////////////////////////////////////////////////////////////////////////////////////////////
Слышь дерьмо, ливни нахуй отсюда, код хороший и ничем не забит... Просто ты такой мудак, который не ценит работу создателя.
 
  • Злость
Реакции: агадада

stfbee22

Известный
Автор темы
69
3
Слышь дерьмо, ливни нахуй отсюда, код хороший и ничем не забит... Просто ты такой мудак, который не ценит работу создателя.
Не выебывайся, от этого ничего не изменится.

Я с другой точки обсуждаю его
Для меня в коде много лишнего, хоть я в этом не шарю, но глаза есть

Кто его использует полноценным, у тех нет вопросов
А мне что ли его обнять? Я скажу что здесь много функции, раз появляются настройки, а мне нужен просто аим который.
 
Статус
В этой теме нельзя размещать новые ответы.