XADRENALINEIX

HuN's Ped Riot Generator

Jul 6th, 2013
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.07 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. Ped riot[40];
  8. uint modelT[50];
  9. uint weapon[16];
  10. int dm;
  11. int cdm;
  12. uint stat = 0;
  13. uint mlvl = 0;
  14. float xp, yp, zp;
  15.  
  16. //############### Define Ps3 GamePad ################################//
  17. #define DPAD_DOWN  0x9
  18. #define CIRCLE  0x11
  19. //############### Define Ps3 GamePad ################################//
  20.  
  21. bool IsKeyPressed(uint iKey , uint iJey)
  22. {
  23.     return IS_BUTTON_PRESSED(0,iKey) && IS_BUTTON_JUST_PRESSED(0,iJey);
  24. }
  25.  
  26. void Print(char *string)
  27. {
  28.     PRINT_STRING_WITH_LITERAL_STRING_NOW("STRING", string, 5000, 1);
  29. }
  30.  
  31. void InitRiotSet(void)
  32. {
  33.     modelT[0] = MODEL_M_Y_TOUGH_05;
  34.     modelT[1] = MODEL_M_Y_STREETPUNK_04;
  35.     modelT[2] = MODEL_M_Y_STREETBLK_02;
  36.     modelT[3] = MODEL_F_Y_STRIPPERC02;
  37.     modelT[4] = MODEL_F_Y_HOOKER_03;
  38.     modelT[5] = MODEL_M_M_ALCOHOLIC;
  39.     modelT[6] = MODEL_M_M_CRACKHEAD;
  40.     modelT[7] = MODEL_F_O_PEASTEURO_02;
  41.     modelT[8] = MODEL_F_M_CHINATOWN;
  42.     modelT[9] = MODEL_M_Y_THIEF;
  43.     modelT[10] = MODEL_M_Y_PRISON;
  44.     modelT[11] = MODEL_F_Y_CDRESS_01;
  45.     modelT[12] = MODEL_M_M_GUNNUT_01;
  46.     modelT[13] = MODEL_M_O_MPMOBBOSS;
  47.     modelT[14] = MODEL_F_Y_STREET_34;
  48.     modelT[15] = MODEL_M_M_FATMOB_01;
  49.     modelT[16] = MODEL_M_O_MOBSTER;
  50.     modelT[17] = MODEL_F_Y_FF_WSPIZZA_R;
  51.     modelT[18] = MODEL_M_M_LAWYER_02;
  52.     modelT[19] = MODEL_M_O_HOTEL_FOOT;
  53.     modelT[20] = MODEL_F_Y_STREET_09;
  54.     modelT[21] = MODEL_M_Y_GOON_01;
  55.     modelT[22] = MODEL_M_Y_SWORDSWALLOW;
  56.     modelT[23] = MODEL_F_Y_FF_RSCAFE;
  57.     modelT[24] = MODEL_M_Y_SHADY_02;
  58.     modelT[25] = MODEL_M_Y_BOUNCER_02;
  59.     modelT[26] = MODEL_F_M_BUSINESS_01;
  60.     modelT[27] = MODEL_F_Y_STRIPPERC01;
  61.     modelT[28] = MODEL_M_M_BUSDRIVER;
  62.     modelT[29] = MODEL_M_M_HPORTER_01;
  63.     modelT[30] = MODEL_F_Y_VILLBO_01;
  64.     modelT[31] = MODEL_F_Y_STREET_02;
  65.     modelT[32] = MODEL_M_M_GENBUM_01;
  66.     modelT[33] = MODEL_M_Y_DORK_02;
  67.     modelT[34] = MODEL_M_O_SUITED;
  68.     modelT[35] = MODEL_M_Y_HARDMAN_01;
  69.     modelT[36] = MODEL_F_O_MAID_01;
  70.     modelT[37] = MODEL_M_Y_BOHOGUY_01;
  71.     modelT[38] = MODEL_M_Y_CHOPSHOP_02;
  72.     modelT[39] = MODEL_M_Y_SOHO_01;
  73.     modelT[40] = MODEL_F_Y_SOCIALITE;
  74.     modelT[41] = MODEL_F_Y_GYMGAL_01;
  75.     modelT[42] = MODEL_M_M_POSTAL_01;
  76.     modelT[43] = MODEL_M_M_TELEPHONE;
  77.     modelT[44] = MODEL_M_Y_DEALER;
  78.     modelT[45] = MODEL_M_Y_DRUG_01;
  79.     modelT[46] = MODEL_F_Y_PEASTEURO_01;
  80.     modelT[47] = MODEL_M_Y_VALET;
  81.     modelT[48] = MODEL_M_Y_CLUBFIT;
  82.     modelT[49] = MODEL_M_M_GAYMID;
  83.    
  84.     weapon[0] = WEAPON_PISTOL;
  85.     weapon[1] = WEAPON_DEAGLE;
  86.     weapon[2] = WEAPON_MICRO_UZI;
  87.     weapon[3] = WEAPON_MP5;
  88.     weapon[4] = WEAPON_SHOTGUN;
  89.     weapon[5] = WEAPON_BARETTA;
  90.     weapon[6] = WEAPON_AK47;
  91.     weapon[7] = WEAPON_M4;
  92.     weapon[8] = WEAPON_SNIPERRIFLE;
  93.     weapon[9] = WEAPON_M40A1;
  94.     weapon[10] = WEAPON_RLAUNCHER;
  95.     weapon[11] = WEAPON_MOLOTOV;
  96.     weapon[12] = WEAPON_GRENADE;
  97.     weapon[13] = WEAPON_BASEBALLBAT;
  98.     weapon[14] = WEAPON_POOLCUE;
  99.     weapon[15] = WEAPON_KNIFE;
  100.    
  101.     stat = GET_INT_STAT(363);
  102.     GET_MAX_WANTED_LEVEL(&mlvl);
  103.     LOAD_CHAR_DECISION_MAKER(2, &dm);
  104.     LOAD_COMBAT_DECISION_MAKER(3, &cdm);
  105.     SET_DECISION_MAKER_ATTRIBUTE_SIGHT_RANGE(dm, 250);
  106.     SET_DECISION_MAKER_ATTRIBUTE_SIGHT_RANGE(cdm, 250);
  107.     SET_INT_STAT(363, 5);
  108.     SET_CAR_DENSITY_MULTIPLIER(0.50);
  109.     SET_RANDOM_CAR_DENSITY_MULTIPLIER(0.50);
  110.     SET_PARKED_CAR_DENSITY_MULTIPLIER(0.50);
  111.     ALLOW_EMERGENCY_SERVICES(FALSE);
  112.     SWITCH_RANDOM_BOATS(FALSE);
  113.     SWITCH_POLICE_HELIS(FALSE);
  114.     SWITCH_AMBIENT_PLANES(FALSE);
  115.     SWITCH_GARBAGE_TRUCKS(FALSE);
  116.     SWITCH_RANDOM_TRAINS(FALSE);
  117. }
  118.  
  119. void RiotSet(uint ptype)
  120. {
  121.     uint wep;
  122.     uint rel;
  123.     SET_CHAR_RANDOM_COMPONENT_VARIATION(ptype);
  124.     SET_CHAR_MONEY(ptype, 0);
  125.     SET_CHAR_DECISION_MAKER(ptype, dm);
  126.     SET_COMBAT_DECISION_MAKER(ptype, cdm);
  127.     SET_SENSE_RANGE(ptype, 500.0);
  128.     SET_CHAR_KEEP_TASK(ptype, TRUE);
  129.     TASK_COMBAT_HATED_TARGETS_AROUND_CHAR(ptype, 500.0);
  130.     SET_CHAR_WILL_MOVE_WHEN_INJURED(ptype, TRUE);
  131.     SET_CHAR_WILL_USE_COVER(ptype, TRUE);
  132.     SET_PED_DONT_DO_EVASIVE_DIVES(ptype, TRUE);
  133.     SET_PED_DIES_WHEN_INJURED(ptype, TRUE);
  134.     SET_PED_GENERATES_DEAD_BODY_EVENTS(ptype, TRUE);
  135.     SET_PED_PATH_MAY_USE_CLIMBOVERS(ptype, TRUE);
  136.     SET_PED_PATH_MAY_DROP_FROM_HEIGHT(ptype, TRUE);
  137.     SET_PED_PATH_MAY_USE_LADDERS(ptype, TRUE);
  138.     GENERATE_RANDOM_INT_IN_RANGE(0, 16, &wep);
  139.     UpdateWeaponOfPed(ptype, weapon[wep]);
  140.     SET_CURRENT_CHAR_WEAPON(ptype, weapon[wep], TRUE);
  141.     SET_CHAR_CURRENT_WEAPON_VISIBLE(ptype, FALSE);
  142.     GENERATE_RANDOM_INT_IN_RANGE(23, 25, &rel);
  143.     SET_CHAR_RELATIONSHIP_GROUP(ptype, rel);
  144.     uint I;
  145.     for (I = 0; I <= 22; I++)
  146.     {
  147.         SET_CHAR_RELATIONSHIP(ptype, 5, I);
  148.     }
  149.     SET_CHAR_RELATIONSHIP(ptype, 0, rel);
  150.    
  151. }
  152.  
  153. void PlayerC(void)
  154. {
  155.     if(IS_PLAYER_PLAYING(GetPlayerIndex()))
  156.     {
  157.         GET_CHAR_COORDINATES(GetPlayerPed(), &xp, &yp, &zp);
  158.     }
  159. }
  160.  
  161. void Pset(void)
  162. {
  163.     if(IS_PLAYER_PLAYING(GetPlayerIndex()))
  164.     {
  165.         CLEAR_WANTED_LEVEL(GetPlayerIndex());
  166.         SET_MAX_WANTED_LEVEL(0);
  167.         SET_CHAR_WANTED_BY_POLICE(GetPlayerPed(), FALSE);
  168.         SET_POLICE_RADAR_BLIPS(FALSE);
  169.     }
  170. }
  171.  
  172. void RiotGen(void)
  173. {
  174.     if(IS_PLAYER_PLAYING(GetPlayerIndex()))
  175.     {
  176.         uint I;
  177.         for (I = 0; I <= 39; I++)
  178.         {
  179.             if(!DOES_CHAR_EXIST(riot[I]))
  180.             {
  181.                 float offx;
  182.                 float offy;
  183.                 float x, y, z;
  184.                 float zgrnd;
  185.                 float dista;
  186.                 uint rmo;
  187.                 GENERATE_RANDOM_FLOAT_IN_RANGE(-85.0, 85.0, &offx);
  188.                 GENERATE_RANDOM_FLOAT_IN_RANGE(-85.0, 85.0, &offy);
  189.                 GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(GetPlayerPed(), offx, offy, 0, &x, &y, &z);
  190.                 GET_GROUND_Z_FOR_3D_COORD(x, y, z, &zgrnd);
  191.                 GET_DISTANCE_BETWEEN_COORDS_3D(xp, yp, zp, x, y, zgrnd, &dista);
  192.                 GENERATE_RANDOM_INT_IN_RANGE(0, 50, &rmo);
  193.                 if(dista >= 40.0 && zgrnd >= 1.0)
  194.                 {
  195.                     REQUEST_MODEL(modelT[rmo]);
  196.                     while (!HAS_MODEL_LOADED(modelT[rmo])) WAIT(0);
  197.                     CLEAR_AREA_OF_CARS(x, y, zgrnd, 3.0);
  198.                     CLEAR_AREA_OF_CHARS(x, y, zgrnd, 3.0);
  199.                     CREATE_CHAR(16, modelT[rmo], x, y, zgrnd + 0.1000, &riot[I], true);
  200.                     RiotSet(riot[I]);
  201.                     MARK_MODEL_AS_NO_LONGER_NEEDED(modelT[rmo]);   
  202.                 }
  203.             }
  204.         }
  205.     }
  206. }
  207.  
  208. void ManageRiot(void)
  209. {
  210.     uint I;
  211.     for (I = 0; I <= 39; I++)
  212.     {
  213.         if(DOES_CHAR_EXIST(riot[I]))
  214.         {
  215.             float zx, zy, zz;
  216.             float distb;
  217.             uint zrs;
  218.             GET_CHAR_COORDINATES(riot[I], &zx, &zy, &zz);
  219.             GET_DISTANCE_BETWEEN_COORDS_3D(xp, yp, zp, zx, zy, zz, &distb);
  220.             SET_CHAR_WANTED_BY_POLICE(riot[I], FALSE);
  221.             if(IS_CHAR_DEAD(riot[I]) || distb > 100.0)
  222.             {
  223.                 EXPLODE_CHAR_HEAD(riot[I]);
  224.                 TASK_DIE(riot[I]);
  225.                 MARK_CHAR_AS_NO_LONGER_NEEDED(&riot[I]);
  226.             }
  227.         }
  228.     }
  229. }
  230.  
  231. void DisableRiot(void)
  232.  {
  233.     if(IsKeyPressed(DPAD_DOWN,CIRCLE))
  234.     {
  235.         Print("Riot Generator Disabled");
  236.         SET_INT_STAT(363, stat);
  237.         SET_MAX_WANTED_LEVEL(mlvl);
  238.         SET_CAR_DENSITY_MULTIPLIER(1.25);
  239.         SET_RANDOM_CAR_DENSITY_MULTIPLIER(1.25);
  240.         SET_PARKED_CAR_DENSITY_MULTIPLIER(2.25);
  241.         ALLOW_EMERGENCY_SERVICES(TRUE);
  242.         SWITCH_RANDOM_BOATS(TRUE);
  243.         SWITCH_POLICE_HELIS(TRUE);
  244.         SWITCH_AMBIENT_PLANES(TRUE);
  245.         SWITCH_GARBAGE_TRUCKS(TRUE);
  246.         SWITCH_RANDOM_TRAINS(TRUE);
  247.         TERMINATE_THIS_SCRIPT();
  248.     }
  249. }
  250.  
  251. void main(void)
  252. {  
  253.     THIS_SCRIPT_IS_SAFE_FOR_NETWORK_GAME();
  254.     InitRiotSet();
  255.     while (TRUE)
  256.     {
  257.         WAIT(0);
  258.         PlayerC();
  259.         Pset();
  260.         RiotGen();
  261.         ManageRiot();
  262.         DisableRiot();
  263.     }
  264. }
Advertisement
Add Comment
Please, Sign In to add comment