XADRENALINEIX

Chr0m3 x MoDz Pogo Stick

Jul 6th, 2013
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.89 KB | None | 0 0
  1. #include <natives.h>
  2. #include <common.h>
  3. #include <strings.h>
  4. #include <types.h>
  5. #include <consts.h>
  6.  
  7. uint pVehicle;
  8. uint force = 0;
  9.  
  10. //############### Define Ps3 GamePad ################################//
  11. #define BUTTON_SELECT  0xD
  12. #define BUTTON_START  0xC
  13. #define BUTTON_X  0xE
  14. #define BUTTONTRIANGLE  0xF
  15. #define BUTTON_A  0x10
  16. #define BUTTON_CIRCLE  0x11
  17. #define DPAD_UP  0x8
  18. #define DPAD_DOWN  0x9
  19. #define DPAD_LEFT  0xA
  20. #define DPAD_RIGHT  0xB
  21. #define BUTTON_L2  0x5
  22. #define BUTTON_R2  0x7
  23. #define BUTTON_L1  0x4
  24. #define BUTTON_R1  0x6
  25. #define STICK_L  0x12
  26. #define STICK_R  0x13
  27. //############### Define Ps3 GamePad ################################//
  28.  
  29. Vehicle CreateVehicle(uint iModel, float fX, float fY, float fZ)
  30. {
  31.     Vehicle pVehicle;
  32.     CREATE_CAR(iModel, fX, fY, fZ, &pVehicle, true);
  33.     MARK_MODEL_AS_NO_LONGER_NEEDED(iModel);
  34.     return pVehicle;
  35. }
  36.  
  37. Vehicle GetCurrentPlayerVehicle(void)
  38. {
  39.     Vehicle pVehicle;
  40.     GET_CAR_CHAR_IS_USING(GetPlayerPed(), &pVehicle);
  41.     return pVehicle;
  42. }
  43.  
  44.  
  45.  
  46. void Print(char *string)
  47. {
  48.     PRINT_STRING_WITH_LITERAL_STRING_NOW("STRING", string, 5000, 1);
  49. }
  50. void LoadModel(uint iModel)
  51. {
  52.     REQUEST_MODEL(iModel);
  53.  
  54.     while(!HAS_MODEL_LOADED(iModel))
  55.     WAIT(0);
  56. }
  57. Vehicle CreateVehicleAndWarpPlayerIntoIt(uint iModel, float fX, float fY, float fZ)
  58. {
  59.     float v, h, qx, qy, qz, qw, x, y, z;
  60.     bool veh, replace;
  61.     uint colour[4], temp;
  62.     Vehicle pVehicle;
  63.     if (iModel == 0) replace = 1;else replace = 0;//create a car the same as yours(kick players out of your car) if 1st param is 0
  64.     GET_CAR_CHAR_IS_USING(GetPlayerPed(), &pVehicle);
  65.     if (!DOES_VEHICLE_EXIST(pVehicle)){
  66.         veh = 0;
  67.         if (!IS_MODEL_IN_CDIMAGE(iModel))return INVALID_HANDLE;
  68.         if (!IS_THIS_MODEL_A_VEHICLE(iModel)) return INVALID_HANDLE;
  69.         REQUEST_MODEL(iModel);
  70.         while(!HAS_MODEL_LOADED(iModel))WAIT(0);
  71.         GET_CHAR_COORDINATES(GetPlayerPed(), &x, &y, &z);
  72.         GET_CHAR_HEADING(GetPlayerPed(), &h);
  73.         GET_CHAR_SPEED(GetPlayerPed(), &v);
  74.         for (temp=0;temp<4;temp++){
  75.             if (GET_CURRENT_EPISODE()==2)
  76.                 GENERATE_RANDOM_INT_IN_RANGE(0, 136, &colour[temp]);
  77.             else
  78.                 GENERATE_RANDOM_INT_IN_RANGE(0, 133, &colour[temp]);
  79.         }
  80.     }
  81.     else{
  82.         veh = 1;
  83.  
  84.         if (replace){
  85.         GET_CAR_MODEL(pVehicle, &iModel);
  86.         GET_CAR_COLOURS(pVehicle, &colour[0], &colour[1]);
  87.         GET_EXTRA_CAR_COLOURS(pVehicle, &colour[2], &colour[3]);}
  88.         else
  89.         for (temp=0;temp<4;temp++){
  90.         if (GET_CURRENT_EPISODE()==2)
  91.             GENERATE_RANDOM_INT_IN_RANGE(0, 136, &colour[temp]);
  92.         else
  93.             GENERATE_RANDOM_INT_IN_RANGE(0, 133, &colour[temp]);}
  94.  
  95.         if (!IS_MODEL_IN_CDIMAGE(iModel))return INVALID_HANDLE;
  96.         if (!IS_THIS_MODEL_A_VEHICLE(iModel)) return INVALID_HANDLE;
  97.         REQUEST_MODEL(iModel);
  98.         while(!HAS_MODEL_LOADED(iModel))WAIT(0);
  99.  
  100.         GET_VEHICLE_QUATERNION(pVehicle, &qx, &qy, &qz, &qw);
  101.         GET_CAR_COORDINATES(pVehicle, &x, &y, &z);
  102.         GET_CAR_SPEED(pVehicle, &v);
  103.  
  104.         if (!IS_NETWORK_SESSION())
  105.         DELETE_CAR(&pVehicle);
  106.  
  107.         else
  108.         {
  109.             int netid, count;
  110.             GET_NETWORK_ID_FROM_VEHICLE(pVehicle, &netid);
  111.             while(!HAS_CONTROL_OF_NETWORK_ID(netid) && count < 20){REQUEST_CONTROL_OF_NETWORK_ID(netid);count++;WAIT(50);}
  112.  
  113.             if (DOES_VEHICLE_EXIST(pVehicle) && HAS_CONTROL_OF_NETWORK_ID(netid))DELETE_CAR(&pVehicle);}
  114.     }// ^^check to prevent freezing if car is deleted while attempting to gain control^^
  115.  
  116.     pVehicle = CreateVehicle(iModel, x, y, z);
  117.  
  118.     WAIT(0);
  119.  
  120.     if (!DOES_VEHICLE_EXIST(pVehicle))return INVALID_HANDLE;//check to make sure car was created
  121.  
  122.     WARP_CHAR_INTO_CAR(GetPlayerPed(), pVehicle);
  123.  
  124.     if (!veh)//check if you were in a vehicle before
  125.     SET_CAR_HEADING(pVehicle, h);
  126.     else
  127.     SET_VEHICLE_QUATERNION(pVehicle, qx, qy, qz, qw);
  128.  
  129.     CHANGE_CAR_COLOUR(pVehicle, colour[0], colour[1]);
  130.     SET_EXTRA_CAR_COLOURS(pVehicle, colour[2], colour[3]);
  131.     SET_CAR_COORDINATES(pVehicle, x, y, z);//if you spawn it in midair, it should stay in midair
  132.     SET_CAR_ENGINE_ON(pVehicle, 1, 1);
  133.     SET_CAR_FORWARD_SPEED(pVehicle, v);
  134.  
  135.     return pVehicle;
  136. }
  137.  
  138. void create(void)
  139. {
  140.     float x, y, z,qx,qy,qz;
  141.     GET_CHAR_COORDINATES(GetPlayerPed(), &x, &y, &z);
  142.     LoadModel(MODEL_SANCHEZ);
  143.     CreateVehicleAndWarpPlayerIntoIt(MODEL_SANCHEZ, x, y, z);
  144.     SET_CAR_VISIBLE(GetCurrentPlayerVehicle(), false);
  145.  
  146.     uint model = 0x1A69CE40;
  147.     uint model1 = 0x1A69CE40;
  148.     uint model2 = 0x51207518;
  149.     uint model3 = 0x51207518;
  150.     uint model4 = 0xD7396014;
  151.     uint model5 = 0xD7396014;
  152.     uint model6 = 0x17972528;
  153.     uint model7 = 0x17972528;
  154.     uint model8 = 0x69CCAF96;
  155.  
  156.     Object pickup;
  157.     Object pickup1;
  158.     Object pickup2;
  159.     Object pickup3;
  160.     Object pickup4;
  161.     Object pickup5;
  162.     Object pickup6;
  163.     Object pickup7;
  164.     Object pickup8;
  165.     float Nx, Ny, Nz;
  166.     float BGx,BGy,BGz;
  167.     GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(GetPlayerPed(), 0, 0, 0, &BGx, &BGy, &BGz);
  168.     GET_CAR_CHAR_IS_USING(GetPlayerPed(), &pVehicle);
  169.     SET_CAR_CAN_BE_DAMAGED(pVehicle, false);
  170.     SET_CAR_CAN_BE_VISIBLY_DAMAGED(pVehicle, false);
  171.     SET_CAN_BURST_CAR_TYRES(pVehicle, false);
  172.     x=0.32;
  173.     y=0.290001;
  174.     z=0.64;
  175.     qx=0;
  176.     qy=0;
  177.     qz=0;
  178.     CREATE_OBJECT(model, BGx, BGy, BGz,&pickup , TRUE); /// model
  179.     ATTACH_OBJECT_TO_CAR(pickup, pVehicle, 0, x, y, z, qx, qy, qz);
  180.     x=-0.32;
  181.     y=0.295;
  182.     z=0.645;
  183.     qx=0;
  184.     qy=0;
  185.     qz=-3.146;
  186.     CREATE_OBJECT(model1, BGx, BGy, BGz,&pickup1 , TRUE); /// model 1
  187.     ATTACH_OBJECT_TO_CAR(pickup1, pVehicle, 0, x, y, z, qx, qy, qz);
  188.     x=-0.16;
  189.     y=0.3;
  190.     z=0.565;
  191.     qx=1.131;
  192.     qy=0;
  193.     qz=-1.573;
  194.     CREATE_OBJECT(model2, BGx, BGy, BGz,&pickup2 , TRUE); /// model 2
  195.     ATTACH_OBJECT_TO_CAR(pickup2, pVehicle, 0, x, y, z, qx, qy, qz);
  196.     x=0.155;
  197.     y=0.295;
  198.     z=0.56;
  199.     qx=1.144;
  200.     qy=0;
  201.     qz=1.599;
  202.     CREATE_OBJECT(model3, BGx, BGy, BGz,&pickup3 , TRUE); /// model 3
  203.     ATTACH_OBJECT_TO_CAR(pickup3, pVehicle, 0, x, y, z, qx, qy, qz);
  204.     x=-0.00500005;
  205.     y=0.245;
  206.     z=0.135;
  207.     qx=0;
  208.     qy=0;
  209.     qz=1.547;
  210.     CREATE_OBJECT(model4, BGx, BGy, BGz,&pickup4 , TRUE); /// model 4
  211.     ATTACH_OBJECT_TO_CAR(pickup4, pVehicle, 0, x, y, z, qx, qy, qz);
  212.     x=-0.00500005;
  213.     y=0.245;
  214.     z=-0.22;
  215.     qx=0;
  216.     qy=0;
  217.     qz=-1.599;
  218.     CREATE_OBJECT(model5, BGx, BGy, BGz,&pickup5 , TRUE); /// model 5
  219.     ATTACH_OBJECT_TO_CAR(pickup5, pVehicle, 0, x, y, z, qx, qy, qz);
  220.     x=0.21;
  221.     y=0.21;
  222.     z=-0.185;
  223.     qx=0;
  224.     qy=0;
  225.     qz=1.534;
  226.     CREATE_OBJECT(model6, BGx, BGy, BGz,&pickup6 , TRUE); /// model 6
  227.     ATTACH_OBJECT_TO_CAR(pickup6, pVehicle, 0, x, y, z, qx, qy, qz);
  228.     x=-0.185;
  229.     y=0.225;
  230.     z=-0.18;
  231.     qx=0;
  232.     qy=0;
  233.     qz=-1.638;
  234.     CREATE_OBJECT(model7, BGx, BGy, BGz,&pickup7 , TRUE); /// model 7
  235.     ATTACH_OBJECT_TO_CAR(pickup7, pVehicle, 0, x, y, z, qx, qy, qz);
  236.     x=-6.70552E-008;
  237.     y=0.225;
  238.     z=-0.404999;
  239.     qx=0;
  240.     qy=0;
  241.     qz=0;
  242.     CREATE_OBJECT(model8, BGx, BGy, BGz,&pickup8 , TRUE); /// model 8
  243.     ATTACH_OBJECT_TO_CAR(pickup8, pVehicle, 0, x, y, z, qx, qy, qz);
  244.     Print("~b~ Spawned Pogo!");
  245. }
  246. uint check_1 = 0;
  247. void check(void)
  248. {
  249.     if (IS_BUTTON_JUST_PRESSED(0, STICK_R))
  250.     {
  251.         if (check_1 == 0)
  252.         {
  253.             force = 1;
  254.             Print("Pogo Setting 2");
  255.             check_1 = 1;
  256.         }
  257.         else if (check_1 == 1)
  258.         {
  259.             force = 2;
  260.             Print("Pogo Setting 3");
  261.             check_1 = 2;
  262.         }
  263.         else if (check_1 == 2)
  264.         {
  265.             force = 0;
  266.             Print("Pogo Setting 1");
  267.             check_1 = 0;
  268.         }
  269.     }
  270. }
  271.  
  272. void bounce(void)
  273. {
  274.     if (IS_BUTTON_PRESSED(0, BUTTON_A))
  275.     {
  276.         if (IS_CHAR_ON_ANY_BIKE(GetPlayerPed()) && !IS_CHAR_IN_AIR(GetPlayerPed()))
  277.         {
  278.             if (force == 0)
  279.             {
  280.                 APPLY_FORCE_TO_CAR(GetCurrentPlayerVehicle(), true, 0, 0, 3, 0, 0, 0, true, true, true, true);
  281.                 SET_CAR_FORWARD_SPEED(GetCurrentPlayerVehicle(), 3);
  282.             }
  283.             else if (force == 1)
  284.             {
  285.                 APPLY_FORCE_TO_CAR(GetCurrentPlayerVehicle(), true, 0, 0, 6, 0, 0, 0, true, true, true, true);
  286.                 SET_CAR_FORWARD_SPEED(GetCurrentPlayerVehicle(), 6);
  287.             }
  288.             else if (force == 2)
  289.             {
  290.                 APPLY_FORCE_TO_CAR(GetCurrentPlayerVehicle(), true, 0, 0, 9, 0, 0, 0, true, true, true, true);
  291.                 SET_CAR_FORWARD_SPEED(GetCurrentPlayerVehicle(), 9);
  292.             }
  293.         }
  294.     }
  295. }
  296.  
  297. void main(void)
  298. {
  299.     Print("Pogo Enabled");
  300.     THIS_SCRIPT_IS_SAFE_FOR_NETWORK_GAME();
  301.     create();
  302.     while(1)
  303.     {
  304.         check();
  305.         bounce();
  306.         WAIT(0);
  307.     }
  308. }
Advertisement
Add Comment
Please, Sign In to add comment