HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 13.04.2015, 19:46
mfn
Новичок
Регистрация: 13.10.2007
Сообщений: 1
С нами: 9778555

Репутация: 0
По умолчанию

Привет всем, вот функция по умолчанию цель :

Код:





Код:
void cheat_handle_actor_autoaim ( struct actor_info *info, double time_diff )
{
    traceLastFunc( "cheat_handle_actor_autoaim()" );

    // toggle aimbot on/off
    if ( KEY_PRESSED(set.key_autoaim_toggle) )
    {
        cheat_state->actor.autoaim ^= 1;
        if ( set.use_gta_autoaim )
        {
            if ( cheat_state->actor.autoaim == 1 )
            {
                // set to default value, in case joypad aiming already activated
                *(char *)0x00B6EC2E = 1;
                *(char *)0x00BA6818 = 0;
                patcher_install( &patch_gta_auto_aim );
            }
            else
            {
                patcher_remove( &patch_gta_auto_aim );
            }
        }
    }

    if ( !set.use_gta_autoaim )
    {
        // should we be trying to aim or not?
        bool                        isAimKeyDown = false;
        CControllerConfigManager    *pPadConfig = pGameInterface->GetControllerConfigManager();

        // doesnt seem to work in single player with pPadConfig and keyboard input?
        if ( pPadConfig->GetInputType() )
        {
            // mouse + keyboard
            if ( KEY_DOWN(pPadConfig->GetControllerKeyAssociatedWithAction(AIM_WEAPON, MOUSE)) )
            {
                isAimKeyDown = true;
            }
            else if ( KEY_DOWN(pPadConfig->GetControllerKeyAssociatedWithAction(AIM_WEAPON, KEYBOARD)) )
            {
                isAimKeyDown = true;
            }
        }
        else
        {
            // gamepad
            if ( KEY_DOWN(pPadConfig->GetControllerKeyAssociatedWithAction(FIRE, JOYSTICK)) )
            {
                isAimKeyDown = true;
            }
        }

        // let's aim, shall we?
        if ( cheat_state->actor.autoaim && isAimKeyDown )
        {
            // only for certain weapons
            eWeaponSlot selfSlot = pPedSelf->GetCurrentWeaponSlot();
            switch ( selfSlot )
            {
            case WEAPONSLOT_TYPE_UNARMED:
            case WEAPONSLOT_TYPE_MELEE:
            case WEAPONSLOT_TYPE_THROWN:
            case WEAPONSLOT_TYPE_SPECIAL:
            case WEAPONSLOT_TYPE_GIFT:
            case WEAPONSLOT_TYPE_PARACHUTE:
            case WEAPONSLOT_TYPE_DETONATOR:
                // we don't want to aim for these weapons
                return;
            //case WEAPONSLOT_TYPE_HANDGUN:
            //case WEAPONSLOT_TYPE_SHOTGUN:
            //case WEAPONSLOT_TYPE_SMG:
            //case WEAPONSLOT_TYPE_MG:
            //case WEAPONSLOT_TYPE_RIFLE:
            //case WEAPONSLOT_TYPE_HEAVY:
            }

            static int            prev_id;
            static float        adj_rx, adj_rz, prev_rx, prev_rz;
            float                rx = *(float *)0x00B6F248;
            float                rz = *(float *)0x00B6F258;

            int                    nearest_id = actor_find_nearest( ACTOR_ALIVE );
            struct actor_info    *nearest;
            float                vect[3], ax, az;

            if ( nearest_id == -1 )
            {
                cheat_state_text( "No players found; auto aim disabled." );
                cheat_state->actor.autoaim = 0;
                return;
            }

            if ( nearest_id == prev_id )
            {
                adj_rx += rx - prev_rx;
                adj_rz += rz - prev_rz;
            }

            prev_id = nearest_id;

            if ( (nearest = actor_info_get(nearest_id, ACTOR_ALIVE)) == NULL )
                return; // won't happen

           

            // calculate distance vector
            vect3_vect3_sub( &nearest->base.matrix[4 * 3], &info->base.matrix[4 * 3], vect );

            // z angle
            az = atan2f( vect[0], vect[1] );

            // rotate around z axis
            vect[1] = sinf( az ) * vect[0] + cosf( az ) * vect[1];

            // x angle
            ax = atan2f( vect[1], vect[2] );

            ax = -ax + M_PI / 2.0f + adj_rx;
            az = -az - M_PI / 2.0f + adj_rz;

            if ( ax  M_PI )
                ax = M_PI;

            // XXX make function
            prev_rx = *(float *)0x00B6F248 = ax;
            prev_rz = *(float *)0x00B6F258 = az;
}
}
}


Кто-нибудь знает, как изменить цель состоит в том, чтобы не искать ближайший ID только острым предметом, например, как цели кожи (при наведении игрок решает, которые стремятся работать на нем цель) ?
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...