Page 1 of 12

Racing maps (LDGObjects)

Posted: Mon 25 Jul , 2011 3:58 pm
by iZumo
Allright, I started making a cleanup in Racing maps to remove dependencies on old packages (the maps are marked with [REV] suffix, plus some new maps). The system is suited for easy maintainbility on the server so it's a little more complex when playing offline. Download these archives and extract them into system directory:

Nitro Vehicles 8 Patch 13
UTComp R01
LDG Gametype 8
LDG Objects
Unreal Extension

Then in UT2004 System folder create LDGObjects.ini and put in it:

Code: Select all

[LDGObjects.VehicleTags]
VTags=(TypeTag="TWB",TypeClass="NV8_Patch13.NitroTWB")
VTags=(TypeTag="LVR",TypeClass="NV8_Patch13.NitroLVR")
VTags=(TypeTag="RV",TypeClass="NV8_Patch13.NitroRV")
VTags=(TypeTag="HYBRID",TypeClass="NV8_Patch13.NitroHybridBender")
VTags=(TypeTag="RV_GUNLESS",TypeClass="NV8_Patch13.NitroRVGunless")
VTags=(TypeTag="RV_GUNLESS_B",TypeClass="NV8_Patch13.NitroRVGunlessB")
VTags=(TypeTag="RV_MINIGUN",TypeClass="NV8_Patch13.NitroRVMinigun")
VTags=(TypeTag="RV_SHOCK_NOCAMP",TypeClass="NV8_Patch13.NitroRVShockNoCamp")
VTags=(TypeTag="RV_PLASMA",TypeClass="NV8_Patch13.NitroRVPlasma")
VTags=(TypeTag="RV_PLASMA_RS",TypeClass="NV8_Patch13.NitroRVPlasmaRS")
VTags=(TypeTag="RV_ENERGY",TypeClass="NV8_Patch13.NitroRVEnergy")
VTags=(TypeTag="RV_ENERGY_RS",TypeClass="NV8_Patch13.NitroRVEnergyRS")
VTags=(TypeTag="RV_EMP",TypeClass="NV8_Patch13.NitroRVEMP")
VTags=(TypeTag="SPMA",TypeClass="NV8_Patch13.NitroSPMA")
VTags=(TypeTag="SPMA_GUNLESS",TypeClass="NV8_Patch13.NitroSPMAGunless")
VTags=(TypeTag="GENERIC_SD",TypeClass="NV8_Patch13.NitroGenericSD")
VTags=(TypeTag="GENERIC_XD",TypeClass="NV8_Patch13.NitroGenericXD")
VTags=(TypeTag="RAPTOR",TypeClass="NV8_Patch13.NitroRaptor")
VTags=(TypeTag="RAPTOR_PRISON",TypeClass="NV8_Patch13.NitroRaptorPrison")
VTags=(TypeTag="CICADA",TypeClass="NV8_Patch13.NitroCicada")
VTags=(TypeTag="CICADA_PRISON",TypeClass="NV8_Patch13.NitroCicadaPrison")
VTags=(TypeTag="WHEELED",TypeClass="NV8_Patch13.NitroWheeledVehicle")
VTags=(TypeTag="CHOPPER",TypeClass="NV8_Patch13.NitroChopperVehicle")
And NitroVehicles.ini and fill it with

Code: Select all

[NV8_Patch13.NitroVehiclesMut]
VehicleReplacementConfig=(OldClassName="Onslaught.ONSWheeledCraft",NewClassName="NV8_Patch13.NitroWheeledVehicle")
VehicleReplacementConfig=(OldClassName="Onslaught.ONSChopperCraft",NewClassName="NV8_Patch13.NitroChopperVehicle")
VehicleReplacementConfig=(OldClassName="Onslaught.ONSPRV",NewClassName="NV8_Patch13.NitroTWB")
VehicleReplacementConfig=(OldClassName="TeamworkBender4.TeamworkBender",NewClassName="NV8_Patch13.NitroTWB")
VehicleReplacementConfig=(OldClassName="Onslaught.ONSRV",NewClassName="NV8_Patch13.NitroRV")
VehicleReplacementConfig=(OldClassName="ScorpionType2.ScorpionType2",NewClassName="NV8_Patch13.NitroRVMinigun")
VehicleReplacementConfig=(OldClassName="ScorpionType4.ScorpionT4Plasma",NewClassName="NV8_Patch13.NitroRVPlasma")
VehicleReplacementConfig=(OldClassName="OnslaughtBP.ONSArtillery",NewClassName="NV8_Patch13.NitroSPMA")
VehicleReplacementConfig=(OldClassName="OnslaughtFull.ONSGenericSD",NewClassName="NV8_Patch13.NitroGenericSD")
VehicleReplacementConfig=(OldClassName="Onslaught.ONSAttackCraft",NewClassName="NV8_Patch13.NitroRaptor")
VehicleReplacementConfig=(OldClassName="OnslaughtBP.ONSDualAttackCraft",NewClassName="NV8_Patch13.NitroCicada")
VehicleReplacementConfig=(OldClassName="VenomBL2.Venom",NewClassName="NV8_Patch13.NitroVenom")
MyLevelVehicleReplacementConfig=(OldClassName="myLevel.myScorpion",NewClassName="NV8_Patch13.NitroRVGunless")
MyLevelVehicleReplacementConfig=(OldClassName="myLevel.myScorpion3",NewClassName="NV8_Patch13.NitroRVGunless")
MyLevelVehicleReplacementConfig=(OldClassName="myLevel.myScorpion2",NewClassName="NV8_Patch13.NitroRVMinigun")
MyLevelVehicleReplacementConfig=(OldClassName="myLevel.ONSLVR",NewClassName="NV8_Patch13.NitroLVR")
MyLevelVehicleReplacementConfig=(OldClassName="myLevel.ONSPrisonAttackCraft",NewClassName="NV8_Patch13.NitroRaptorPrison")
MyLevelVehicleReplacementConfig=(OldClassName="myLevel.ONSPrisonDualCraft",NewClassName="NV8_Patch13.NitroCicadaPrison")
In order to prevent redundant map dependencies, objective classes LDGRaceProxObjective, LDGRaceProxObjective, and vehicle factory class ASTaggedVehicleFactory have a property called "VehicleTypeTag". Objectives use it for ConstraintPawnClass and Factory uses it for VehicleClass. VehicleTypeTag will only override those if it is valid (the tag is in the list). The tags are:

Code: Select all

TWB -> Teamwork Bender
LVR -> Teamwork Leveler
HYBRID -> HybridBender
RV -> Scorpion
RV_GUNLESS -> Unarmed Scorpion
RV_GUNLESS_B -> Unarmed Scorpion (Quantum scorpion skin)
RV_MINIGUN -> Minigun Scroption
RV_SHOCK_NOCAMP-> AntiCamp Shock Scorpion
RV_PLASMA -> Plasma Scorpion
RV_PLASMA_RS -> Plasma Scorpion (with shield and repair)
RV_ENERGY -> Quantum Scorpion
RV_ENERGY_RS -> Quantum Scorpion (with shield and repair)
RV_EMP -> EMP Scorpion
SPMA -> SPMA
SPMA_GUNLESS -> Unarmed SPMA
GENERIC_SD -> Toilet
GENERIC_XD -> Boing Toliet
RAPTOR -> Raptor
RAPTOR_PRISON -> Prison Raptor (can't leave)
CICADA -> Cicada
CICADA_PRISON -> Prison Cicada (can't leave)
WHEELED -> objectives only, when objective can only be completed by wheeled craft
CHOPPER -> objectives only, when objective can only be completed by chopper craft
Note: You don't have to use tags when using vehicles from Onslaught.u, OnslaughtFull.u and OnslaughtBP.u packages and just fill the VehicleClass / ConstraitPawnClass with them. Nitro Vehicles Mutator will then override them on their own. You can also use normal ASVehicleFactory for such case.

Code: Select all

---------------------
-LDGObjects contents-
---------------------
ASTaggedVehicleFactory:
- vehicle factory, described above

LDGRaceProxObjective:
- race proximity objective, in properties under LDG: bAllowRespawnToBase -> whether to allow respawning to base, bRenderObjective -> whether display arrow / render objective on screen (false in C&C)

LDGRaceDestroyableObjective_SM:
- destroyable objective, in properties under LDG: bAllowRespawnToBase -> whether to allow respawning to base, bRenderObjective -> whether display arrow / render objective on screen, ResistantTo -> damage types that the object ignores, MinDamage -> damage that must be dealt in one shot to claim the objective

LDGTriggeredObjective:
- triggered objective, in properties under LDG: bAllowRespawnToBase -> whether to allow respawning to base, bRenderObjective -> whether display arrow / render objective on screen (false in C&C)

AS_OverrideTimeLimit:
- overrides time limit of the round (just place in map, works in RACE as well)

LDGNoRandomTeams:
- overrides settings of first attacking team (just place in map)

RACE_CheckPoint:
- in race, a checkpoint. In props:
EnabledOnObjectiveTag will enable the checkpoint when the objective of given Tag becomes active.
DisableOnObjectiveTag disables the checkpoint when the objective of the given Tag is completed.
Position is the number of the checkpoint in the sequence - first CP should be 0.
ResetActor is an actor used to place and rotate vehicles and players which are reset to this checkpoint - use the Find ability in UnrealEd to select an actor, preferably a RACE_RestartSpot for convenience.
ActiveState has 3 settings - Reject (resets all actors touching), Check (checks for position and resets actors which are out of checkpoint sequence) and Disabled (does nothing). Initial state should be Check for the path to the first objective and Reject for all else.
The player's checkpoint progression will be reset whenever a checkpoint's ActiveState changes as a result of the Enable/DisableObjectiveTags. Be aware of this when making paths. Objectives which use the same path sequence may benefit from using a shared path system for both branches or not using checkpoints at all if the map is already safe.

RACE_ExtendTimeLimit:
- in race, it will extend time limit when triggered

RACE_PreFinishVolume:
- when touched by a player, will trigger the ability to end the map using simple voting

RACE_RestartSpot
- convenience actor for marking restart spots for checkpoints

KarmaTopSpeedLimitVolume:
- limits top speed of the vehicles inside the volume

Re: Racing maps (LDGObjects)

Posted: Thu 28 Jul , 2011 12:25 pm
by iZumo
Updated with NV8_Patch6.u.

Re: Racing maps (LDGObjects)

Posted: Mon 08 Aug , 2011 7:41 pm
by Takeo
I guess the NV8_Patch6 has to be replaced by NV8_Patch7 everywhere now ;)

Re: Racing maps (LDGObjects)

Posted: Wed 10 Aug , 2011 11:31 am
by iZumo
You can, but it is not necessary.

Re: Racing maps (LDGObjects)

Posted: Sat 17 Sep , 2011 10:50 am
by iZumo
Updated with Patch 9.

Re: Racing maps (LDGObjects)

Posted: Thu 24 Nov , 2011 12:35 am
by smalltown
Can you guys explain to me how to put the vehicle tags above and where exactly to put it?
I have some problems only on recent race maps where the vehicles do not respawn!
Like for example;the "stadiumrace-quantum version[I2][rev]",there is neither the cars nor the plane also!
Help me plz!

Re: Racing maps (LDGObjects)

Posted: Thu 05 Jul , 2012 11:06 pm
by iRobot
Probably better for the community if you just put that enthusiasm into making actual maps, rather than sandbox maps, but anything is of course welcome :)

Re: Racing maps (LDGObjects)

Posted: Mon 27 Aug , 2012 4:25 pm
by Azarael
Feature request: Factory which allows modification of spawned vehicle class and/or vehicle HP according to playercount.

Re: Racing maps (LDGObjects)

Posted: Mon 27 Aug , 2012 4:29 pm
by iRobot
And gradually rises to prevent obj bottlenecks.

Re: Racing maps (LDGObjects)

Posted: Mon 27 Aug , 2012 4:57 pm
by Azarael
Don't get what you meant there, was looking for this as solution to Venom map issues, by having Raptors spawn at low playercounts, followed by scaled HP Venoms.