Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <natives.h>
- #include <common.h>
- #include <strings.h>
- #include <types.h>
- #include <consts.h>
- Ped riot[30];
- Blip rp[30];
- int dm;
- int cdm;
- uint rmodel[2];
- uint weapon[13];
- uint stat = 0;
- uint mlvl = 0;
- uint rgen = 0;
- float xp, yp, zp;
- //############### Define Ps3 GamePad ################################//
- #define DPAD_DOWN 0x9
- #define CIRCLE 0x11
- //############### Define Ps3 GamePad ################################//
- bool IsKeyPressed(uint iKey , uint iJey)
- {
- return IS_BUTTON_PRESSED(0,iKey) && IS_BUTTON_JUST_PRESSED(0,iJey);
- }
- void Print(char *string)
- {
- PRINT_STRING_WITH_LITERAL_STRING_NOW("STRING", string, 4500, 1);
- }
- void InitRiotSet(void)
- {
- uint episode = GET_CURRENT_EPISODE();
- float cx, cy, cz;
- rmodel[0] = MODEL_M_Y_MULTIPLAYER;
- rmodel[1] = MODEL_F_Y_MULTIPLAYER;
- if(episode != 1 && episode != 2){
- weapon[0] = WEAPON_PISTOL;
- weapon[1] = WEAPON_MICRO_UZI;
- weapon[2] = WEAPON_MP5;
- weapon[3] = WEAPON_SHOTGUN;
- weapon[4] = WEAPON_BARETTA;
- weapon[5] = WEAPON_AK47;
- weapon[6] = WEAPON_M4;
- weapon[7] = WEAPON_SNIPERRIFLE;
- weapon[8] = WEAPON_MOLOTOV;
- weapon[9] = WEAPON_GRENADE;
- weapon[10] = WEAPON_BASEBALLBAT;
- weapon[11] = WEAPON_KNIFE;
- weapon[12] = WEAPON_RLAUNCHER;
- }
- if(episode == 1){
- weapon[0] = WEAPON_MICRO_UZI;
- weapon[1] = WEAPON_MP5;
- weapon[2] = WEAPON_AK47;
- weapon[3] = WEAPON_M40A1;
- weapon[4] = WEAPON_MOLOTOV;
- weapon[5] = WEAPON_BASEBALLBAT;
- weapon[6] = WEAPON_KNIFE;
- weapon[7] = WEAPON_EPISODIC_1;
- weapon[8] = WEAPON_EPISODIC_2;
- weapon[9] = WEAPON_EPISODIC_4;
- weapon[10] = WEAPON_EPISODIC_6;
- weapon[11] = WEAPON_EPISODIC_7;
- weapon[12] = WEAPON_EPISODIC_8;
- }
- if(episode == 2){
- weapon[0] = WEAPON_MP5;
- weapon[1] = WEAPON_AK47;
- weapon[2] = WEAPON_MOLOTOV;
- weapon[3] = WEAPON_GRENADE;
- weapon[4] = WEAPON_BASEBALLBAT;
- weapon[5] = WEAPON_KNIFE;
- weapon[6] = WEAPON_EPISODIC_9;
- weapon[7] = WEAPON_EPISODIC_10;
- weapon[8] = WEAPON_EPISODIC_11;
- weapon[9] = WEAPON_EPISODIC_12;
- weapon[10] = WEAPON_EPISODIC_13;
- weapon[11] = WEAPON_EPISODIC_14;
- weapon[12] = WEAPON_EPISODIC_15;
- }
- GET_MAX_WANTED_LEVEL(&mlvl);
- GET_CHAR_COORDINATES(GetPlayerPed(), &cx, &cy, &cz);
- LOAD_CHAR_DECISION_MAKER(2, &dm);
- LOAD_COMBAT_DECISION_MAKER(3, &cdm);
- SET_DECISION_MAKER_ATTRIBUTE_SIGHT_RANGE(dm, 250);
- SET_DECISION_MAKER_ATTRIBUTE_SIGHT_RANGE(cdm, 250);
- CLEAR_AREA_OF_CARS(cx, cy, cz, 250.0);
- CLEAR_AREA_OF_CHARS(cx, cy, cz, 250.0);
- SET_CAR_DENSITY_MULTIPLIER(0.5);
- SET_RANDOM_CAR_DENSITY_MULTIPLIER(0.5);
- SET_PARKED_CAR_DENSITY_MULTIPLIER(0.5);
- SET_ALL_RANDOM_PEDS_FLEE(GetPlayerIndex(), TRUE);
- SWITCH_RANDOM_BOATS(FALSE);
- SWITCH_POLICE_HELIS(FALSE);
- SWITCH_AMBIENT_PLANES(FALSE);
- SWITCH_GARBAGE_TRUCKS(FALSE);
- SWITCH_RANDOM_TRAINS(FALSE);
- SET_DEAD_PEDS_DROP_WEAPONS(FALSE);
- }
- void RiotVar(uint ptype)
- {
- uint episode = GET_CURRENT_EPISODE();
- uint comp, var;
- if(episode != 1 && episode != 2){
- GENERATE_RANDOM_INT_IN_RANGE(0, 10, &comp);
- GENERATE_RANDOM_INT_IN_RANGE(0, 5, &var);
- SET_CHAR_PROP_INDEX_TEXTURE(ptype, 0, comp, var);
- GENERATE_RANDOM_INT_IN_RANGE(0, 10, &comp);
- GENERATE_RANDOM_INT_IN_RANGE(0, 2, &var);
- SET_CHAR_PROP_INDEX_TEXTURE(ptype, 1, comp, var);
- GENERATE_RANDOM_INT_IN_RANGE(0, 4, &comp);
- GENERATE_RANDOM_INT_IN_RANGE(0, 3, &var);
- SET_CHAR_COMPONENT_VARIATION(ptype, 1, comp, var);
- GENERATE_RANDOM_INT_IN_RANGE(0, 3, &comp);
- GENERATE_RANDOM_INT_IN_RANGE(0, 3, &var);
- SET_CHAR_COMPONENT_VARIATION(ptype, 2, comp, var);
- if(IS_CHAR_MALE(ptype))
- {
- GENERATE_RANDOM_INT_IN_RANGE(0, 4, &comp);
- GENERATE_RANDOM_INT_IN_RANGE(0, 3, &var);
- SET_CHAR_COMPONENT_VARIATION(ptype, 0, comp, var);
- }
- else if(!IS_CHAR_MALE(ptype))
- {
- GENERATE_RANDOM_INT_IN_RANGE(0, 4, &comp);
- GENERATE_RANDOM_INT_IN_RANGE(0, 2, &var);
- SET_CHAR_COMPONENT_VARIATION(ptype, 0, comp, var);
- GENERATE_RANDOM_INT_IN_RANGE(0, 4, &comp);
- GENERATE_RANDOM_INT_IN_RANGE(0, 3, &var);
- SET_CHAR_COMPONENT_VARIATION(ptype, 7, comp, var);
- }
- }
- if(episode == 1){
- SET_CHAR_RANDOM_COMPONENT_VARIATION(ptype);
- GENERATE_RANDOM_INT_IN_RANGE(0, 6, &comp);
- GENERATE_RANDOM_INT_IN_RANGE(0, 3, &var);
- SET_CHAR_PROP_INDEX_TEXTURE(ptype, 0, comp, var);
- GENERATE_RANDOM_INT_IN_RANGE(0, 6, &comp);
- GENERATE_RANDOM_INT_IN_RANGE(0, 2, &var);
- SET_CHAR_PROP_INDEX_TEXTURE(ptype, 1, comp, var);
- SET_CHAR_COMPONENT_VARIATION(ptype, 4, 0, var);
- if(IS_CHAR_MALE(ptype))
- {
- GENERATE_RANDOM_INT_IN_RANGE(0, 3, &comp);
- GENERATE_RANDOM_INT_IN_RANGE(0, 3, &var);
- if(comp == 0)
- {
- SET_CHAR_COMPONENT_VARIATION(ptype, 1, 0, var);
- }
- else if(comp == 1)
- {
- SET_CHAR_COMPONENT_VARIATION(ptype, 1, 2, var);
- }
- else if(comp == 2)
- {
- SET_CHAR_COMPONENT_VARIATION(ptype, 1, 3, var);
- }
- }
- else if(!IS_CHAR_MALE(ptype))
- {
- GENERATE_RANDOM_INT_IN_RANGE(0, 2, &comp);
- GENERATE_RANDOM_INT_IN_RANGE(0, 3, &var);
- if(comp == 0)
- {
- SET_CHAR_COMPONENT_VARIATION(ptype, 1, 0, var);
- }
- else if(comp == 1)
- {
- SET_CHAR_COMPONENT_VARIATION(ptype, 1, 2, var);
- }
- }
- }
- if(episode == 2){
- SET_CHAR_RANDOM_COMPONENT_VARIATION(ptype);
- GENERATE_RANDOM_INT_IN_RANGE(0, 8, &comp);
- GENERATE_RANDOM_INT_IN_RANGE(0, 2, &var);
- SET_CHAR_PROP_INDEX_TEXTURE(ptype, 1, comp, var);
- if(IS_CHAR_MALE(ptype))
- {
- GENERATE_RANDOM_INT_IN_RANGE(0, 8, &comp);
- GENERATE_RANDOM_INT_IN_RANGE(0, 5, &var);
- SET_CHAR_PROP_INDEX_TEXTURE(ptype, 0, comp, var);
- }
- }
- }
- void RiotRel(uint ptype)
- {
- uint rel;
- GENERATE_RANDOM_INT_IN_RANGE(23, 26, &rel);
- SET_CHAR_RELATIONSHIP_GROUP(ptype, rel);
- SET_CHAR_RELATIONSHIP(ptype, 0, rel);
- SET_CHAR_RELATIONSHIP(ptype, 4, 0);
- SET_CHAR_RELATIONSHIP(ptype, 5, 1);
- SET_CHAR_RELATIONSHIP(ptype, 5, 2);
- SET_CHAR_RELATIONSHIP(ptype, 5, 3);
- SET_CHAR_RELATIONSHIP(ptype, 5, 4);
- SET_CHAR_RELATIONSHIP(ptype, 5, 5);
- SET_CHAR_RELATIONSHIP(ptype, 5, 6);
- SET_CHAR_RELATIONSHIP(ptype, 5, 7);
- SET_CHAR_RELATIONSHIP(ptype, 5, 8);
- SET_CHAR_RELATIONSHIP(ptype, 5, 9);
- SET_CHAR_RELATIONSHIP(ptype, 5, 10);
- SET_CHAR_RELATIONSHIP(ptype, 5, 11);
- SET_CHAR_RELATIONSHIP(ptype, 5, 12);
- SET_CHAR_RELATIONSHIP(ptype, 5, 13);
- SET_CHAR_RELATIONSHIP(ptype, 5, 14);
- SET_CHAR_RELATIONSHIP(ptype, 5, 15);
- SET_CHAR_RELATIONSHIP(ptype, 5, 16);
- SET_CHAR_RELATIONSHIP(ptype, 5, 17);
- SET_CHAR_RELATIONSHIP(ptype, 5, 18);
- SET_CHAR_RELATIONSHIP(ptype, 5, 19);
- SET_CHAR_RELATIONSHIP(ptype, 5, 20);
- SET_CHAR_RELATIONSHIP(ptype, 5, 21);
- SET_CHAR_RELATIONSHIP(ptype, 5, 22);
- if(rel == 23)
- {
- SET_CHAR_RELATIONSHIP(ptype, 5, 24);
- SET_CHAR_RELATIONSHIP(ptype, 5, 25);
- }
- else if(rel == 24)
- {
- SET_CHAR_RELATIONSHIP(ptype, 5, 23);
- SET_CHAR_RELATIONSHIP(ptype, 5, 25);
- }
- else if(rel == 25)
- {
- SET_CHAR_RELATIONSHIP(ptype, 5, 23);
- SET_CHAR_RELATIONSHIP(ptype, 5, 24);
- }
- }
- void RiotSet(uint ptype)
- {
- SET_CHAR_MONEY(ptype, 0);
- SET_CHAR_DECISION_MAKER(ptype, dm);
- SET_COMBAT_DECISION_MAKER(ptype, cdm);
- SET_SENSE_RANGE(ptype, 500.0);
- SET_CHAR_KEEP_TASK(ptype, TRUE);
- TASK_COMBAT_HATED_TARGETS_AROUND_CHAR(ptype, 500.0);
- SET_CHAR_WILL_MOVE_WHEN_INJURED(ptype, TRUE);
- SET_CHAR_WILL_USE_COVER(ptype, TRUE);
- SET_CHAR_WILL_USE_CARS_IN_COMBAT(ptype, TRUE);
- SET_CHAR_WILL_DO_DRIVEBYS(ptype, TRUE);
- SET_PED_DONT_DO_EVASIVE_DIVES(ptype, TRUE);
- SET_PED_DIES_WHEN_INJURED(ptype, TRUE);
- SET_PED_GENERATES_DEAD_BODY_EVENTS(ptype, TRUE);
- SET_PED_PATH_MAY_USE_CLIMBOVERS(ptype, TRUE);
- SET_PED_PATH_MAY_DROP_FROM_HEIGHT(ptype, TRUE);
- SET_PED_PATH_MAY_USE_LADDERS(ptype, TRUE);
- }
- void RiotWep(uint ptype)
- {
- uint wep;
- GENERATE_RANDOM_INT_IN_RANGE(0, 13, &wep);
- GIVE_WEAPON_TO_CHAR(ptype, weapon[wep], AMMO_MAX, FALSE);
- SET_CURRENT_CHAR_WEAPON(ptype, weapon[wep], TRUE);
- }
- void Pset(void)
- {
- if(IS_PLAYER_PLAYING(GetPlayerIndex()))
- {
- GET_CHAR_COORDINATES(GetPlayerPed(), &xp, &yp, &zp);
- CLEAR_WANTED_LEVEL(GetPlayerIndex());
- SET_MAX_WANTED_LEVEL(0);
- SET_CHAR_WANTED_BY_POLICE(GetPlayerPed(), FALSE);
- SET_POLICE_RADAR_BLIPS(FALSE);
- if(rgen == 1)
- {
- WAIT(5000);
- rgen = 0;
- }
- }
- else if(IS_CHAR_DEAD(GetPlayerPed()))
- {
- rgen = 1;
- }
- }
- void RiotGen(void)
- {
- uint I;
- for (I = 0; I <= 29; I++)
- {
- if(DOES_CHAR_EXIST(riot[I]))
- {
- float zx, zy, zz;
- float distb;
- GET_CHAR_COORDINATES(riot[I], &zx, &zy, &zz);
- GET_DISTANCE_BETWEEN_COORDS_3D(xp, yp, zp, zx, zy, zz, &distb);
- if(IS_CHAR_DEAD(riot[I]) || IS_CHAR_DEAD(GetPlayerPed()) || distb > 120.0)
- {
- EXPLODE_CHAR_HEAD(riot[I]);
- TASK_DIE(riot[I]);
- REMOVE_BLIP(rp[I]);
- MARK_CHAR_AS_NO_LONGER_NEEDED(&riot[I]);
- }
- }
- else if(!DOES_CHAR_EXIST(riot[I]))
- {
- if(IS_PLAYER_PLAYING(GetPlayerIndex()))
- {
- if(rgen == 0)
- {
- float offx;
- float offy;
- float x, y, z;
- float zgrnd;
- float sx, sy, sz;
- float dista;
- GENERATE_RANDOM_FLOAT_IN_RANGE(-100.0, 100.0, &offx);
- GENERATE_RANDOM_FLOAT_IN_RANGE(-100.0, 100.0, &offy);
- GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(GetPlayerPed(), offx, offy, 0, &x, &y, &z);
- GET_GROUND_Z_FOR_3D_COORD(x, y, z, &zgrnd);
- GET_SAFE_POSITION_FOR_CHAR(x, y, zgrnd, TRUE, &sx, &sy, &sz);
- GET_DISTANCE_BETWEEN_COORDS_3D(xp, yp, zp, sx, sy, sz, &dista);
- if(dista >= 35.0)
- {
- if(dista <= 100.0)
- {
- uint rm;
- CLEAR_AREA_OF_CARS(sx, sy, sz, 3.0);
- CLEAR_AREA_OF_CHARS(sx, sy, sz, 3.0);
- GENERATE_RANDOM_INT_IN_RANGE(0, 2, &rm);
- REQUEST_MODEL(rmodel[rm]);
- while (!HAS_MODEL_LOADED(rmodel[rm])) WAIT(0);
- CREATE_CHAR(16, rmodel[rm], sx, sy, sz, &riot[I], true);
- MARK_MODEL_AS_NO_LONGER_NEEDED(rmodel[rm]);
- ADD_BLIP_FOR_CHAR(riot[I], &rp[I]);
- CHANGE_BLIP_COLOUR(rp[I], I);
- CHANGE_BLIP_NAME_FROM_ASCII(rp[I], "Riot Ped");
- RiotSet(riot[I]);
- RiotVar(riot[I]);
- RiotWep(riot[I]);
- RiotRel(riot[I]);
- WAIT(50);
- }
- }
- }
- }
- }
- }
- }
- void DisableRgen(void)
- {
- if(IsKeyPressed(DPAD_DOWN,CIRCLE))
- {
- Print("Riot Generator Disabled");
- SET_MAX_WANTED_LEVEL(mlvl);
- SET_CAR_DENSITY_MULTIPLIER(1.25);
- SET_RANDOM_CAR_DENSITY_MULTIPLIER(1.25);
- SET_PARKED_CAR_DENSITY_MULTIPLIER(2.25);
- SET_ALL_RANDOM_PEDS_FLEE(GetPlayerIndex(), FALSE);
- SWITCH_RANDOM_BOATS(TRUE);
- SWITCH_POLICE_HELIS(TRUE);
- SWITCH_AMBIENT_PLANES(TRUE);
- SWITCH_GARBAGE_TRUCKS(TRUE);
- SWITCH_RANDOM_TRAINS(TRUE);
- SET_POLICE_RADAR_BLIPS(TRUE);
- SET_DEAD_PEDS_DROP_WEAPONS(TRUE);
- TERMINATE_THIS_SCRIPT();
- }
- }
- void main(void)
- {
- InitRiotSet();
- while (TRUE)
- {
- WAIT(0);
- Pset();
- RiotGen();
- DisableRgen();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment