Ukill Posted January 5, 2017 Share Posted January 5, 2017 (edited) View File Rx_Mutator_Sandbox * 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 BusPrefix : "TS_Vehicle_" Wolverine HoverMRLS Titan Buggy ReconBike TickTank APB_Vehicle_TeslaTank Prefix : "Rx_Weapon_Deployed" ProxyC4 RemoteC4 TimedC4 ATMine IonCannonBeacon NukeBeaconPrefix : "(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 : Follow memberHandepsilon MessageModerators Submitter Ukill Submitted 01/05/2017 Category Modifications Edited January 7, 2017 by ukilleddanny Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.