Once I get that upgrade to 36-hour days, I will tackle that. – Mychaeel

Difference between revisions of "User:Crusha/UltimateMappingTools"

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
(Added description for EventLogicGates)
m
Line 438: Line 438:
  
 
The output Event that will be triggered.
 
The output Event that will be triggered.
 +
 +
[[Category:Mapping tools]]

Revision as of 05:17, 18 May 2010

Introduction

About this site

This site is dedicated to my upcoming toolset for Unreal Tournament 2004, formerly known as UltimateONSTools. It serves as a documentation to the toolset and will explain the effects of each variable in each actors. A separate page gives some examples of how the contents of this set can be put to use.

Please do not apply any changes on this site, I will maintain it on my own. Use the discussion page for feedback.

Motivation

First I just wanted to create a VehicleFactory for ONS that allows the mapper to configure more than he can with the default one. It worked fine, but then I wanted to have even more control as a mapper about the gameflow by considering which PowerNodes in ONS are captured by a team and which are not. The idea itself grew when I saw UT3's Kismet and decided to create something for all UT2004-mappers that gives them somewhat similar influence about gameflow. In the end I came to a point where I wanted to gather everything that a mapper could ever wish to use in map in this set - one single .u-file that every mapper should add to his EditPackages list and be happy. :)


There would be no use in recreating something that has been done by other coders already. And because we are one big community, I asked other coders if I could use some of their work here, especially such things that exist not in their own .u-file. They were very friendly, especially Wormbo. Half of the things in this pack come from him! The actors from other coders have been renamed for this toolset to avoid conflicts with the originals.


Note: In my actors can "red" and "blue" be considered static on the map, that means the mapper only has to think in a way like he would map for gametypes where the teams won't switch sides after reset. If the sides are swapped in ONS, then my actors will handle this automatically and work properly for the other team on that side of the map.


The Tools

UltimateONSFactory

Template:User Object >> Actor >> SVehicleFactory >> ONSVehicleFactory >> UltimateONSFactory (custom)

Contents

An ONS-mapper's jack of all trades device. This allows the mapper to tweak the vehicle balance of the match right down to the last detail. Allows to specify an individual vehicle list for both teams from which the next vehicle can be chosen randomly. Each individual vehicle entry in a list can be further modified, also with the ability to track the vehicle on the RadarMap.


Property group 'Events'

Tag

Type: name

Triggering the factory will enable it, i.e. set bEnabled to True.

UnTriggering it will disable it, i.e. setting it to False.

Event

Type: name

The default event is triggered whenever a vehicle is spawned by this factory.

PreSpawnEvent

Type: name

This is triggered before the vehicle spawns, when the SpawnBuildEffect is played. (see PreSpawnTime)

VehicleDestroyedEvent

Type: name

Triggered whenever a vehicle that was spawned by this factory gets destroyed.


Property group 'ONSVehicleFactory'

BlueTeamRotation

Type: int

If bReverseBlueTeamDirection, the vehicle will not turn by 180° for the blue team, but by this value. Negative values will rotate in the opposite direction.

8192 = 45°; 16384 = 90°; 32768 = 180°; etc..


Property group 'UltimateVehicleFactory'

bUseStaticTeams

Type: bool

The factory will not belong to the team that controls the closest team, but to the predefined team. If the other team holds the node, then this factory won't spawn any vehicles for that team.

StaticTeamNum

Type: byte

The factory will only work for this team.

0= red, 1= blue, 255= neutral/none

bIndependentFactory

Type: bool

The closest PowerNode or Core has no influence on this factory's activity or teamnumber. It will spawn the vehicles right away, even if the closest Node is disabled. The teamnumber of the vehicle will be the StaticTeamNum. Neutral vehicles are possible too.

This property overrides bUseStaticTeams.

bRandomFlip

Type: bool

If the spawned vehicle is neutral (because of bIndependentFactory), then there is a 50:50 chance that the spawned vehicle uses the BlueTeamRotation.

NotLockedForTeam

Type: byte

The spawned vehicle is ALWAYS locked for the team that is NOT entered here. This is mainly a hack for AS_MinigunTurrets, use this with them to keep them closed.

255 is normal ONS, 0 will always lock this for Blue, 1 always for Red

Default value: 255

bEnabled

Type: bool

Whether the factory is enabled at the beginning or not.

bToggleTrigger

Type: bool

Instead of the Trigger/UnTrigger-functionality will this only react to TriggerEvents, which will toggle the factory between enabled and disabled.

bUniqueVehicle

Type: bool

The factory spawns only a limited number of vehicles, then it stops working for the rest of the round. The number of vehicles that can be spawned can be set via MaxVehicleCount.

PreSpawnTime

Type: float

How many seconds before the vehicle spawn the SpawnBuildEffect and PreSpawnEvent is triggered.

Default value: 2.0

bCrushable

Type: bool

Allows spawning over colliding actors. Means any player that is in the collision radius of the vehicle when the RespawnTime is over will be crushed.

RetrySpawnTime

Type: float

If not bCrushable and the spawn location is blocked, then try to spawn again after this many seconds.

Default value: 1.0

LinksetupException

Type: array<String>

Enter the name of a Linksetup to disable this factory when that Linksetup is active. Leave this array empty to enable the factory for all Linksetups.

VehicleListRed

Type: array<SpawnedVehicleProperties>

List of vehicles that are available for spawn if the red team has the factory or it's a neutral independent factory.

VehicleListBlue

Type: array<SpawnedVehicleProperties>

List of vehicles that are available for spawn if the blue team has the factory.


Struct 'SpawnedVehicleProperties'

Vehicle

Type: class<Vehicle>

The class of the vehicle to spawn.

SpawnEffectSize

Type: enum<ESpawnSize>

Size of the SpawnEffect to use with this vehicle.

Health

Type: int

Health value that the spawned vehicle should have. 0 uses the vehicle's default health.

GroundSpeed

Type: float

The maximum ground speed. 0 = default

WaterSpeed

Type: float

The maximum water speed. 0 = default

AirSpeed

Type: float

The maximum flying speed. 0 = default

AccelRate

Type: float

Max acceleration rate. 0 = default

bEjectDriver

Type: bool

Eject the driver when the vehicle gets destroyed instead of killing him.

bSpawnProtected

Type: bool

Vehicle can't be damaged before it has been possessed.

bEnterringDoesNotUnlock

Type: bool

Vehicle is not unlocked to enemies when a player enters it.

bTrackVehicleOnRadar

Type: bool

The vehicle's location will be shown in realtime on the RadarMap.

RadarVisibleToTeam

Type: byte

The vehicle will be shown on the Radar to 255= both teams; 0= own team; 1= enemy team

RadarVisibleToHijack

Type: byte

When being hijacked, vehicle will be shown on the Radar to 255= both teams; 0= old owner team; 1= hijacker team

RadarOwnerUpdateTime

Type: float

How many seconds have to pass before the location of vehicle is updated for the owning team.

RadarEnemyUpdateTime

Type: float

Same as above, just for enemies.

RadarTexture

Type: Material

This image will represent the vehicle on the Radar.

RadarTextureScale

Type: float

The image will be scaled by this factor.


EventLogicGate

Template:User Object >> Actor >> Triggers >> EventLogicGate (custom)

The abstract base class of all logic gates. All subclasses have collision turned off and another texture than usual Triggers to distinguish them. LogicGates work the same way like their real life pendants: A TriggerEvent is considered "True", an UnTriggerEvent a "False". The output depends on the gate as described in the following actors.


LogicalNOT

Template:User Object >> Actor >> Triggers >> EventLogicGate >> LogicalNOT (custom)

Toggles the boolean value of an incoming Event and forwards it. If the Event was an Untrigger-Event, then it will become a Trigger-Event and the other way around.

Property group 'Events'

Tag

Type: name

Triggering the Event with this name will UnTrigger the Event specified below. UnTriggering the Event will Trigger the output Event.

Event

Type: name

The output Event that will be triggered.


LogicalOR

Template:User Object >> Actor >> Triggers >> EventLogicGate >> LogicalOR (custom)

Triggers an Event if AT LEAST ONE condition is True. Untriggers it, if an Event had been triggered and both conditions became False again.

Property group 'Events'

Tag

Type: name

Triggering the Event with this name will toggle the first condition True. UnTriggering it will toggle the condition False.

SecondTag

Type: name

Triggering the Event with this name will toggle the second condition True. UnTriggering it will toggle the condition False.

Event

Type: name

The output Event that will be triggered.


LogicalAND

Template:User Object >> Actor >> Triggers >> EventLogicGate >> LogicalAND (custom)

Triggers an Event if BOTH conditions are True. Untriggers it, if an Event had been triggered and one condition became False again.

Property group 'Events'

Tag

Type: name

Triggering the Event with this name will toggle the first condition True. UnTriggering it will toggle the condition False.

SecondTag

Type: name

Triggering the Event with this name will toggle the second condition True. UnTriggering it will toggle the condition False.

Event

Type: name

The output Event that will be triggered.


LogicalNOR

Template:User Object >> Actor >> Triggers >> EventLogicGate >> LogicalNOR (custom)

Does exactly the opposite of the Logical OR. That means that it triggers an Event if none of the conditions is True and untriggers the Event if one or both conditions are False.

Property group 'Events'

Tag

Type: name

Triggering the Event with this name will toggle the first condition True. UnTriggering it will toggle the condition False.

SecondTag

Type: name

Triggering the Event with this name will toggle the second condition True. UnTriggering it will toggle the condition False.

Event

Type: name

The output Event that will be triggered.


LogicalNAND

Template:User Object >> Actor >> Triggers >> EventLogicGate >> LogicalNAND (custom)

Does exactly the opposite of the LogicalAND. That means that it triggers an Event if only one or none of the conditions is True and untriggers the Event if both conditions are False.

Property group 'Events'

Tag

Type: name

Triggering the Event with this name will toggle the first condition True. UnTriggering it will toggle the condition False.

SecondTag

Type: name

Triggering the Event with this name will toggle the second condition True. UnTriggering it will toggle the condition False.

Event

Type: name

The output Event that will be triggered.


LogicalXOR

Template:User Object >> Actor >> Triggers >> EventLogicGate >> LogicalXOR (custom)

Triggers an Event if EXACTLY ONE OF TWO conditions is True. Untriggers it, if an Event had been triggered and both conditions became False or True.

Property group 'Events'

Tag

Type: name

Triggering the Event with this name will toggle the first condition True. UnTriggering it will toggle the condition False.

SecondTag

Type: name

Triggering the Event with this name will toggle the second condition True. UnTriggering it will toggle the condition False.

Event

Type: name

The output Event that will be triggered.