MikeRohsoft icon

force gravity gun

MikeRohsoft | PRO | 07/31/17 08:47:10 PM UTC | 0 ⭐ | 564 👁️ | Never ⏰ | []
C++ |

2.96 KB

|

None

|

0 👍

/

0 👎

void set_gravity_gun()
    {
        DWORD tempPed, tempWeap;
 
        if (!grav_target_locked) {
            GET_ENTITY_PLAYER_IS_FREE_AIMING_AT(PLAYER_ID(), &grav_entity);
            if (DOES_ENTITY_EXIST(grav_entity) && checkNear(GET_ENTITY_COORDS(PLAYER_PED_ID(), 1), GET_ENTITY_COORDS(grav_entity, 1), pickupDistance)) grav_target_locked = 1;
            if (IS_PED_IN_ANY_VEHICLE(grav_entity, 0)) grav_entity = GET_VEHICLE_PED_IS_IN(grav_entity, 0);
            if (grav_target_locked){
                bool cancel = 1;
                if (IS_ENTITY_AN_OBJECT(grav_entity) && forceGunObjects) cancel = 0;
                if (IS_ENTITY_A_VEHICLE(grav_entity) && forceGunVehicles) cancel = 0;
                if (IS_ENTITY_A_PED(grav_entity) && forceGunPeds) cancel = 0;
                if (cancel){
                    grav_target_locked = 0;
                    grav_entity = -1;
                    return;
                }
            }
        }
 tempPed = PLAYER_ID(); GET_CURRENT_PED_WEAPON(PLAYER_PED_ID(), &tempWeap, 1);
        if ((IS_PLAYER_FREE_AIMING(tempPed) || IS_PLAYER_TARGETTING_ANYTHING(tempPed)) && DOES_ENTITY_EXIST(grav_entity) && grav_target_locked)
        {
            Vector3 gameplayCam = _GET_GAMEPLAY_CAM_COORDS();
            Vector3 gameplayCamRot = GET_GAMEPLAY_CAM_ROT(0);
            Vector3 gameplayCamDirection = RotationToDirection(gameplayCamRot);
            Vector3 startCoords = addVector(gameplayCam, (multiplyVector(gameplayCamDirection, entityDistance)));
            Vector3 endCoords = addVector(gameplayCam, (multiplyVector(gameplayCamDirection, 500.0f)));
            SET_ENTITY_COLLISION(grav_entity, 0, 1);
            //RequestControlOfid(NETWORK_GET_NETWORK_ID_FROM_ENTITY(grav_entity));
            RequestControlOfEnt(grav_entity);
            if (IS_ENTITY_A_PED(grav_entity)) SET_ENTITY_INVINCIBLE(grav_entity, 1);
            if (IS_PED_SHOOTING(PLAYER_PED_ID()) == 0) SET_ENTITY_COORDS_NO_OFFSET(grav_entity, startCoords.x, startCoords.y, startCoords.z, 0, 0, 0);
   
    if (IS_ENTITY_A_VEHICLE(grav_entity) || IS_ENTITY_A_PED(grav_entity)) SET_ENTITY_HEADING(grav_entity, GET_ENTITY_HEADING(PLAYER_PED_ID()) + 90.0f);
            if (IS_PED_SHOOTING(PLAYER_PED_ID()))
            {
                RequestControlOfEnt(grav_entity);
                SET_ENTITY_COLLISION(grav_entity, 1, 1);
                SET_ENTITY_HEADING(grav_entity, GET_ENTITY_HEADING(PLAYER_PED_ID()));
 
                APPLY_FORCE_TO_ENTITY(grav_entity, 1, 0.0f, 350.0f, 2.0f + endCoords.z, 2.0f, 0.0f, 0.0f, 0, 1, 1, 1, 0, 1);
                SET_ENTITY_INVINCIBLE(grav_entity, 0);
                WAIT(300);
                grav_target_locked = false;
                grav_entity = -1;
 
                return;
            }
        }
        else {
            RequestControlOfEnt(grav_entity);
            SET_ENTITY_COLLISION(grav_entity, 1, 1);
            grav_target_locked = false;
            grav_entity = -1;
        }
 
    }

Comments