llBeastModell

RocketPed Truck source

Apr 24th, 2016
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.31 KB | None | 0 0
  1.  
  2. #include <natives.h>
  3. #include <common.h>
  4. #include <strings.h>
  5. #include <types.h>
  6. #include <consts.h>
  7. #include <vars.h>
  8.  
  9. Object obj;
  10. Ped RocketPed;
  11. float x, y, z, speed, heading;
  12.  
  13. void spawn_car(uint model){
  14.     REQUEST_MODEL(model);
  15.     while(!HAS_MODEL_LOADED(model)) WAIT(0);
  16.     GET_CHAR_COORDINATES(GetPlayerPed(),&x,&y,&z);
  17.     GET_CHAR_HEADING(GetPlayerPed(),&heading);
  18.     if(IS_CHAR_IN_ANY_CAR(GetPlayerPed())){
  19.         GET_CAR_CHAR_IS_USING(GetPlayerPed(),&pveh);
  20.         GET_CAR_SPEED(pveh,&speed);
  21.         GET_DRIVER_OF_CAR(pveh,&driver);
  22.         WARP_CHAR_FROM_CAR_TO_COORD(GetPlayerPed(),x,y,z);
  23.         if(!DOES_CHAR_EXIST(driver) || GetPlayerPed() == driver || !IS_NETWORK_SESSION()){
  24.             DELETE_CAR(&pveh);
  25.             MARK_CAR_AS_NO_LONGER_NEEDED(&pveh);
  26.         }
  27.     }
  28.     else GET_CHAR_SPEED(GetPlayerPed(), &speed);
  29.     CREATE_CAR(model,x,y,z,&pveh,true);
  30.     MARK_MODEL_AS_NO_LONGER_NEEDED(model);
  31.     CHANGE_CAR_COLOUR(pveh, 0, 0);
  32.     SET_EXTRA_CAR_COLOURS(pveh, 0, 0);
  33.     SET_VEHICLE_DIRT_LEVEL(pveh, 0);
  34.     WASH_VEHICLE_TEXTURES(pveh, 255);
  35.     SET_CAR_ENGINE_ON(pveh,true,true);
  36.     WARP_CHAR_INTO_CAR(GetPlayerPed(),pveh);
  37.     SET_CAR_PROOFS(pveh, true, true, true, true, true);
  38.     SET_CAR_HEADING(pveh,heading);
  39.     SET_CAR_FORWARD_SPEED(pveh,speed);
  40.     return;
  41. }
  42.  
  43. void attachobjtoveh(Vehicle veh, int model, float x, float y, float z, float y2, float p, float r, bool collision)
  44. {
  45.     REQUEST_MODEL(model);
  46.     while(!HAS_MODEL_LOADED(model)) WAIT(0);
  47.     CREATE_OBJECT(model, 0, 0, 0, &obj, true);
  48.     MARK_MODEL_AS_NO_LONGER_NEEDED(model);
  49.     ATTACH_OBJECT_TO_CAR(obj, veh, 0, x, y, z, y2, p, r);
  50.     FREEZE_OBJECT_POSITION(obj, true);
  51.     SET_OBJECT_VISIBLE(obj, true);
  52.     SET_OBJECT_INVINCIBLE(obj, true);
  53.     SET_OBJECT_LIGHTS(obj, true);
  54.     if(collision) SET_OBJECT_COLLISION(obj, true);
  55.     WAIT(50);
  56.     return;
  57. }  
  58.  
  59. void SpawnRocketPed(void)
  60. {
  61.     int car;
  62.     float px, py, pz;
  63.     if(DOES_CHAR_EXIST(GetPlayerPed()))
  64.     {
  65.         GET_CHAR_COORDINATES(GetPlayerPed(), &px, &py, &pz);
  66.         REQUEST_MODEL(0x1CFC648F);
  67.         while(!HAS_MODEL_LOADED(0x1CFC648F)) WAIT(0);
  68.         CREATE_CHAR(1, 0x1CFC648F, px, py, pz, &RocketPed, 1);
  69.         py += 5;
  70.         SET_CHAR_VISIBLE(RocketPed, true);
  71.         SET_CHAR_INVINCIBLE(RocketPed, true);
  72.         SET_CHAR_ACCURACY(RocketPed, 100);
  73.         FREEZE_CHAR_POSITION(RocketPed, true);
  74.         SET_PED_DONT_DO_EVASIVE_DIVES(RocketPed, true);
  75.         SET_PED_DIES_WHEN_INJURED(RocketPed, false);
  76.         SET_CHAR_WILL_USE_COVER(RocketPed, false);
  77.         SET_CHAR_WILL_MOVE_WHEN_INJURED(RocketPed, false);
  78.         SET_CHAR_COLLISION(RocketPed, false);
  79.         REMOVE_ALL_CHAR_WEAPONS(RocketPed);
  80.         WAIT(10);
  81.         UpdateWeaponOfPed(RocketPed, WEAPON_RLAUNCHER);
  82.         SET_CURRENT_CHAR_WEAPON(RocketPed, WEAPON_RLAUNCHER, true);
  83.         WAIT(50);
  84.         GET_CAR_CHAR_IS_USING(GetPlayerPed(), &car);
  85.         ATTACH_PED_TO_CAR(RocketPed, car, false, -0.0900, -1.0908, 1.3813, 0, 0, true, true);
  86.         SET_CHAR_ALL_ANIMS_SPEED(RocketPed, 1);
  87.         SET_CHAR_SHOOT_RATE(RocketPed, 100);
  88.     }
  89. }
  90.  
  91. void SpawnRocketTruck(void)
  92. {
  93.     spawn_car(MODEL_RANCHER);
  94.     WAIT(10);
  95.     GET_CAR_CHAR_IS_USING(GetPlayerPed(), &pveh);
  96.     if(DOES_VEHICLE_EXIST(pveh))
  97.     {
  98.         SET_CAR_VISIBLE(pveh, true);
  99.         TURN_OFF_VEHICLE_EXTRA(pveh, 1, false);
  100.         TURN_OFF_VEHICLE_EXTRA(pveh, 2, true);
  101.         TURN_OFF_VEHICLE_EXTRA(pveh, 3, true);
  102.         TURN_OFF_VEHICLE_EXTRA(pveh, 4, false);
  103.         TURN_OFF_VEHICLE_EXTRA(pveh, 5, true);
  104.         attachobjtoveh(pveh, 0xDB691DE0, 0, 2.8355, -0.5313, 0.8580, 0, 0, false);
  105.         attachobjtoveh(pveh, 0xDB691DE0, -0.8153, 2.8460, -0.5400, 0.8920, 0, 0, false);
  106.         attachobjtoveh(pveh, 0x33684EFE, -0.2853, 0.9150, 0.4125, 0.6657, 0, 0, false);
  107.         attachobjtoveh(pveh, 0x33684EFE, 0.2903, 0.9237, 0.3902, 0.6170, 0, 0, false);
  108.         attachobjtoveh(pveh, 0x98297FB3, -0.3565, -1.2488, 0.0592, 0, 0, 1.5692, false);
  109.         attachobjtoveh(pveh, 0x98297FB3, 0.3383, -1.2448, 0.0512, 0, 0, -1.5610, false);
  110.         attachobjtoveh(pveh, 0xAF122D49, -0.4393, 0.2718, 1.1045, -0.4540, 0, 3.1660, false);
  111.         attachobjtoveh(pveh, 0xAF122D49, 0.4305, 0.2673, 1.1115, -0.4588, 0, 3.1428, false);
  112.         attachobjtoveh(pveh, 0x975BD0EA, 0.5355, 0.2083, 0.1925, 1.4807, -0.1448, 1.6855, false);
  113.        
  114.     }
  115. }
  116.  
  117. void Target_OnlinePlayers_Cars(void)
  118. {
  119.     int netid, car;
  120.     float mx, my, mz, x, y, z;
  121.     GET_CHAR_COORDINATES(GetPlayerPed(), &mx, &my, &mz);
  122.     if(DOES_VEHICLE_EXIST(GET_CLOSEST_CAR(mx, my, mz, 500, 0, 71)))
  123.     {
  124.         GET_NETWORK_ID_FROM_VEHICLE(GET_CLOSEST_CAR(mx, my, mz, 500, 0, 71), &netid);
  125.         GET_VEHICLE_FROM_NETWORK_ID(netid, &car);
  126.         GET_CAR_COORDINATES(car, &x, &y, &z);
  127.         if(DOES_CHAR_EXIST(RocketPed))
  128.         {
  129.             TASK_TURN_CHAR_TO_FACE_COORD(RocketPed, x, y, z);
  130.             FIRE_PED_WEAPON(RocketPed, x, y, z);
  131.             REQUEST_ANIMS("gun@partials");
  132.             while(!HAVE_ANIMS_LOADED("gun@partials")) WAIT(0);
  133.             TASK_PLAY_ANIM_WITH_FLAGS(RocketPed, "rocket_b", "gun@partials", 99999.0, 99999, 1);
  134.         }
  135.     }
  136. }
  137.  
  138. void Target_AI_Cars(void)
  139. {
  140.     int netid, car;
  141.     float mx, my, mz, x, y, z;
  142.     GET_CHAR_COORDINATES(GetPlayerPed(), &mx, &my, &mz);
  143.     if(DOES_VEHICLE_EXIST(GET_CLOSEST_CAR(mx, my, mz, 500, 0, 71)))
  144.     {
  145.         GET_NETWORK_ID_FROM_VEHICLE(GET_CLOSEST_CAR(mx, my, mz, 500, 0, 71), &netid);
  146.         GET_VEHICLE_FROM_NETWORK_ID(netid, &car);
  147.         GET_CAR_COORDINATES(car, &x, &y, &z);
  148.         if(DOES_CHAR_EXIST(RocketPed))
  149.         {
  150.             TASK_TURN_CHAR_TO_FACE_COORD(RocketPed, x, y, z);
  151.             FIRE_PED_WEAPON(RocketPed, x, y, z);
  152.             REQUEST_ANIMS("gun@partials");
  153.             while(!HAVE_ANIMS_LOADED("gun@partials")) WAIT(0);
  154.             TASK_PLAY_ANIM_WITH_FLAGS(RocketPed, "rocket_b", "gun@partials", 99999.0, 99999, 1);
  155.         }
  156.     }
  157. }
  158.  
  159. void activate_button(void)
  160. {
  161.     if(IS_BUTTON_JUST_PRESSED(0, BUTTON_X))
  162.     {
  163.         Target_AI_Cars();
  164.         Target_OnlinePlayers_Cars();
  165.     }
  166. }
  167.  
  168. void main(void)
  169. {
  170.     THIS_SCRIPT_IS_SAFE_FOR_NETWORK_GAME();
  171.     SpawnRocketTruck();
  172.     WAIT(500);
  173.     SpawnRocketPed();
  174.     while(true)
  175.     {
  176.         WAIT(0);
  177.         activate_button();
  178.     }
  179. }
Advertisement
Add Comment
Please, Sign In to add comment