Mobile Forces addon documentations

Documentations about addons not made by Gregaras

Documentations about addons made/edited by Gregaras

Edited maps

The map editing tasks described here were done by Gregaras. The list of tasks/edited maps may be incomplete.

Newfield City - a map by Omega Squad
2017-08-14 -- Worked on path networks
2021-12-30 -- Converted some of the additive/subtractive geometry to static meshes

Old Prison - a map by LeoMar
2010-11-14 Worked on path networks

Battle Bay Noon V1 - a map by Xavier
2010-10-31 Worked on path networks
2021-12-20 Added a minimap, worked on path networks

Subway V2 - a map by Xavier
2019-09-22 Worked on path networks

Blood Warz V1 - a map by Xavier
2019-08-18 Worked on path networks

The Tubes V3 - a map by XaNa
2017-08-08 Worked on path networks

Vortex Train V1 - a map by Xavier
2019-08-15 Worked on path networks (buggy)

Speed Pipes - a map by Xavier
2019-02-15 Worked on path networks

Shuttle Launch - a map by Pat Fitzimons
2013-03-02 Fixed kill bug in red base loadout room

Toys Xaos V2 - a map by Xavier
2019-08-15 Worked on path networks

Bang Bash - a map by Xavier
2019-08-22 Worked on path networks

Highway Run - a map by Auge
2021-12-19 Added a minimap

France - a map by Omega Squad
2017-07-24 Worked on path networks

Test Facility - a map by Isaac
2021-12-20 Added a minimap, worked on path networks

Desert Warz V2 - a map by Xavier
2021-12-20 Worked on path networks

Information about MutPack mutators

The source code specifies that code was edited by Gregaras, meaning that there possibly is some source code taken from the game, probably also FNG mutator pack, put in the source code of the mutators and that code was edited/combined with the code written by Gregaras.

The string for level switch, server launch commands:

?mutator=mutpack.addweaps,mutpack.changebotinv,mutpack.commands,mutpack.replaceVehicles,mutpack.addvehicles

AddWeaps mutator adds weapons to loadout zones (rooms in which teams spawn) and deathmatch loadout crates. Mutator can also be used to remove the original weapons. AddWeaps provides commands to view the list of weapons and to modify it.

ChangeBotInv mutator changes bot inventories (adds/removes weapons). Mutator provides commands to print and edit the list of weapons that can be given to bots, print and edit the inventory of a single bot.

ReplaceVehicles mutator changes the vehicles that are spawned by vehicle generators.

AddVehicles mutator adds new vehicle generators to the map. The info of vehicle generators is put in a separate ini file called addVehicles.ini. Mutator provides commands to view and edit vehicle generator info.

Commands mutator provides commands to view and edit the maplist, toggle turret aim (passenger view rotation not getting affected by vehicle rotation). There is also a third person model animation play command that seems to only work in singleplayer.

AddWeaps (mutPack.addWeaps) mutator commands

Print weapon list:

mutate addweaps get

Change 15th (starting from 0) weapon list item to m24.m24:

mutate addweaps set 14 m24.m24

ChangeBotInv (mutPack.changeBotInv) mutator commands

Print weapon list:

mutate changebotinv getobj

Print inventory of Heywood (17 Coffey, 18 Jackson, 19 Dillon, etc):

mutate changebotinv get 16

Set first (zeroth) Heywood's inventory item to ak74.ak74:

mutate changebotinv set 16 0 ak74.ak74

Has same result as mutate changebotinv set 16 0 ak74.ak74. Edits specific element in the mutator array:

mutate changebotinv setarr 96 ak74.ak74

Same as mutate addweaps set 14 m24.m24 (sets 15th item in weapon list as m24.m24):

mutate changebotinv setobj 14 m24.m24

ReplaceVehicles (mutpack.replacevehicles) mutator info

Variables: GeneratorToBeModified1 (up to 4), VehiclePackageAndClass1 (up to 4).

GeneratorToBeModified1 by default is BuggyGenerator. If VehiclePackageAndClass1 is Rage.Humvee then all Buggys should get replaced with Humvees.

AddVehicles (mutPack.addVehicles) mutator info

Vehicle generator location, rotation and name values, map name values are stored in a file which is located in MobileForces/System folder and is called addVehicles.ini (default/initial values are inside mutPack.u). Total value count for each vehicle generator parameter (location, rotation, name) is 512, total map name value count is 32. In each map up to 16 vehicle generators can be put.

Variable relation
mapName[mapNum]:
genLoc[16 * mapNum] - genLoc[16 * (mapNum + 1) - 1]
genRot[16 * mapNum] - genRot[16 * (mapNum + 1) - 1]
vehPackageAndClassNames[16 * mapNum] - vehPackageAndClassNames[16 * (mapNum + 1) - 1]

If mapNum is 5, then 16 * mapNum is equal 80, 16 * (mapNum + 1) - 1 is 95:

mapName[5]:
genLoc[80] - genLoc[95]
genRot[80] - genRot[95]
vehPackageAndClassNames[80] - vehPackageAndClassNames[95]
View commands

Show location of the first (zeroth) vehicle generator:
mutate addveh getarr loc 0

Show rotation of the first (zeroth) vehicle generator:
mutate addveh getarr rot 0

Show package and class name of the first (zeroth) vehicle generator:
mutate addveh getarr class 0

Show map name of the first (zeroth) element:
mutate addveh getarr map 0

Change commands

Set location of the first (zeroth) vehicle generator. 1 is x, 2 is y, 3 is z:
mutate addveh setarr 0 loc 1 2 3

Set rotation of the first (zeroth) vehicle generator. 1 is pitch, 2 is yaw, 3 is roll:
mutate addveh setarr 0 rot 1 2 3

Set package and class name of the first (zeroth) vehicle generator:
mutate addveh setarr 0 class rage.buggy

Set map name of the first (zeroth) element:
mutate addveh setarr 0 map mf-warehouse

Commands (mutpack.commands) mutator commands

Print current map/gamemode from the list based on mapNum variable (different map or gametype name might get printed if someone manually switched to different gametype or map):
mutate maplist getc

Print map list:
mutate maplist get

Set next map in the list to mf-warehouse (based on mapNum variable):
mutate maplist setn mf-warehouse

Set 9th map list item to mf-warehouse:
mutate maplist set 8 mf-warehouse

When this command is executed and level is restarted, game lets passenger players (or prevents them to) use a new aiming mode. passenger player can switch between new and original modes with duck/crouch key:
mutate toggleturaim

Not sure If this command even works in singleplayer, one might consider checking out the UnrealScript source of the Commands mutator. Anim names can be found in Mesh Browser of Unreal Editor by choosing one of the third person models:
mutate anim [anim name]

Information about vote mutators

Info for Vote, VoteMutWindow and VoteHUD plugins for Mobile Forces

Vote plugin code is written by Gregaras

VoteMutWindow plugin uses window replication info code written by DrSiN and Mongo. The download of the zip with source code files can be found here: https://ut99.org/viewtopic.php?t=15368. The code of voteMutWindow itself is written by Gregaras

VoteHUD plugin uses ANDREW "drunken master" Scholer code. Code snippets can be found in the TCUERG (The Complete Unreal Engine Reference Guide). Link to the page from which TCUERG can be downloaded: https://www.oldunreal.com/wiki/index.php?title=Tutorials. The rest of the code is written by Gregaras

The string for level switch, server launch commands:
?mutator=vote.vote,voteMutWindow.windowMut,voteHUD.voteHUD

Vote plugin is the main plugin. VoteMutWindow and VoteHUD are secondary plugins. Various plugin combinations are not thoroughly tested, having all three plugins enabled or only the vote plugin enabled should work fine.

Vote plugin enables the ability for non-admin players to call a vote for various changes in the game match and have other players to upvote and downvote. Vote plugin provides mutate console commands to call votes and to vote.

VoteMutWindow provides a graphical interface to the vote plugin. The plugin gives the ability to execute vote plugin commands basically without having to type them. There is also a menu to edit a limited amount of game variables such as frag limit and some other ones. Moreover there is a key asignment menu that lets the user assign 3 mutator commands to the keys. When voteMutWindow plugin is enabled, it will ask to assign the key to open the panel at the beginning of each match whenever it detects that key is not assigned.

VoteHUD provides a HUD that shows up whenever the voting is in progress. It displays a short description of the callvote, number of upvotes, downvotes. When voteMutWindow is enabled it also shows which key opens the panel where the player is be able to upvote or downvote.

Vote mutator (vote.vote) commands

Print vote mutator help:

mutate help
mutate vote help

Switch to the map, gametype, mutator specified in travel string (the one like in servertravel, switchlevel):
mutate callvote travel [travel string]

Add bots:
mutate callvote addbots [bot number]

Kick all bots:
mutate callvote kickbots

Switch to next map (gametype, mutator) specified in the config:
mutate callvote nextmap

Move human players to one team and bots to the other:
mutate callvote coop [bot team number] [bot count]

Shuffle teams (random human player team switch):
mutate callvote shuffle

Toggle auto team size balance:
mutate callvote balance

Vote for Yes:
mutate vote y

Vote for No:
mutate vote n

VoteMutWindow mutator (voteMutWindow.windowMut) commands

Open the window to call votes, vote, change variables (voteMutWindow.windowMut command):
mutate window open

Information about gametypes

Arena

New gametype for Mobile Forces based on Team Fortress 2 game mode, called Arena. The code for Arena gametype wasn't written from scratch, it was taken from existing Mobile Forces gametypes. Most of the code was taken from Domination gametype (RageDomination, RageDominationTimer, RageDOMHUD and other such classes). Therefore, big part of credit goes to Mobile Forces developers (Rage Software). Some of the credit goes to me, Gregaras, and also, to Akvari. I (Gregaras) edited the code to make Domination gametype resemble the Arena gametype, although there might be significant amount of features missing from the original version of the gametype. Akvari was the one who suggested to make the arena gametype.

Also, some credit goes to people who uploaded videos on Youtube:

https://www.youtube.com/watch?v=bYrjKb6z-Y8 - video by s4videos
https://www.youtube.com/watch?v=MLuYX3BAEkI - video by Kr0wn
https://www.youtube.com/watch?v=QMxGqKfwAUE - video by Mayco

These videos helped me to make the gametype.

Trailer V2

Trailer version 2 is a modified version of the original Mobile Forces Trailer gametype. A random roadpoint around the domination timer is picked and that is used as a spawn point for the trailer vehicle. Each time trailer explodes a new road point is picked. There are some parameters that can be adjusted such as radius of the sphere in which the game should look for the roadpoints and trailer spawn angle (vehicle spawn rotation along the roadpoints or perpendicular to them).

Some of the code was taken from Mobile Forces game code. Code editing was done by Gregaras. Gametype idea by Marcin.

Mental Race edit

Mental Race gametype was edited by Gregaras

The reason for the edit was that in the original gametype only the two racing cars are spawned throughout the entire map, therefore I changed it so that other cars are spawned as well. Also, I added some variable to change checkpoint sequence into this: middle cp, enemy base cp, home base cp, middle cp (circle/lap sequence).

In the future I probably might put back the original version of Mental Race and then the edited one will be in a separate Unreal package file.

Information about vehicles

Boat

Boat vehicle

Files
System: boat.u
Physics: boat.COL, handling.hnd2

Spawn command
summon boat.boat
Change vehicle settings while in game
editactor class=boat

Seat models, steering wheel model, textures taken from Humvee car of Mobile Forces
Boat model made by Gregaras
Code copied from Mobile Forces scripts, code edited by Gregaras
Engine running sound by ilmari_freesound. Licensed under CC0 1.0 Universal (CC0 1.0). Sound was modified by Gregaras. I, Gregaras, license it under the same license as the original work, which is CC0 1.0 Universal. The sound is inside boat.umx file named boatEngineRunning
Engine start sound titled Boat Starting Up and Driving by bone666138. Licensed under Attribution 4.0 International (CC BY 4.0). Sound was modified. It is inside boat.umx file named boatEngineStart

Piper

Two seated Piper vehicle on the left and regular Piper vehicle on the right

Files
System: piper.u
Physics: piper.COL, handling.hnd2

Spawn command for normal Piper
summon piper.piper
Spawn command for two seated Piper
summon piper.piperTs
Change vehicle settings while in game
editactor class=piper
editactor class=piperTs

Controls

On the ground
Forward, backward: move to those directions
Strafe left, strafe right: steer to those directions
Jump: take off (when certain speed is reached)
Primary fire, alternate fire: change roll (not supposed to do that)

Airborne
Forward: accelerate
Strafe left, strafe right: change yaw and roll
Primary fire, alternate fire: change roll
Space: change pitch (go up)
Crouch: change pitch (go down)

Piper Code copied from Mobile Forces scripts. Code edited by Gregaras.
Plane model taken from Airport map. Plane model edited by Gregaras.
Plane textures taken from rage_airport.utx package.

Piper Two Seat
Image used for the panel. Licensed under CC0 1.0 Universal (CC0 1.0). Image was modified by Gregaras. I, Gregaras, license it under the same license as the original work, which is CC0 1.0 Universal. The image/texture is inside piper.u file named cabin
Seat texture/model taken from Humvee
RadarBase1z texture taken from Airport texture pack

Heli

Helicopter

Files
System: heli.u
Physics: heli.COL, handling.hnd2

Spawn command
summon heli.heli
Change vehicle settings while in game
editactor class=heli

Controls
Forward, backward, strafe left, strafe right: move to those directions
Primary fire: rotate left
Alternate fire: rotate right
Jump: Go up
Crouch: Go down

Vehicle model created and textured by Marcin
Vehicle model edited by Gregaras
Code copied for Mobile Forces scripts, code edited by Gregaras
Sound titled Helicopter Sound by amaida1. Licensed under CC0 1.0 Universal (CC0 1.0). Sound was modified by Gregaras. I, Gregaras, license it under the same license as the original work, which is CC0 1.0 Universal. The sound is inside heli.u file named heliEngineLoop
Sound titled Crack_glass.wav by 13FPanska_Cerny_Jan. Licensed under CC0 1.0 Universal (CC0 1.0). Sound was modified by Gregaras, there were several new sounds produced out of it. I, Gregaras, license them under the same license as the original work, which is CC0 1.0 Universal. Sounds are inside heli.u file named glass_cracked, glass_hit_00 and glass_hit_01

Jeep

Jeep vehicle

Files
System: jeep.u
Physics: jeep.COL, handling.hnd2

Spawn command
summon jeep.jeep

Vehicle model created and textured by Marcin, vehicle model edited by Gregaras
Weapon model created and textured by Marcin, weapon model edited by Gregaras
Code copied for Mobile Forces scripts, code edited by Gregaras
Image used for the ammo box. Licensed under CC0 1.0 Universal (CC0 1.0). Image was modified by Gregaras. I, Gregaras, license it under the same license as the original work, which is CC0 1.0 Universal. The image/texture is inside jeep.u file named JwAmmoBox
Image used for the bullet shell by Thewellman. Licensed under CC0 1.0 Universal (CC0 1.0). Image was modified by Gregaras. I, Gregaras, license it under the same license as the original work, which is CC0 1.0 Universal. The image/texture is inside jeep.u file named JwShell
Bullet shell sound by KM Media Factory. Licensed under CC0 1.0 Universal (CC0 1.0). Sound was modified by Gregaras. I, Gregaras, license it under the same license as the original work, which is CC0 1.0 Universal. The sound is inside jeep.u file named vehWeapShellSound
Weapon reload sound titled 1911 Reload by nioczkus. Licensed under CC0 1.0 Universal (CC0 1.0). Sound was modified by Gregaras. I, Gregaras, license it under the same license as the original work, which is CC0 1.0 Universal. The sound is inside jeep.u file named hmgReload
Car engine sound by prometheus888. Licensed under CC0 1.0 Universal (CC0 1.0). Sound was modified by Gregaras, there were several new sounds produced out of it. I, Gregaras, license them under the same license as the original work, which is CC0 1.0 Universal. Sounds are inside jeep.u file named Engine, engine_start and engine_stop