Jump to content

Rx_Mutator_Sandbox 0.0.9

   (0 reviews)

1 Screenshot

About This File

*  This mutator will let you run your Renegade X server in "Sandbox Mode".
*  For more info i created a link below to the forum : 


New Version:
The way you need to input names is changed.

Version 0.0.9  Compatible with Renegade X v5.285

Everything always starts with pressing F5 and typing : "sandboxspawn ItemName"

DONT USE : "sandboxspawn renx_game."

"Rx_Vehicle_"
Humvee
Buggy
APC_GDI
APC_Nod
LightTank
MediumTank
FlameTank
StealthTank
MammothTank
Chinook_GDI
Chinook_Nod
Orca
Apache
A10
C130*
Hovercraft_GDI
Bus*

"TS_Vehicle:"
Wolverine
HoverMRLS
Titan
Buggy
ReconBike
TickTank
APB_Vehicle_TeslaTank

"Rx_Weapon_Deployed:"
ProxyC4
RemoteC4
TimedC4
ATMine
IonCannonBeacon
NukeBeacon

"Rx_Weapon:"
Rx_Weapon_CrateNuke (faster NukeBeacon)

"Rx_Defence:"
GunEmplacement (not mannable)
RocketEmplacement (not mannable)
Turret (Nod aligned)
SAM Site (Nod aligned)
GuardTower (GDI aligned)
AATower (GDI aligned)

Prefix : "Rx_Projectile:"
Grenade
MissileLauncher
SmokeGrenade
EMPGrenade
Rocket_AGT

* Disabled by default because of crash when spawn.
 


New Version:
Use mutator=Rx_Mutator_Sandbox_v007.Rx_Mutator_Sandbox_v007
Instead of game=Rx_Mutator_Sandbox_v007.Rx_Mutator_Sandbox_v007

Version 0.0.7  Compatible with Renegade X v5.282

Mutator :

Rx_Mutator_Sandbox_v007.u (Download)

Source :

Spoiler

 

Rx_Mutator_Sandbox_v007.uc (Download)

Spoiler


 /******************************************************************************
*  Modified by Ukill, this can contain parts of code written by Jessica\Yosh  *
*      This mutator will add the Sandbox function to the Renegade X game      *
*******************************************************************************
* Rx_Mutator_Sandbox_v007                                                     *
******************************************************************************/

class Rx_Mutator_Sandbox_v007 extends UTMutator;

function bool CheckReplacement(Actor Other) 
{ // if (Rx_Game(WorldInfo.Game) != None)
	if(Other.IsA('Rx_TeamInfo')) { Rx_Game(WorldInfo.Game).PlayerControllerClass = class'Rx_Mutator_Sandbox_v007_Controller'; } return true; 
} 

DefaultProperties
{

}
 

 

Rx_Mutator_Sandbox_Controller_v007.uc (Download)

Spoiler


/******************************************************************************
*  Modified by Ukill, this can contain parts of code written by Jessica\Yosh  *
*      This mutator will add the Sandbox function to the Renegade X game      *
*******************************************************************************
* Rx_Mutator_Sandbox_v007_Controller                                          *
******************************************************************************/

class Rx_Mutator_Sandbox_v007_Controller extends Rx_Controller;
/* config(RxSandbox); var config int ActorSpawnLimit; */

var array<Actor> SpawnedActors;

var bool bSandboxMode;
var bool bSpawnMode;

var int bHelpedTier;
var int bSpawnTier;

var string bClassName;

// Functions to toggle SandboxMode
exec function SandboxModeCheck() 
{ 	
	if (bSandboxMode) 
	{ 
		ClientMessage("SandboxMode activated",,1); 
	} 
	else 
	{ 
		ClientMessage("SandboxMode deactivated",,1); 
	}
}

exec function SandboxModeStart() { bSandboxMode = true; SandboxModeCheck();}
exec function SandboxModeStop() { bSandboxMode = false; SandboxModeCheck();}
exec function SandboxModeToggle() { if (bSandboxMode) { SandboxModeStop(); } else { SandboxModeStart(); } }

// Functions to toggle SpawnMode
exec function SpawnModeCheck() { if (bSpawnMode) { ClientMessage("SpawnMode activated",,1); } else { ClientMessage("SpawnMode deactivated",,1); } }
exec function SpawnModeStart() { bSpawnMode = true; SpawnModeCheck();}
exec function SpawnModeStop() { bSpawnMode = false; SpawnModeCheck();}
exec function SpawnModeToggle() { if (bSpawnMode) { SpawnModeStop(); } else { SpawnModeStart(); } }

// Functions to destroy all items spawned in Sandbox
exec function SandboxKillOwned(optional string ClassName) { ServerSandboxKillOwned(ClassName); ClientMessage("Removed all spawns"); } 
reliable server function ServerSandboxKillOwned(optional string ClassName) { local Actor A; foreach SpawnedActors(A) { if(ClassName == "") A.Destroy(); else if(A.IsA(name(ClassName))) A.Destroy(); } }

// SetTimer (float InRate, optional bool inbLoop, optional name inTimerFunc, optional Object inObj)
// InRate - the amount of time to pass between firing
// inbLoop - whether to keep firing or only fire once
// inTimerFunc - the name of the function to call when the timer fires
// reliable client event ClientMessage (coerce string S, optional name Type, optional float MsgLifeTime)

exec function SandboxSpawn( string ClassName ) 
{ 
	if (bSandboxMode == false) { bSpawnTier=8; };
	if (bSpawnMode == false) { bSpawnTier=9; };
	
	switch (bSpawnTier)
	{
		case 0:
			bClassName = ClassName;
			SpawnModeStop();
			ServerSandboxSpawn(bClassName);
			settimer(10,false,'SpawnModeStart');
			break;
		
		case 8:
			ClientMessage("Game is not currently in Sandbox mode. Please activate it with the voting system",,1);
			break;
		
		case 9:
			ClientMessage("SpawnMode deactivated - You need to wait 10 seconds between spawning",,1);
			break;
				
	}
	
	bSpawnTier = bSpawnTier + 1;
	if(bSpawnTier <= 2) settimer(2,false,'SandboxSpawn');
	else bSpawnTier = 0;
}
	
/*	
exec function SandboxSpawn( string ClassName ) 
{ 
	if (bSandboxMode == false)
	{ 
	ClientMessage("Game is not currently in Sandbox mode. Please activate it with the voting system",,2);
	} 
	else if (bSpawnMode == false) 
	{
	ClientMessage("SpawnMode deactivated - You need to wait 10 seconds between spawning",,2);
	}		
	else 
	{ 
	bClassName = ClassName;
	ServerSandboxSpawn(bClassName);
	SpawnModeToggle();
	SetTimer(10.0, false, 'SpawnModeToggle');
	}
}
*/

reliable server function ServerSandboxSpawn (string ClassName)
{
	local class<actor> NewClass;
	local vector SpawnLoc;
	local Actor A;
	local bool bBeaconExist;
	local int i;
	NewClass = class<actor>( DynamicLoadObject( ClassName, class'Class' ) );
	if( NewClass!=None )
	{
		if(NewClass == class'Renx_Game.Rx_weapon_DeployedBeacon') 
		{
			for(i = 0;i < SpawnedActors.Length;i++)
			{
				if(SpawnedActors[i].IsA('Rx_Weapon_DeployedBeacon'))
				bBeaconExist = true;
			}
			if(bBeaconExist)
			{
				ClientMessage("Spawning Beacon Failed! You already have a beacon spawned");
				return;
			}
			
		}

		if ( Pawn != None )
			SpawnLoc = Pawn.Location;

		else
		SpawnLoc = Location;
		A = Spawn( NewClass,self,,SpawnLoc + 72 * Vector(Rotation) + vect(0,0,1) * 15 );
		SpawnedActors.additem(A);

		if(A.IsA('Rx_Weapon_DeployedActor'))
		{
			Rx_Weapon_DeployedActor(A).InstigatorController = self;
			Rx_Weapon_DeployedActor(A).TeamNum = GetTeamNum();	
		}

		else if(A.IsA('UTVehicle'))
		{
			UTVehicle(A).SetTeamNum(GetTeamNum());
		}
	}
}

exec function Feign() { UTPawn(Pawn).FeignDeath(); }
exec function Gimme(string Weapon) { ServerGimme(Weapon); }
reliable server function Weapon ServerGimme( String WeaponClassStr ) {
	local Weapon		Weap; local class<Weapon> WeaponClass;
	WeaponClass = class<Weapon>(DynamicLoadObject(WeaponClassStr, class'Class'));
	Weap		= Weapon(Pawn.FindInventoryType(WeaponClass));
	if( Weap != None ) { return Weap; }
	return Weapon(Pawn.CreateInventory( WeaponClass ));
}

exec function SandboxHelp() {  if(bHelpedTier == 0) {  HelpUpSandbox(); } }
simulated function HelpUpSandbox()
{
	switch (bHelpedTier)
	{
		case 0:
		ClientMessage("The Sandbox command occurs if you open the console, and type 'SandboxSpawn' or 'Gimme' and input the class of the object");
		ClientMessage("Gimme will give you weapons. SandboxSpawn summons an object of your choice");
		ClientMessage("Before you do so, however, please turn on sandbox mode with vote system");
		break;

		case 1:
		ClientMessage("Normal Vehicle is spawned by following SandboxSpawn with 'Renx_Game.Rx_Vehicle_' and type the vehicle name");
		ClientMessage("List : Humvee, Buggy, APC_GDI. APC_Nod, MediumTank, LightTank, FlameTank, StealthTank, MammothTank, MRLS, Artillery");
		ClientMessage("List : Chinook_GDI, Chinook_Nod, Orca, Apache, Hovercraft_GDI, A10, C130");
		break;

		case 2:
		ClientMessage("TibSun Vehicle is spawned by following SandboxSpawn with 'Renx_Game.TS_Vehicle_' and type the vehicle name with no space");
		ClientMessage("List : HoverMRLS, Buggy, Wolverine, Titan, ReconBike, TickTank");
		break;

		case 3:
		ClientMessage("Tesla tank is spawned by following SandboxSpawn with 'Renx_Game.APB_Vehicle_TeslaTank'");
		break;

		case 4:
		ClientMessage("Weapon is given by following 'Gimme' with 'Renx_Game.Rx_Weapon_' and type the weapon name");
		ClientMessage("Example : RepairGunAdvanced, LaserGun, RamjetRifle, SniperRifle_GDI, AutoRifle_GDI, VoltAutoRifle_Nod, MarksmanRifle_Nod");
		break;

		case 5:
		ClientMessage("Beacon, C4 and other deployables can be placed by typing 'Renx_Game.Rx_Weapon_Deployable_' with the following");
		ClientMessage("List : ProxyC4, TimedC4, NukeBeacon, IonCannonBeacon");
		ClientMessage("Frag Grenades can also be spawned by typing 'Renx_Game.Rx_Projectile_Grenade'. Other types are available as well");
		break;

		case 6:
		ClientMessage("Example : To spawn A10, type 'sandboxspawn Renx_Game.Rx_vehicle_A10");
		break;

		case 7:
		ClientMessage("More info can be obtained from other player or Handepsilon himself. Thank you for using Sandbox Mod");
		break;
	}
	
	bHelpedTier = bHelpedTier + 1;
	if(bHelpedTier <= 7)
	settimer(5,false,'HelpUpSandbox');
	else
	bHelpedTier = 0;
}

DefaultProperties
{
	//defaults
	bSandboxMode=true
	bSpawnMode=true
	bSpawnTier=0
	
	
}
 

 

 

 

Info :

I've changed this gametype to a mutator, and increased the delay betweens spawns.

 


SANDBOX SPAWN SECTION


Everything always starts with pressing F5 and typing : "sandboxspawn renx_game."

Prefix : "Rx_Vehicle_"
Humvee
Buggy
APC_GDI
APC_Nod
LightTank
MediumTank
FlameTank
StealthTank
MammothTank
Chinook_GDI
Chinook_Nod
Orca
Apache
A10
C130
Hovercraft_GDI
Bus

Prefix : "TS_Vehicle_"
Wolverine
HoverMRLS
Titan
Buggy
ReconBike
TickTank
APB_Vehicle_TeslaTank

 

Prefix : "Rx_Weapon_Deployed"
ProxyC4
RemoteC4
TimedC4
ATMine
IonCannonBeacon
NukeBeacon

Prefix : "(not following Prefix)"
Rx_Weapon_CrateNuke (faster NukeBeacon)

Prefix : "Rx_Defence_"
GunEmplacement (not mannable)
RocketEmplacement (not mannable)
Turret (Nod aligned)
SAM Site (Nod aligned)
GuardTower (GDI aligned)
AATower (GDI aligned)

Prefix : "Rx_Projectile_"
Grenade
MissileLauncher
SmokeGrenade
EMPGrenade
Rocket_AGT


EXAMPLES :
sandboxspawn renx_game.Rx_Vehicle_Apache
sandboxspawn renx_game.TS_Vehicle_HoverMRLS
sandboxspawn renx_game.Rx_Weapon_DeployedNukeBeacon
sandboxspawn renx_game.Tx_Weapon_CrateNuke
sandboxspawn renx_game.Rx_Projectile_Grenade

 


WEAPON ACQUIRING SECTION


Everything always starts with pressing F5 and typing : "gimme renx_game."

Prefix : "Rx_Weapon_"
AutoRifle_GDI
AutoRifle_Nod
Airstrike_GDI
Airstrike_Nod
ATMine
Carbine
Carbine_Silencer
Chaingun_GDI
Chaingun_Nod
ChemicalThrower
EMPGrenade_Rechargeable
FlakCannon
FlameThrower
Grenade
GrenadeLauncher
Grenade_Rechargeable
HeavyPistol
IonCannonBeacon
LaserChaingun
LaserRifle
NukeBeacon
MarksmanRifle_GDI
MarksmanRifle_Nod


Pistol
ProxyC4
Railgun
RamjetRifle
RemoteC4
RepairGun
RepairGunAdvanced
RepairTool
PersonalIonCannon
SMG_GDI
SMG_Nod
SMG_Silenced_GDI
SMG_Silenced_Nod
SmokeGrenade_Rechargeable
SniperRifle_GDI
SniperRifle_Nod
TacticalRifle
TiberiumAutoRifle
TiberiumFlechetteRifle
TimedC4
TimedC4_Multiple
VoltAutoRifle_GDI
VoltAutoRifle_Nod


EXAMPLES :
gimme renx_game.Rx_Weapon_Railgun
gimme renx_game.Rx_RamjetRifle
gimme renx_game.Rx_IonCannonBeacon
 


Version 0.0.3

Compatible with Renegade X v5.281

Gametype :

Rx_Gametype_Sandbox_v003.u (Download)

Source :

Spoiler

Rx_Gametype_Sandbox_v003.uc (Download)

Rx_Gametype_Sandbox_Controller_v003.uc (Download)

Info :


Version 0.0.2

Not compatible with Renegade X v5.271 

Gametype :

Rx_Gametype_Sandbox_v002.u (Download)

Source :

Spoiler

Rx_Gametype_Sandbox_v002.uc (Download)

Rx_Gametype_Sandbox_v002_Building_AdvancedGuardTower_Internals.uc (Download)

Rx_Gametype_Sandbox_v002_Building_AirStrip_Internals.uc (Download)

Rx_Gametype_Sandbox_v002_Building_AirTower_Internals.uc (Download)

Rx_Gametype_Sandbox_v002_Building_Barracks_Internals.uc (Download)

Rx_Gametype_Sandbox_v002_Building_HandOfNod_Internals.uc (Download)

Rx_Gametype_Sandbox_v002_Building_Obelisk_Internals.uc (Download)

Rx_Gametype_Sandbox_v002_Building_PowerPlant_GDI_Internals.uc (Download)

Rx_Gametype_Sandbox_v002_Building_PowerPlant_Nod_Internals.uc (Download)

Rx_Gametype_Sandbox_v002_Building_Refinery_GDI_Internals.uc (Download)

Rx_Gametype_Sandbox_v002_Building_Refinery_Nod_Internals.uc (Download)

Rx_Gametype_Sandbox_v002_Building_WeaponsFactory_Internals.uc (Download)

Rx_Gametype_Sandbox_v002_Controller.uc (Download)

Rx_Gametype_Sandbox_v002_IndestructibleStructures.uc (Download)

Rx_Gametype_Sandbox_v002_Weapon_AdminGun.uc (Download)

Info :


 

Version 0.0.1

Not compatible with Renegade X v5.271 

Gametype :

Rx_Gametype_Sandbox_v001.u (Download)

Source :

Spoiler

Rx_Building_HandOfNod_Internals_Sandbox.uc (Download)

Rx_Building_Obelisk_Internals_Sandbox.uc (Download)

Rx_Building_PowerPlant_GDI_Internals_Sandbox.uc (Download)

Rx_Building_PowerPlant_Nod_Internals_Sandbox.uc (Download)

Rx_Building_Refinery_GDI_Internals_Sandbox.uc (Download)

Rx_Building_Refinery_Nod_Internals_Sandbox.uc (Download)

Rx_Building_WeaponsFactory_Internals_Sandbox.uc (Download)

Rx_Controller_Sandbox.uc (Download)

Rx_Mutator_IndestructibleStructures.uc (Download)

Rx_Sandbox.uc (Download)

Rx_Weapon_AdminGun.uc (Download)

Rx_Building_AdvancedGuardTower_Internals_Sandbox.uc (Download)

Rx_Building_AirStrip_Internals_Sandbox.uc (Download)

Rx_Building_AirTower_Internals_Sandbox.uc (Download)

Rx_Building_Barracks_Internals_Sandbox.uc (Download)

Info :

 

EstusProfileAvatar2.jpg.253319a1a282eecd    Follow member
Handepsilon  Message
Moderators

 


What's New in Version 0.0.9   See changelog

Released

Update:

- Code Cleanup
- Add Itemlist  ( simplify userinput for spawns )
- Add InputCheck  ( does check if the userinput is available for the user)
- Add SpawnWaitTime  ( Set a delay for the user between spawns )
- Add spawncheck  ( does check if the user is permitted to spawn again, checks SpawnWaitTime )

 

 

 

Rx_Mutator_Sandbox_v007.u

Rx_Mutator_Sandbox_v007.uc

Rx_Mutator_Sandbox_v007_Controller.uc

  • Like 2

User Feedback

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
×
×
  • Create New...