last week , EvilB sent me this cool " all-in-one " version of my riot generator ... i forgot to post it ( well i assumed EvilB had already posted it ) here it is :
Rgen all-in-one ( iv+tlad+tbogt ) Script example :
note: all-in-one script made by EvilB .
Rgen- iv/tlad/tbogt
PHP Code:
#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)
{
float cx, cy, cz;
rmodel[0] = MODEL_M_Y_MULTIPLAYER;
rmodel[1] = MODEL_F_Y_MULTIPLAYER;
if (GET_CURRENT_EPISODE() == 0)
{
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;
}
else if (GET_CURRENT_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;
}
else if (GET_CURRENT_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 comp;
uint var;
if (GET_CURRENT_EPISODE() == 0)
{
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);
}
}
else if (GET_CURRENT_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);
}
}
else if (GET_CURRENT_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();
}
}
i have also updated 1st post with it ;)
again , thanks to EvilB for taking time to write this " all-in-one " script :)