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
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.
Print weapon list:
mutate addweaps get
Change 15th (starting from 0) weapon list item to m24.m24
:
mutate addweaps set 14 m24.m24
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
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.
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.
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]
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
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
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]
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.
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
Open the window to call votes, vote, change variables (voteMutWindow.windowMut command):
mutate window open
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 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 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.
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
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
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
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