EDITED 1ST PAGE everything is in 1st post now ... aside ped wars, since they are test scripts, thoses shall remain posted in 2nd post and reserved posts below it.
sweet , ill do test it .
Printable View
This is MULTI WAR! Which really is myself reflecting on the online play we had for aboot a month.
Going online in GTA IV one would see multiplayers all over. There was always someone trying to blow me to kingdom come with a RPG! They were like "Why won't you die?" Then I went KA BOOM!
Good times. Multi wars as it should ve been.
Code:\\core
#include <natives.h>
#include <common.h>
#include <strings.h>
#include <types.h>
#include <consts.h>
//############### Define Ps3 GamePad ################################//
#define SELECT 0xD
#define START 0xC
#define SQUARE 0xE
#define TRIANGLE 0xF
#define X 0x10
#define CIRCLE 0x11
#define DPAD_UP 0x8
#define DPAD_DOWN 0x9
#define DPAD_LEFT 0xA
#define DPAD_RIGHT 0xB
#define L2 0x5
#define R2 0x7
#define L1 0x4
#define R1 0x6
#define STICK_L 0x12
#define STICK_R 0x13
//############### Define Ps3 GamePad ################################//
// Enemy Group coordinates
float EGx, EGy, EGz;
float DBx, DBy, DBz;
// Enemy Peds handles
Ped zped;
Ped zpeda;
Ped zpedb;
Ped zpedc;
Ped zpedd;
Ped zpede;
Ped zpedf;
Ped zpedg;
Ped zpedh;
Ped zpedi;
Ped zpedj;
// Drive-By Vehicle handle
Vehicle gcar;
// Enemy Peds Blip handles
Blip bzPed;
Blip bzPeda;
Blip bzPedb;
Blip bzPedc;
Blip bzPedd;
Blip bzPede;
Blip bzPedf;
Blip bzPedg;
Blip bzPedh;
Blip bzPedi;
Blip bzPedj;
Blip bgcar;
// Player Warped
boolean pWarpInt = 0;
// Intro & Reset Text Displayed
boolean iTextInt = 0;
boolean rTextInt = 0;
// Enemy Peds Spawned
boolean zPedInt = 0;
boolean zPedaInt = 0;
boolean zPedbInt = 0;
boolean zPedcInt = 0;
boolean zPeddInt = 0;
boolean zPedeInt = 0;
boolean zPedfInt = 0;
boolean zPedgInt = 0;
boolean zPedhInt = 0;
boolean zPediInt = 0;
boolean zPedjInt = 0;
// DriveBy Car Spawned
boolean gcarInt = 0;
// War Waves Current stage
boolean zWarInt = 15;
// Display Text Shortcut
void Print(char *string)
{
PRINT_STRING_WITH_LITERAL_STRING_NOW("STRING", string, 3000, 1);
}
// Button Press Activator Shortcut
bool IsKeyPressed(uint iKey , uint iJey)
{
return IS_BUTTON_PRESSED(0,iKey) && IS_BUTTON_JUST_PRESSED(0,iJey);
}
//Various Enemy peds Settings Shortcut
void EnemySettings(uint ptype, uint pblip)
{
SET_CHAR_RELATIONSHIP_GROUP(ptype, 24);
SET_CHAR_RELATIONSHIP(ptype, 5, 0);
SET_CHAR_RANDOM_COMPONENT_VARIATION(ptype);
SET_CHAR_ONLY_DAMAGED_BY_PLAYER(ptype, TRUE);
SET_CHAR_AS_ENEMY(ptype, TRUE);
SET_CHAR_ACCURACY(ptype, 45);
SET_SENSE_RANGE(ptype, 250.0);
SET_CHAR_KEEP_TASK(ptype, TRUE);
TASK_COMBAT(ptype, GetPlayerPed());
SET_CHAR_IS_TARGET_PRIORITY(GetPlayerPed(), TRUE);
SET_CHAR_WILL_MOVE_WHEN_INJURED(ptype, TRUE);
SET_CHAR_WILL_USE_COVER(ptype, TRUE);
SET_PED_DONT_DO_EVASIVE_DIVES(ptype, TRUE);
SET_CHAR_WILL_USE_CARS_IN_COMBAT(ptype, FALSE);
SET_CHAR_WILL_LEAVE_CAR_IN_COMBAT(ptype, TRUE);
SET_PED_DIES_WHEN_INJURED(ptype, TRUE);
SET_PED_GENERATES_DEAD_BODY_EVENTS(ptype, TRUE);
SET_BLIP_AS_FRIENDLY(pblip, FALSE);
CHANGE_BLIP_COLOUR(pblip, BLIP_COLOR_RED);
}
// Drive-by Settings Shortcut
void DrivebySettings(uint ptype)
{
SET_CHAR_WILL_USE_CARS_IN_COMBAT(ptype, TRUE);
SET_CHAR_WILL_DO_DRIVEBYS(ptype, TRUE);
SET_CHAR_CANT_BE_DRAGGED_OUT(ptype, TRUE);
}
// Apply Drive-by Settings
void InCarSettings(void)
{
DrivebySettings(zpedi);
DrivebySettings(zpedf);
}
// Remove Enemy Shortcut
void ClearEnemy(uint ptype, uint pblip)
{
EXPLODE_CHAR_HEAD(ptype);
TASK_DIE(ptype);
REMOVE_BLIP(pblip);
}
// Set & Spawn Enemy Boss At Requested Coordinates
void SpawnBoss(uint modelBoss, float xb, float yb, float zb, uint weapon)
{
REQUEST_MODEL(modelBoss);
while (!HAS_MODEL_LOADED(modelBoss)) WAIT(0);
CREATE_CHAR(16, modelBoss, xb, yb, zb, &zped, true);
ADD_ARMOUR_TO_CHAR(zped, 5000); //
SET_CHAR_SPHERE_DEFENSIVE_AREA(zped, xb, yb, zb, 10.0);
UpdateWeaponOfPed(zped, weapon);
SET_CURRENT_CHAR_WEAPON(zped, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zped, &bzPed);
EnemySettings(zped, bzPed);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelBoss);
}
// Set & Spawn Enemy(A) Near Boss
void SpawnA(uint modelza, uint weapon ,float offset_x)
{
REQUEST_MODEL(modelza);
while (!HAS_MODEL_LOADED(modelza)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, offset_x, 0, 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelza, EGx,EGy,EGz, &zpeda, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpeda, EGx, EGy, EGz, 20.0);
UpdateWeaponOfPed(zpeda, weapon);
SET_CURRENT_CHAR_WEAPON(zpeda, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpeda, &bzPeda);
EnemySettings(zpeda, bzPeda);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelza);
}
// Set & Spawn Enemy(B) Near Boss
void SpawnB(uint modelzb, uint weapon, float offset_y)
{
REQUEST_MODEL(modelzb);
while (!HAS_MODEL_LOADED(modelzb)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, 0, offset_y , 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelzb, EGx,EGy,EGz, &zpedb, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedb, EGx, EGy, EGz, 20.0);
UpdateWeaponOfPed(zpedb, weapon);
SET_CURRENT_CHAR_WEAPON(zpedb, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedb, &bzPedb);
EnemySettings(zpedb, bzPedb);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzb);
}
// Set & spawn Enemy(C) Near Boss
void SpawnC(uint modelzc, uint weapon ,float offset_x)
{
REQUEST_MODEL(modelzc);
while (!HAS_MODEL_LOADED(modelzc)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, offset_x, 0, 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelzc, EGx,EGy,EGz, &zpedc, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedc, EGx, EGy, EGz, 20.0);
UpdateWeaponOfPed(zpedc, weapon);
SET_CURRENT_CHAR_WEAPON(zpedc, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedc, &bzPedc);
EnemySettings(zpedc, bzPedc);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzc);
}
// Set & Spawn Enemy(D) Near Boss
void SpawnD(uint modelzd, uint weapon ,float offset_y)
{
REQUEST_MODEL(modelzd);
while (!HAS_MODEL_LOADED(modelzd)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, 0, offset_y , 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelzd, EGx,EGy,EGz, &zpedd, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedd, EGx, EGy, EGz, 20.0);
UpdateWeaponOfPed(zpedd, weapon);
SET_CURRENT_CHAR_WEAPON(zpedd, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedd, &bzPedd);
EnemySettings(zpedd, bzPedd);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzd);
}
// Set & Spawn Enemy(E) Near Boss
void SpawnE(uint modelze, uint weapon ,float offset_x)
{
REQUEST_MODEL(modelze);
while (!HAS_MODEL_LOADED(modelze)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, offset_x, 0, 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelze, EGx,EGy,EGz, &zpede, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpede, EGx, EGy, EGz, 25.0);
UpdateWeaponOfPed(zpede, weapon);
SET_CURRENT_CHAR_WEAPON(zpede, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpede, &bzPede);
EnemySettings(zpede, bzPede);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelze);
}
// Set & Spawn Enemy(F) Near Boss
void SpawnF(uint modelzf, uint weapon ,float offset_y)
{
REQUEST_MODEL(modelzf);
while (!HAS_MODEL_LOADED(modelzf)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, 0, offset_y , 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelzf, EGx,EGy,EGz, &zpedf, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedf, EGx, EGy, EGz, 25.0);
UpdateWeaponOfPed(zpedf, weapon);
SET_CURRENT_CHAR_WEAPON(zpedf, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedf, &bzPedf);
EnemySettings(zpedf, bzPedf);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzf);
}
// Set & Spawn Enemy(G) Near Boss
void SpawnG(uint modelzg, uint weapon ,float offset_x)
{
REQUEST_MODEL(modelzg);
while (!HAS_MODEL_LOADED(modelzg)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, offset_x, 0, 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelzg, EGx,EGy,EGz, &zpedg, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedg, EGx, EGy, EGz, 25.0);
UpdateWeaponOfPed(zpedg, weapon);
SET_CURRENT_CHAR_WEAPON(zpedg, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedg, &bzPedg);
EnemySettings(zpedg, bzPedg);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzg);
}
// Set & Spawn enemy(H) Near Boss
void SpawnH(uint modelzh, uint weapon ,float offset_y)
{
REQUEST_MODEL(modelzh);
while (!HAS_MODEL_LOADED(modelzh)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, 0, offset_y , 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelzh, EGx,EGy,EGz, &zpedh, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedh, EGx, EGy, EGz, 25.0);
UpdateWeaponOfPed(zpedh, weapon);
SET_CURRENT_CHAR_WEAPON(zpedh, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedh, &bzPedh);
EnemySettings(zpedh, bzPedh);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzh);
}
// Set & Spawn enemy(I) Near DriveBy Car
void SpawnI(uint modelzi, uint weapon ,float offset_y)
{
REQUEST_MODEL(modelzi);
while (!HAS_MODEL_LOADED(modelzi)) WAIT(0);
GET_OFFSET_FROM_CAR_IN_WORLD_COORDS(gcar, 0, offset_y , 0, &DBx, &DBy, &DBz);
CREATE_CHAR(16, modelzi, DBx,DBy,DBz, &zpedi, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedi, EGx, EGy, EGz, 250.0);
UpdateWeaponOfPed(zpedi, weapon);
SET_CURRENT_CHAR_WEAPON(zpedi, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedi, &bzPedi);
SET_CHAR_CAN_BE_KNOCKED_OFF_BIKE(zpedi, TRUE);
SET_CHAR_WILL_LEAVE_CAR_IN_COMBAT(zpedi, FALSE);
EnemySettings(zpedi, bzPedi);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzi);
}
// Set & Spawn enemy(J) On NearBy Roof
void SpawnJ(uint modelzj, float Sx, float Sy, float Sz, uint weapon)
{
REQUEST_MODEL(modelzj);
while (!HAS_MODEL_LOADED(modelzj)) WAIT(0);
CREATE_CHAR(16, modelzj, Sx, Sy, Sz, &zpedj, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedj, EGx, EGy, EGz, 150.0);
UpdateWeaponOfPed(zpedj, weapon);
SET_CURRENT_CHAR_WEAPON(zpedj, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedj, &bzPedj);
EnemySettings(zpedj, bzPedj);
SET_PED_PATH_MAY_USE_CLIMBOVERS(zpedj, FALSE);
SET_PED_PATH_MAY_DROP_FROM_HEIGHT(zpedj, FALSE);
SET_PED_PATH_MAY_USE_LADDERS(zpedj, FALSE);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzj);
}
// Spawn Drive-By Vehicle
void SpawnDriveByVehicle(uint modelgcar, float Vx, float Vy, float Vz)
{
REQUEST_MODEL(modelgcar);
while (!HAS_MODEL_LOADED(modelgcar)) WAIT(0);
CREATE_CAR(modelgcar, Vx, Vy, Vz, &gcar, true);
ADD_BLIP_FOR_CAR(gcar, &bgcar);
SET_BLIP_AS_FRIENDLY(bgcar, FALSE);
CHANGE_BLIP_COLOUR(bgcar, BLIP_COLOR_RED);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelgcar);
return gcar;
}
// Set Various Player/World Settings
void PlayerSettings(void)
{
if(IS_PLAYER_PLAYING(GetPlayerIndex()))
{
SET_MAX_WANTED_LEVEL(0);
SET_CHAR_WANTED_BY_POLICE(GetPlayerPed(), FALSE);
SET_POLICE_IGNORE_PLAYER(GetPlayerIndex(), TRUE);
OVERRIDE_NEXT_RESTART(-300.4960, 677.8065, 12.4096, 124.6267);
if(gcarInt == 1 && zPediInt == 1)
{
TASK_CAR_MISSION_PED_TARGET(zpedi, gcar, GetPlayerPed(), 2, 60.0, 2, 0, 10);
}
}
}
// Teleport player near war zone
void WarpToWar(void)
{
if(IS_PLAYER_PLAYING(GetPlayerIndex()) && pWarpInt == 0)
{
while (IS_SCREEN_FADING())
{
WAIT(0);
}
DO_SCREEN_FADE_OUT(500);
while (IS_SCREEN_FADING())
{
WAIT(0);
}
float x = -300.4997, y = 678.2755, z = 12.4094;
SET_PLAYER_CONTROL(GetPlayerIndex(), FALSE);
LOAD_SCENE(x, y, z);
WAIT(500);
SET_PLAYER_CONTROL(GetPlayerIndex(), TRUE);
SET_CHAR_COORDINATES_NO_OFFSET(GetPlayerPed(), x, y, z);
SET_CHAR_HEADING(GetPlayerPed(), 255.7890);
SET_CAM_BEHIND_PED(GetPlayerPed());
while (IS_SCREEN_FADING())
{
WAIT(0);
}
DO_SCREEN_FADE_IN(500);
while (IS_SCREEN_FADING())
{
WAIT(0);
pWarpInt = 1;
iTextInt = 1;
}
}
}
// Display Intro Text Once PLayer Teleported
void TextIntro(void)
{
if(IS_PLAYER_PLAYING(GetPlayerIndex()) && iTextInt == 1)
{
Print("Multi WAR");
WAIT(4000);
Print("Kill EM All");
WAIT(2000);
zWarInt = 0;
iTextInt = 0;
}
}
// Display Gang War Reseted Text If Player Die
void TextReset(void)
{
if(!IS_CHAR_DEAD(GetPlayerPed()) && rTextInt == 1)
{
WAIT(3000);
Print("You Died Multi War Reseted");
WAIT(4000);
Print("Get Back Into Multi Zone");
zWarInt = 0;
rTextInt = 0;
}
}
// Manage Death/Reset
void PlayerDeathReset(void)
{
if(IS_CHAR_DEAD(GetPlayerPed()))
{
zWarInt = 15;
rTextInt = 1;
}
}
// Spawn Enemy Gang Shortcut
void SpawnGang(void)
{
SpawnA(MODEL_M_Y_MULTIPLAYER, WEAPON_DEAGLE, 1);
zPedaInt = 1;
SpawnB(MODEL_M_Y_MULTIPLAYER, WEAPON_SHOTGUN, 1);
zPedbInt = 1;
SpawnC(MODEL_M_Y_MULTIPLAYER, WEAPON_MICRO_UZI, 2);
zPedcInt = 1;
SpawnD(MODEL_M_Y_MULTIPLAYER, WEAPON_BARETTA, 2);
zPeddInt = 1;
SpawnE(MODEL_F_Y_MULTIPLAYER, WEAPON_MP5, -1);
zPedeInt = 1;
SpawnF(MODEL_F_Y_MULTIPLAYER, WEAPON_PISTOL, -1);
zPedfInt = 1;
SpawnG(MODEL_F_Y_MULTIPLAYER, WEAPON_MICRO_UZI, -2);
zPedgInt = 1;
SpawnH(MODEL_F_Y_MULTIPLAYER, WEAPON_PISTOL, -2);
zPedhInt = 1;
}
// Enemy Boss Spawning Logic & War Waves & Texts Display
void WarWave(void)
{
if(zPedInt == 0 && zPedaInt == 0 && zPedbInt == 0 && zPedcInt == 0 && zPeddInt == 0 && zPedeInt == 0 && zPedfInt == 0 && zPedgInt == 0 && zPedhInt == 0 && zPediInt == 0 && zPedjInt == 0)
{
if(zWarInt == 0)
{
ADD_ARMOUR_TO_CHAR(GetPlayerPed(), 1000);
Print("Multi War 1st Wave");
SpawnBoss(MODEL_IG_BADMAN, -327.7130, 658.8873, 14.7505, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 1;
gcarInt = 1;
if(DOES_VEHICLE_EXIST(gcar))
{
}
}
}
else if(zWarInt == 1)
{
Print("You Survived 1st Wave");
WAIT(4000);
Print("Multi War 2nd Wave");
SpawnBoss(MODEL_IG_LILJACOB, -310.8735, 632.8878, 14.8938, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 2;
if(DOES_VEHICLE_EXIST(gcar))
{
gcarInt = 2;
}
}
}
else if(zWarInt == 2)
{
Print("You Survived 2nd Wave");
WAIT(4000);
Print("Multi War 3rd Wave");
SpawnBoss(MODEL_IG_BRUCIE, -300.4997, 678.2755, 12.4094, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
SpawnJ(MODEL_M_Y_MULTIPLAYER, -334.2978, 644.9096, 17.5564, WEAPON_RLAUNCHER);
zPedInt = 1;
zWarInt = 3;
zPedjInt = 1;
}
}
else if(zWarInt == 3)
{
Print("You Survived 3rd Wave");
WAIT(4000);
Print("Multi War 4th Wave");
SpawnBoss(MODEL_IG_DWAYNE, -237.6251, 668.7616, 12.4091, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 4;
}
}
else if(zWarInt == 4)
{
Print("You Survived 4th Wave");
WAIT(4000);
Print("Multi War 5th Wave");
SpawnBoss(MODEL_IG_JOHNNYBIKER, -204.4669, 666.6816, 13.5421, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 5;
gcarInt = 1;
if(DOES_VEHICLE_EXIST(gcar))
{
}
}
}
else if(zWarInt == 5)
{
Print("You Survived 5th Wave");
WAIT(4000);
Print("Multi War 6th Wave");
SpawnBoss(MODEL_IG_LUIS, -168.0925, 716.4803, 10.6335, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 6;
if(DOES_VEHICLE_EXIST(gcar))
{
gcarInt = 2;
}
}
}
else if(zWarInt == 6)
{
Print("You Survived 6th Wave");
WAIT(4000);
Print("Multi War 7th Wave");
SpawnBoss(MODEL_IG_PACKIE_MC, -103.5994, 655.6816, 13.0738, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
SpawnJ(MODEL_M_Y_MULTIPLAYER, -74.8535, 647.4283, 16.4283 , WEAPON_RLAUNCHER);
zPedInt = 1;
zWarInt = 7;
zPedjInt = 1;
}
}
else if(zWarInt == 7)
{
Print("You Survived 7th Wave");
WAIT(4000);
Print("Multi War 8th Wave");
SpawnBoss(MODEL_IG_*******_X, -77.2026, 690.0826, 14.5870, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 8;
}
}
else if(zWarInt == 8)
{
Print("You Survived 8th Wave");
WAIT(4000);
Print("Multi War 9th Wave");
SpawnBoss(MODEL_IG_PATHOS, -82.5475, 724.1247, 14.6205, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 9;
if(DOES_VEHICLE_EXIST(gcar))
{
}
}
}
else if(zWarInt == 9)
{
Print("You Survived 9th Wave");
WAIT(4000);
Print("Multi War 10th Wave");
SpawnBoss(MODEL_IG_RAY_BOCCINO, -104.4981, 761.4913, 15.2955, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 10;
if(DOES_VEHICLE_EXIST(gcar))
{
gcarInt = 2;
}
}
}
else if(zWarInt == 10)
{
Print("You Survived 10th Wave");
WAIT(4000);
Print("Multi War 11th Wave");
SpawnBoss(MODEL_F_Y_HOOKER_03, -129.1469, 822.0797, 18.6308, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
SpawnJ(MODEL_M_Y_MULTIPLAYER, -130.3441, 815.3864, 34.5654, WEAPON_RLAUNCHER);
zPedInt = 1;
zWarInt = 11;
zPedjInt = 1;
}
}
else if(zWarInt == 11)
{
Print("You Survived 11th Wave");
WAIT(4000);
Print("Multi War 12th Wave");
SpawnBoss(MODEL_F_Y_STRIPPERC01, -142.2373, 869.4619, 14.1630, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 12;
}
}
else if(zWarInt == 12)
{
Print("You Survived 12th Wave");
WAIT(4000);
Print("Multi War Final Wave");
SpawnBoss(MODEL_IG_ROMAN, -80.1861, 824.0238, 17.3180, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
SpawnJ(MODEL_M_Y_MULTIPLAYER, -88.5677, 840.5977, 298.1373, WEAPON_RLAUNCHER);
zPedInt = 1;
zWarInt = 13;
zPedjInt = 1;
}
}
else if(zWarInt == 13)
{
Print("You Survived The Final Wave");
WAIT(4000);
Print("The Multi War Is Over");
zWarInt = 14;
}
else if(zWarInt == 14)
{
WAIT(4000);
SET_POLICE_IGNORE_PLAYER(GetPlayerIndex(), FALSE);
CANCEL_OVERRIDE_RESTART();
TERMINATE_THIS_SCRIPT();
}
}
}
// Remove Enemy Boss Logic
void RemoveBoss(void)
{
if (DOES_CHAR_EXIST(zped))
{
SET_CHAR_WANTED_BY_POLICE(zped, FALSE);
if(IS_CHAR_DEAD(zped) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zped, bzPed);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zped);
zPedInt = 0;
}
}
}
// Remove Enemy(A) Logic
void RemoveA(void)
{
if(DOES_CHAR_EXIST(zpeda))
{
SET_CHAR_WANTED_BY_POLICE(zpeda, FALSE);
if(IS_CHAR_DEAD(zpeda) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpeda, bzPeda);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpeda);
zPedaInt = 0;
}
}
}
// Remove Enemy(B) Logic
void RemoveB(void)
{
if(DOES_CHAR_EXIST(zpedb))
{
SET_CHAR_WANTED_BY_POLICE(zpedb, FALSE);
if(IS_CHAR_DEAD(zpedb) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedb, bzPedb);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedb);
zPedbInt = 0;
}
}
}
// Remove Enemy(C) Logic
void RemoveC(void)
{
if(DOES_CHAR_EXIST(zpedc))
{
SET_CHAR_WANTED_BY_POLICE(zpedc, FALSE);
if(IS_CHAR_DEAD(zpedc) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedc, bzPedc);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedc);
zPedcInt = 0;
}
}
}
// Remove Enemy(D) Logic
void RemoveD(void)
{
if(DOES_CHAR_EXIST(zpedd))
{
SET_CHAR_WANTED_BY_POLICE(zpedd, FALSE);
if(IS_CHAR_DEAD(zpedd) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedd, bzPedd);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedd);
zPeddInt = 0;
}
}
}
// Remove Enemy(E) Logic
void RemoveE(void)
{
if(DOES_CHAR_EXIST(zpede))
{
SET_CHAR_WANTED_BY_POLICE(zpede, FALSE);
if(IS_CHAR_DEAD(zpede) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpede, bzPede);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpede);
zPedeInt = 0;
}
}
}
// Remove enemy(F) Logic
void RemoveF(void)
{
if(DOES_CHAR_EXIST(zpedf))
{
SET_CHAR_WANTED_BY_POLICE(zpedf, FALSE);
if(IS_CHAR_DEAD(zpedf) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedf, bzPedf);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedf);
zPedfInt = 0;
}
}
}
// Remove Enemy(G) Logic
void RemoveG(void)
{
if(DOES_CHAR_EXIST(zpedg))
{
SET_CHAR_WANTED_BY_POLICE(zpedg, FALSE);
if(IS_CHAR_DEAD(zpedg) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedg, bzPedg);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedg);
zPedgInt = 0;
}
}
}
// Remove Enemy(H) Logic
void RemoveH(void)
{
if(DOES_CHAR_EXIST(zpedh))
{
SET_CHAR_WANTED_BY_POLICE(zpedh, FALSE);
if(IS_CHAR_DEAD(zpedh) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedh, bzPedh);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedh);
zPedhInt = 0;
}
}
}
// Remove Enemy(I) Logic
void RemoveI(void)
{
if(DOES_CHAR_EXIST(zpedi))
{
SET_CHAR_WANTED_BY_POLICE(zpedi, FALSE);
if(IS_CHAR_DEAD(zpedi) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedi, bzPedi);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedi);
zPediInt = 0;
}
}
}
// Remove Enemy(J) Logic
void RemoveJ(void)
{
if(DOES_CHAR_EXIST(zpedj))
{
SET_CHAR_WANTED_BY_POLICE(zpedj, FALSE);
if(IS_CHAR_DEAD(zpedj) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedj, bzPedj);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedj);
zPedjInt = 0;
}
}
}
// Explode & Remove Enemy Car After Wave
void RemoveCar(void)
{
if(DOES_VEHICLE_EXIST(gcar))
{
if(IS_CAR_DEAD(gcar) || IS_CHAR_DEAD(GetPlayerPed()) || gcarInt == 2 || IsKeyPressed(DPAD_UP,TRIANGLE))
{
EXPLODE_CAR(gcar, 1, 0);
REMOVE_BLIP(bgcar);
MARK_CAR_AS_NO_LONGER_NEEDED(&gcar);
gcarInt = 0;
}
}
}
void QuitGangWar(void)
{
if( IsKeyPressed(DPAD_UP,TRIANGLE) )
{
Print("The Multi War Is Over");
WAIT(3000);
if(zPedInt == 0 && zPedaInt == 0 && zPedbInt == 0 && zPedcInt == 0 && zPeddInt == 0 && zPedeInt == 0 && zPedfInt == 0 && zPedgInt == 0 && zPedhInt == 0 && zPediInt == 0 && zPedjInt == 0)
SET_POLICE_IGNORE_PLAYER(GetPlayerIndex(), FALSE);
CANCEL_OVERRIDE_RESTART();
TERMINATE_THIS_SCRIPT();
}
}
void main(void)
{
while (TRUE)
{
WAIT(0);
PlayerSettings();
WarpToWar();
TextIntro();
TextReset();
PlayerDeathReset();
WarWave();
RemoveBoss();
RemoveA();
RemoveB();
RemoveC();
RemoveD();
RemoveE();
RemoveF();
RemoveG();
RemoveH();
RemoveI();
RemoveJ();
RemoveCar();
QuitGangWar();
}
}
great ! ill test it out on friday ...
is this final version for this location ? cuz when its completed ill add it to ped-wars section ... i kept enuff " reserved" post to fit about 12 ped-wars .
This is the final version. It is how I like it. Will start a new location soon.
This is Rider War! Which is a Ghost Rider like script for war ,like since it is Niko on fire(in a War @ the Airport).
Also has a few bugs like applying other mods will kill the flame. But here is the Beta Ghost Rider War(sco download https://psx.egnyte.com/h-s/20120728/891318c6b52f439b)
Edited since Ribo's Ghost Rider script can now be applied making it how it should be :)Code:#include <natives.h>
#include <common.h>
#include <strings.h>
#include <types.h>
#include <consts.h>
//############### Define Ps3 GamePad ################################//
#define SELECT 0xD
#define START 0xC
#define SQUARE 0xE
#define TRIANGLE 0xF
#define X 0x10
#define CIRCLE 0x11
#define DPAD_UP 0x8
#define DPAD_DOWN 0x9
#define DPAD_LEFT 0xA
#define DPAD_RIGHT 0xB
#define L2 0x5
#define R2 0x7
#define L1 0x4
#define R1 0x6
#define STICK_L 0x12
#define STICK_R 0x13
//############### Define Ps3 GamePad ################################//
// Enemy Group coordinates
float EGx, EGy, EGz;
float DBx, DBy, DBz;
// Enemy Peds handles
Ped zped;
Ped zpeda;
Ped zpedb;
Ped zpedc;
Ped zpedd;
Ped zpede;
Ped zpedf;
Ped zpedg;
Ped zpedh;
Ped zpedi;
Ped zpedj;
// Drive-By Vehicle handle
Vehicle gcar;
// Enemy Peds Blip handles
Blip bzPed;
Blip bzPeda;
Blip bzPedb;
Blip bzPedc;
Blip bzPedd;
Blip bzPede;
Blip bzPedf;
Blip bzPedg;
Blip bzPedh;
Blip bzPedi;
Blip bzPedj;
Blip bgcar;
// Player Warped
boolean pWarpInt = 0;
// Intro & Reset Text Displayed
boolean iTextInt = 0;
boolean rTextInt = 0;
// Enemy Peds Spawned
boolean zPedInt = 0;
boolean zPedaInt = 0;
boolean zPedbInt = 0;
boolean zPedcInt = 0;
boolean zPeddInt = 0;
boolean zPedeInt = 0;
boolean zPedfInt = 0;
boolean zPedgInt = 0;
boolean zPedhInt = 0;
boolean zPediInt = 0;
boolean zPedjInt = 0;
// DriveBy Car Spawned
boolean gcarInt = 0;
// War Waves Current stage
boolean zWarInt = 15;
// Display Text Shortcut
void Print(char *string)
{
PRINT_STRING_WITH_LITERAL_STRING_NOW("STRING", string, 3000, 1);
}
// Button Press Activator Shortcut
bool IsKeyPressed(uint iKey , uint iJey)
{
return IS_BUTTON_PRESSED(0,iKey) && IS_BUTTON_JUST_PRESSED(0,iJey);
}
//Various Enemy peds Settings Shortcut
void EnemySettings(uint ptype, uint pblip)
{
SET_CHAR_RELATIONSHIP_GROUP(ptype, 24);
SET_CHAR_RELATIONSHIP(ptype, 5, 0);
SET_CHAR_RANDOM_COMPONENT_VARIATION(ptype);
SET_CHAR_ONLY_DAMAGED_BY_PLAYER(ptype, TRUE);
SET_CHAR_AS_ENEMY(ptype, TRUE);
SET_CHAR_ACCURACY(ptype, 45);
SET_SENSE_RANGE(ptype, 250.0);
SET_CHAR_KEEP_TASK(ptype, TRUE);
TASK_COMBAT(ptype, GetPlayerPed());
SET_CHAR_IS_TARGET_PRIORITY(GetPlayerPed(), TRUE);
SET_CHAR_WILL_MOVE_WHEN_INJURED(ptype, TRUE);
SET_CHAR_WILL_USE_COVER(ptype, TRUE);
SET_PED_DONT_DO_EVASIVE_DIVES(ptype, TRUE);
SET_CHAR_WILL_USE_CARS_IN_COMBAT(ptype, FALSE);
SET_CHAR_WILL_LEAVE_CAR_IN_COMBAT(ptype, TRUE);
SET_PED_DIES_WHEN_INJURED(ptype, TRUE);
SET_PED_GENERATES_DEAD_BODY_EVENTS(ptype, TRUE);
SET_BLIP_AS_FRIENDLY(pblip, FALSE);
CHANGE_BLIP_COLOUR(pblip, BLIP_COLOR_RED);
}
// Drive-by Settings Shortcut
void DrivebySettings(uint ptype)
{
SET_CHAR_WILL_USE_CARS_IN_COMBAT(ptype, TRUE);
SET_CHAR_WILL_DO_DRIVEBYS(ptype, TRUE);
SET_CHAR_CANT_BE_DRAGGED_OUT(ptype, TRUE);
}
// Apply Drive-by Settings
void InCarSettings(void)
{
DrivebySettings(zpedi);
DrivebySettings(zpedf);
}
// Remove Enemy Shortcut
void ClearEnemy(uint ptype, uint pblip)
{
EXPLODE_CHAR_HEAD(ptype);
TASK_DIE(ptype);
REMOVE_BLIP(pblip);
}
// Set & Spawn Enemy Boss At Requested Coordinates
void SpawnBoss(uint modelBoss, float xb, float yb, float zb, uint weapon)
{
REQUEST_MODEL(modelBoss);
while (!HAS_MODEL_LOADED(modelBoss)) WAIT(0);
CREATE_CHAR(16, modelBoss, xb, yb, zb, &zped, true);
ADD_ARMOUR_TO_CHAR(zped, 5000); //
SET_CHAR_SPHERE_DEFENSIVE_AREA(zped, xb, yb, zb, 10.0);
UpdateWeaponOfPed(zped, weapon);
SET_CURRENT_CHAR_WEAPON(zped, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zped, &bzPed);
EnemySettings(zped, bzPed);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelBoss);
}
// Set & Spawn Enemy(A) Near Boss
void SpawnA(uint modelza, uint weapon ,float offset_x)
{
REQUEST_MODEL(modelza);
while (!HAS_MODEL_LOADED(modelza)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, offset_x, 0, 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelza, EGx,EGy,EGz, &zpeda, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpeda, EGx, EGy, EGz, 20.0);
UpdateWeaponOfPed(zpeda, weapon);
SET_CURRENT_CHAR_WEAPON(zpeda, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpeda, &bzPeda);
EnemySettings(zpeda, bzPeda);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelza);
}
// Set & Spawn Enemy(B) Near Boss
void SpawnB(uint modelzb, uint weapon, float offset_y)
{
REQUEST_MODEL(modelzb);
while (!HAS_MODEL_LOADED(modelzb)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, 0, offset_y , 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelzb, EGx,EGy,EGz, &zpedb, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedb, EGx, EGy, EGz, 20.0);
UpdateWeaponOfPed(zpedb, weapon);
SET_CURRENT_CHAR_WEAPON(zpedb, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedb, &bzPedb);
EnemySettings(zpedb, bzPedb);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzb);
}
// Set & spawn Enemy(C) Near Boss
void SpawnC(uint modelzc, uint weapon ,float offset_x)
{
REQUEST_MODEL(modelzc);
while (!HAS_MODEL_LOADED(modelzc)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, offset_x, 0, 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelzc, EGx,EGy,EGz, &zpedc, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedc, EGx, EGy, EGz, 20.0);
UpdateWeaponOfPed(zpedc, weapon);
SET_CURRENT_CHAR_WEAPON(zpedc, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedc, &bzPedc);
EnemySettings(zpedc, bzPedc);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzc);
}
// Set & Spawn Enemy(D) Near Boss
void SpawnD(uint modelzd, uint weapon ,float offset_y)
{
REQUEST_MODEL(modelzd);
while (!HAS_MODEL_LOADED(modelzd)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, 0, offset_y , 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelzd, EGx,EGy,EGz, &zpedd, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedd, EGx, EGy, EGz, 20.0);
UpdateWeaponOfPed(zpedd, weapon);
SET_CURRENT_CHAR_WEAPON(zpedd, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedd, &bzPedd);
EnemySettings(zpedd, bzPedd);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzd);
}
// Set & Spawn Enemy(E) Near Boss
void SpawnE(uint modelze, uint weapon ,float offset_x)
{
REQUEST_MODEL(modelze);
while (!HAS_MODEL_LOADED(modelze)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, offset_x, 0, 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelze, EGx,EGy,EGz, &zpede, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpede, EGx, EGy, EGz, 25.0);
UpdateWeaponOfPed(zpede, weapon);
SET_CURRENT_CHAR_WEAPON(zpede, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpede, &bzPede);
EnemySettings(zpede, bzPede);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelze);
}
// Set & Spawn Enemy(F) Near Boss
void SpawnF(uint modelzf, uint weapon ,float offset_y)
{
REQUEST_MODEL(modelzf);
while (!HAS_MODEL_LOADED(modelzf)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, 0, offset_y , 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelzf, EGx,EGy,EGz, &zpedf, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedf, EGx, EGy, EGz, 25.0);
UpdateWeaponOfPed(zpedf, weapon);
SET_CURRENT_CHAR_WEAPON(zpedf, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedf, &bzPedf);
EnemySettings(zpedf, bzPedf);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzf);
}
// Set & Spawn Enemy(G) Near Boss
void SpawnG(uint modelzg, uint weapon ,float offset_x)
{
REQUEST_MODEL(modelzg);
while (!HAS_MODEL_LOADED(modelzg)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, offset_x, 0, 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelzg, EGx,EGy,EGz, &zpedg, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedg, EGx, EGy, EGz, 25.0);
UpdateWeaponOfPed(zpedg, weapon);
SET_CURRENT_CHAR_WEAPON(zpedg, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedg, &bzPedg);
EnemySettings(zpedg, bzPedg);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzg);
}
// Set & Spawn enemy(H) Near Boss
void SpawnH(uint modelzh, uint weapon ,float offset_y)
{
REQUEST_MODEL(modelzh);
while (!HAS_MODEL_LOADED(modelzh)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(zped, 0, offset_y , 0, &EGx, &EGy, &EGz);
CREATE_CHAR(16, modelzh, EGx,EGy,EGz, &zpedh, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedh, EGx, EGy, EGz, 25.0);
UpdateWeaponOfPed(zpedh, weapon);
SET_CURRENT_CHAR_WEAPON(zpedh, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedh, &bzPedh);
EnemySettings(zpedh, bzPedh);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzh);
}
// Set & Spawn enemy(I) Near DriveBy Car
void SpawnI(uint modelzi, uint weapon ,float offset_y)
{
REQUEST_MODEL(modelzi);
while (!HAS_MODEL_LOADED(modelzi)) WAIT(0);
GET_OFFSET_FROM_CAR_IN_WORLD_COORDS(gcar, 0, offset_y , 0, &DBx, &DBy, &DBz);
CREATE_CHAR(16, modelzi, DBx,DBy,DBz, &zpedi, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedi, EGx, EGy, EGz, 250.0);
UpdateWeaponOfPed(zpedi, weapon);
SET_CURRENT_CHAR_WEAPON(zpedi, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedi, &bzPedi);
SET_CHAR_CAN_BE_KNOCKED_OFF_BIKE(zpedi, TRUE);
SET_CHAR_WILL_LEAVE_CAR_IN_COMBAT(zpedi, FALSE);
EnemySettings(zpedi, bzPedi);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzi);
}
// Set & Spawn enemy(J) On NearBy Roof
void SpawnJ(uint modelzj, float Sx, float Sy, float Sz, uint weapon)
{
REQUEST_MODEL(modelzj);
while (!HAS_MODEL_LOADED(modelzj)) WAIT(0);
CREATE_CHAR(16, modelzj, Sx, Sy, Sz, &zpedj, true);
SET_CHAR_SPHERE_DEFENSIVE_AREA(zpedj, EGx, EGy, EGz, 150.0);
UpdateWeaponOfPed(zpedj, weapon);
SET_CURRENT_CHAR_WEAPON(zpedj, weapon, TRUE);
ADD_BLIP_FOR_CHAR(zpedj, &bzPedj);
EnemySettings(zpedj, bzPedj);
SET_PED_PATH_MAY_USE_CLIMBOVERS(zpedj, FALSE);
SET_PED_PATH_MAY_DROP_FROM_HEIGHT(zpedj, FALSE);
SET_PED_PATH_MAY_USE_LADDERS(zpedj, FALSE);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelzj);
}
// Spawn Drive-By Vehicle
void SpawnDriveByVehicle(uint modelgcar, float Vx, float Vy, float Vz)
{
REQUEST_MODEL(modelgcar);
while (!HAS_MODEL_LOADED(modelgcar)) WAIT(0);
CREATE_CAR(modelgcar, Vx, Vy, Vz, &gcar, true);
ADD_BLIP_FOR_CAR(gcar, &bgcar);
SET_BLIP_AS_FRIENDLY(bgcar, FALSE);
CHANGE_BLIP_COLOUR(bgcar, BLIP_COLOR_RED);
MARK_MODEL_AS_NO_LONGER_NEEDED(modelgcar);
return gcar;
}
// Set Various Player/World Settings
void PlayerSettings(void)
{
SET_MAX_WANTED_LEVEL(0);
SET_CHAR_WANTED_BY_POLICE(GetPlayerPed(), FALSE);
SET_POLICE_IGNORE_PLAYER(GetPlayerIndex(), TRUE);
OVERRIDE_NEXT_RESTART(2238.1279, 178.5907, 5.8128, 174.1536);
}
// Teleport player near war zone
void WarpToWar(void)
{
if(IS_PLAYER_PLAYING(GetPlayerIndex()) && pWarpInt == 0)
{
while (IS_SCREEN_FADING())
{
WAIT(0);
}
DO_SCREEN_FADE_OUT(500);
while (IS_SCREEN_FADING())
{
WAIT(0);
}
float x = 2238.1279, y = 178.5907, z = 5.8128;
SET_PLAYER_CONTROL(GetPlayerIndex(), FALSE);
LOAD_SCENE(x, y, z);
WAIT(500);
SET_PLAYER_CONTROL(GetPlayerIndex(), TRUE);
SET_CHAR_COORDINATES_NO_OFFSET(GetPlayerPed(), x, y, z);
SET_CHAR_HEADING(GetPlayerPed(), 255.7890);
SET_CAM_BEHIND_PED(GetPlayerPed());
while (IS_SCREEN_FADING())
{
WAIT(0);
}
DO_SCREEN_FADE_IN(500);
while (IS_SCREEN_FADING())
{
WAIT(0);
pWarpInt = 1;
iTextInt = 1;
}
}
}
// Display Intro Text Once PLayer Teleported
void TextIntro(void)
{
if(IS_PLAYER_PLAYING(GetPlayerIndex()) && iTextInt == 1)
{
Print("The Rider War");
WAIT(4000);
Print("Kill EM All");
WAIT(2000);
zWarInt = 0;
iTextInt = 0;
}
}
// Display Gang War Reseted Text If Player Die
void TextReset(void)
{
if(!IS_CHAR_DEAD(GetPlayerPed()) && rTextInt == 1)
{
WAIT(3000);
Print("You Died Rider War Reseted");
WAIT(4000);
Print("Get Back In The Rider War Zone");
zWarInt = 0;
rTextInt = 0;
}
}
// Manage Death/Reset
void PlayerDeathReset(void)
{
if(IS_CHAR_DEAD(GetPlayerPed()))
{
zWarInt = 15;
rTextInt = 1;
}
}
// Spawn Enemy Gang Shortcut
void SpawnGang(void)
{
SpawnA(MODEL_M_M_GUNNUT_01,WEAPON_MP5, 2);
zPedaInt = 1;
SpawnB(MODEL_M_M_GUNNUT_01, WEAPON_BARETTA, -2);
zPedbInt = 1;
SpawnC(MODEL_M_M_GUNNUT_01, WEAPON_MP5, 1);
zPedcInt = 1;
SpawnD(MODEL_M_M_GUNNUT_01, WEAPON_PISTOL, -1);
zPeddInt = 1;
SpawnE(MODEL_M_M_GUNNUT_01, WEAPON_MICRO_UZI, 2);
zPedeInt = 1;
SpawnF(MODEL_M_M_GUNNUT_01, WEAPON_SHOTGUN, -2);
zPedfInt = 1;
SpawnG(MODEL_M_M_GUNNUT_01, WEAPON_M4, 1);
zPedgInt = 1;
SpawnH(MODEL_M_M_GUNNUT_01, WEAPON_M4, 2);
zPedhInt = 1;
}
// Enemy Boss Spawning Logic & War Waves & Texts Display
void WarWave(void)
{
if(zPedInt == 0 && zPedaInt == 0 && zPedbInt == 0 && zPedcInt == 0 && zPeddInt == 0 && zPedeInt == 0 && zPedfInt == 0 && zPedgInt == 0 && zPedhInt == 0 && zPediInt == 0 && zPedjInt == 0)
{
if(zWarInt == 0)
{
ADD_ARMOUR_TO_CHAR(GetPlayerPed(), 1000);
Print("Rider War 1st Wave");
SpawnBoss(MODEL_M_M_DODGYDOC, 2287.7190, 178.0378, 5.8128, WEAPON_RLAUNCHER);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 1;
gcarInt = 1;
if(DOES_VEHICLE_EXIST(gcar))
{
}
}
}
else if(zWarInt == 1)
{
Print("You Survived 1st Wave?!");
WAIT(4000);
Print("Rider War 2nd Wave");
SpawnBoss(MODEL_M_M_DODGYDOC, 2377.2712, 171.7271, 5.8128, WEAPON_MOLOTOV);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 2;
if(DOES_VEHICLE_EXIST(gcar))
{
gcarInt = 2;
}
}
}
else if(zWarInt == 2)
{
Print("You Survived 2nd Wave?!");
WAIT(4000);
Print("Rider War 3rd Wave");
SpawnBoss(MODEL_M_M_DODGYDOC, 2459.3518, 178.5920, 5.8128, WEAPON_MOLOTOV);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
SpawnJ(MODEL_M_M_GUNNUT_01, 2461.4373, 212.9711, 14.7839, WEAPON_RLAUNCHER);
zPedInt = 1;
zWarInt = 3;
zPedjInt = 1;
}
}
else if(zWarInt == 3)
{
Print("You Survived 3rd Wave?!");
WAIT(4000);
Print("Rider War 4th Wave");
SpawnBoss(MODEL_M_M_DODGYDOC, 2530.7656, 305.5197, 5.8129, WEAPON_M4);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 4;
}
}
else if(zWarInt == 4)
{
Print("You Survived 4th Wave?!");
WAIT(4000);
Print("Rider War 5th Wave");
SpawnBoss(MODEL_M_M_DODGYDOC, 2613.2136, 364.9480, 5.8149, WEAPON_M4);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 5;
gcarInt = 1;
if(DOES_VEHICLE_EXIST(gcar))
{
}
}
}
else if(zWarInt == 5)
{
Print("You Survived 5th Wave?!");
WAIT(4000);
Print("Rider War 6th Wave");
SpawnBoss(MODEL_M_M_DODGYDOC, 2665.6575, 419.6908, 5.3129, WEAPON_M4);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 6;
if(DOES_VEHICLE_EXIST(gcar))
{
gcarInt = 2;
}
}
}
else if(zWarInt == 6)
{
Print("You Survived 6th Wave?!");
WAIT(4000);
Print("Rider War 7th Wave");
SpawnBoss(MODEL_M_M_DODGYDOC, 2599.4355, 466.9725, 5.3080, WEAPON_MOLOTOV);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
SpawnJ(MODEL_M_M_GUNNUT_01, 2619.1658, 431.1385, 13.7707 , WEAPON_RLAUNCHER);
zPedInt = 1;
zWarInt = 7;
zPedjInt = 1;
}
}
else if(zWarInt == 7)
{
Print("You Survived 7th Wave?!");
WAIT(4000);
Print("Rider War 8th Wave");
SpawnBoss(MODEL_M_M_DODGYDOC, 2540.3982, 507.1162, 5.8129, WEAPON_GRENADE);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 8;
}
}
else if(zWarInt == 8)
{
Print("You Survived 8th Wave?!");
WAIT(4000);
Print("Rider War 9th Wave");
SpawnBoss(MODEL_M_M_DODGYDOC, 2441.4573, 502.9193, 5.8129, WEAPON_MOLOTOV);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 9;
if(DOES_VEHICLE_EXIST(gcar))
{
}
}
}
else if(zWarInt == 9)
{
Print("You Survived 9th Wave?!");
WAIT(4000);
Print("Rider War 10th Wave");
SpawnBoss(MODEL_M_M_DODGYDOC, 2442.0402, 605.9261, 5.8129, WEAPON_M4);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 10;
if(DOES_VEHICLE_EXIST(gcar))
{
gcarInt = 2;
}
}
}
else if(zWarInt == 10)
{
Print("You Survived 10th Wave?!");
WAIT(4000);
Print("Rider War 11th Wave");
SpawnBoss(MODEL_M_M_DODGYDOC, 2349.0083, 640.6221, 5.8130, WEAPON_M4);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
SpawnJ(MODEL_M_M_GUNNUT_01, 2345.3538, 614.1908, 10.5309, WEAPON_RLAUNCHER);
zPedInt = 1;
zWarInt = 11;
zPedjInt = 1;
}
}
else if(zWarInt == 11)
{
Print("You Survived 11th Wave?!");
WAIT(4000);
Print("Rider War 12th Wave");
SpawnBoss(MODEL_M_M_DODGYDOC, 2276.1182, 703.7583, 5.8125, WEAPON_M4);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
zPedInt = 1;
zWarInt = 12;
}
}
else if(zWarInt == 12)
{
Print("You Survived 12th Wave?!");
WAIT(4000);
Print("Rider War Final Wave");
SpawnBoss(MODEL_M_M_DODGYDOC, 2205.1309, 728.2326, 5.8130, WEAPON_M4);
if(DOES_CHAR_EXIST(zped))
{
SpawnGang();
SpawnJ(MODEL_M_M_GUNNUT_01, 2230.9070, 679.9233, 11.4182, WEAPON_RLAUNCHER);
zPedInt = 1;
zWarInt = 13;
zPedjInt = 1;
}
}
else if(zWarInt == 13)
{
Print("You Survived The Final Wave?!");
WAIT(4000);
Print("The Rider War Is Over");
zWarInt = 14;
}
else if(zWarInt == 14)
{
WAIT(4000);
SET_POLICE_IGNORE_PLAYER(GetPlayerIndex(), FALSE);
CANCEL_OVERRIDE_RESTART();
TERMINATE_THIS_SCRIPT();
}
}
}
// Remove Enemy Boss Logic
void RemoveBoss(void)
{
if (DOES_CHAR_EXIST(zped))
{
SET_CHAR_WANTED_BY_POLICE(zped, FALSE);
if(IS_CHAR_DEAD(zped) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zped, bzPed);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zped);
zPedInt = 0;
}
}
}
// Remove Enemy(A) Logic
void RemoveA(void)
{
if(DOES_CHAR_EXIST(zpeda))
{
SET_CHAR_WANTED_BY_POLICE(zpeda, FALSE);
if(IS_CHAR_DEAD(zpeda) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpeda, bzPeda);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpeda);
zPedaInt = 0;
}
}
}
// Remove Enemy(B) Logic
void RemoveB(void)
{
if(DOES_CHAR_EXIST(zpedb))
{
SET_CHAR_WANTED_BY_POLICE(zpedb, FALSE);
if(IS_CHAR_DEAD(zpedb) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedb, bzPedb);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedb);
zPedbInt = 0;
}
}
}
// Remove Enemy(C) Logic
void RemoveC(void)
{
if(DOES_CHAR_EXIST(zpedc))
{
SET_CHAR_WANTED_BY_POLICE(zpedc, FALSE);
if(IS_CHAR_DEAD(zpedc) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedc, bzPedc);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedc);
zPedcInt = 0;
}
}
}
// Remove Enemy(D) Logic
void RemoveD(void)
{
if(DOES_CHAR_EXIST(zpedd))
{
SET_CHAR_WANTED_BY_POLICE(zpedd, FALSE);
if(IS_CHAR_DEAD(zpedd) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedd, bzPedd);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedd);
zPeddInt = 0;
}
}
}
// Remove Enemy(E) Logic
void RemoveE(void)
{
if(DOES_CHAR_EXIST(zpede))
{
SET_CHAR_WANTED_BY_POLICE(zpede, FALSE);
if(IS_CHAR_DEAD(zpede) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpede, bzPede);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpede);
zPedeInt = 0;
}
}
}
// Remove enemy(F) Logic
void RemoveF(void)
{
if(DOES_CHAR_EXIST(zpedf))
{
SET_CHAR_WANTED_BY_POLICE(zpedf, FALSE);
if(IS_CHAR_DEAD(zpedf) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedf, bzPedf);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedf);
zPedfInt = 0;
}
}
}
// Remove Enemy(G) Logic
void RemoveG(void)
{
if(DOES_CHAR_EXIST(zpedg))
{
SET_CHAR_WANTED_BY_POLICE(zpedg, FALSE);
if(IS_CHAR_DEAD(zpedg) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedg, bzPedg);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedg);
zPedgInt = 0;
}
}
}
// Remove Enemy(H) Logic
void RemoveH(void)
{
if(DOES_CHAR_EXIST(zpedh))
{
SET_CHAR_WANTED_BY_POLICE(zpedh, FALSE);
if(IS_CHAR_DEAD(zpedh) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedh, bzPedh);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedh);
zPedhInt = 0;
}
}
}
// Remove Enemy(I) Logic
void RemoveI(void)
{
if(DOES_CHAR_EXIST(zpedi))
{
SET_CHAR_WANTED_BY_POLICE(zpedi, FALSE);
if(IS_CHAR_DEAD(zpedi) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedi, bzPedi);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedi);
zPediInt = 0;
}
}
}
// Remove Enemy(J) Logic
void RemoveJ(void)
{
if(DOES_CHAR_EXIST(zpedj))
{
SET_CHAR_WANTED_BY_POLICE(zpedj, FALSE);
if(IS_CHAR_DEAD(zpedj) || IS_CHAR_DEAD(GetPlayerPed()) || IsKeyPressed(DPAD_UP,TRIANGLE))
{
ClearEnemy(zpedj, bzPedj);
MARK_CHAR_AS_NO_LONGER_NEEDED(&zpedj);
zPedjInt = 0;
}
}
}
// Explode & Remove Enemy Car After Wave
void RemoveCar(void)
{
if(DOES_VEHICLE_EXIST(gcar))
{
if(IS_CAR_DEAD(gcar) || IS_CHAR_DEAD(GetPlayerPed()) || gcarInt == 2 || IsKeyPressed(DPAD_UP,TRIANGLE))
{
EXPLODE_CAR(gcar, 1, 0);
REMOVE_BLIP(bgcar);
MARK_CAR_AS_NO_LONGER_NEEDED(&gcar);
gcarInt = 0;
}
}
}
void QuitGangWar(void)
{
if( IsKeyPressed(DPAD_UP,TRIANGLE) )
{
Print("The Rider War Is Over!");
WAIT(3000);
if(zPedInt == 0 && zPedaInt == 0 && zPedbInt == 0 && zPedcInt == 0 && zPeddInt == 0 && zPedeInt == 0 && zPedfInt == 0 && zPedgInt == 0 && zPedhInt == 0 && zPediInt == 0 && zPedjInt == 0)
SET_POLICE_IGNORE_PLAYER(GetPlayerIndex(), FALSE);
CANCEL_OVERRIDE_RESTART();
TERMINATE_THIS_SCRIPT();
}
}
void main(void)
{
while (TRUE)
{
WAIT(0);
PlayerSettings();
WarpToWar();
TextIntro();
TextReset();
PlayerDeathReset();
WarWave();
RemoveBoss();
RemoveA();
RemoveB();
RemoveC();
RemoveD();
RemoveE();
RemoveF();
RemoveG();
RemoveH();
RemoveI();
RemoveJ();
RemoveCar();
QuitGangWar();
}
}
Editing the download now...
Rider War Video with da L1 Ragdoll fire taken out. Particle effects in it's place.
http://www.youtube.com/watch?v=Lu1cGl9Vu4I&feature=plcp
nice looking dude , well done.
better late than never , i finally updated ped-wars section on 1st page with nativesith wars .
I am honored :D. Thank you fo helping I all along da way.
Thanks to all the others as well(JDMAlex,3 Socks,Ribonucliec...etc).
Coding is kewl :).
Jah RastafarI!
the function SET_CHAR_RELATIONSHIP are the params like so:
char, type, group
char = character pointer
type = respect / hate / ...
group = police / firemen / prostitutes / ...
??????