Advertisement
KiLLerBoy_001

GTA 5: Magic Carpet Function

Nov 11th, 2015
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.38 KB | None | 0 0
  1. //-----------------  Magic Carpet  -----------------
  2. //
  3. // Nothing special Do check IS_CONTROL_PRESSED numbers though
  4. // Gets activated through MagicCarpet Bool
  5. //--------------------------------------------------
  6.  
  7. object Create_Object(const char* ObjectName, Vector3 Coordinates)
  8. {
  9.    int ObjectHash = GAMEPLAY::GET_HASH_KEY(ObjectName);
  10.    if (STREAMING::IS_MODEL_IN_CDIMAGE(ObjectHash))
  11.    {
  12.       if (STREAMING::IS_MODEL_VALID(ObjectHash))
  13.       {
  14.          do
  15.          {
  16.             STREAMING::REQUEST_MODEL(ObjectHash);
  17.          } while (! STREAMING::HAS_MODEL_LOADED(ObjectHash))
  18.  
  19.          if (STREAMING::HAS_MODEL_LOADED(ObjectHash))
  20.          {             
  21.             return = OBJECT::CREATE_OBJECT(ObjectHash, Coordinates.x,Coordinates.y,Coordinates.z, 1, 1, 0, 0, 1);          
  22.          }
  23.          else
  24.          {
  25.             // Error model didnt load properly.
  26.          }
  27.       }
  28.    }
  29. }
  30.  
  31.  
  32. MagicCarpetLoop()
  33. {
  34.    char* prop = "p_oil_slick_01"
  35.    hash ObjHash = GAMEPLAY::GET_HASH_KEY(prop);
  36.    object MagicCarpetObject = OBJECT::GET_CLOSEST_OBJECT_OF_TYPE(PlayerCoord.x,PlayerCoord.y,PlayerCoord.z,100,ObjHash,1,0,1);
  37.  
  38.    vector3 PlayerCoord = ENTITY::GET_ENTITY_COORD(playerPed,1);
  39.  
  40.    if ((! ENTITY::DOES_ENTITY_EXIST(MagicCarpetObject)) && (MagicCarpet))
  41.    {
  42.       object MagicCarpetObject = Create_Object(prop,PlayerCoord.x,PlayerCoord.y,PlayerCoord.z)
  43.       ENTITY::FREEZE_ENTITY_POSITION(MagicCarpetObject,1);
  44.       ENTITY::SET_ENTITY_VISIBLE(MagicCarpetObject,0);
  45.    }
  46.    else if ((ENTITY::DOES_ENTITY_EXIST(MagicCarpetObject)) && (MagicCarpet))
  47.    {
  48.       float Normal = 1.0225;
  49.       float Down = 1.60;
  50.       float Up = 0.40;
  51.       float Vehicular  = 50.0;
  52.  
  53.       if (PED::IS_PED_IN_ANY_VEHICLE(playerPed,0)   //Move below ground when in car
  54.       {
  55.          zPlane = PlayerCoord.z - Vehicular;
  56.       }
  57.       else if (CONTROLS::IS_CONTROL_PRESSED(2,36))  //Down INPUT_DUCK   |G|L3      
  58.       {
  59.          zPlane = PlayerCoord.z - Down;
  60.       }
  61.       else if (CONTROLS::IS_CONTROL_PRESSED(2,26))  //Up INPUT_LOOK_BEHIND  |C|R3  
  62.       {
  63.          zPlane = PlayerCoord.z - Up;
  64.       }
  65.       else                                          //Normal
  66.       {
  67.          zPlane = PlayerCoord.z - Normal;
  68.       }
  69.  
  70.       Vector3 Coord = CombineVector(PlayerCoord.x, PlayerCoord.y, zPlane);
  71.       ENTITY::SET_ENTITY_COORDS(MagicCarpetObject,Coord.x,Coord.y,Coord.z,1,0,0,1);
  72.    }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement