Wikia

OpenArena

Configuration examples/Weapon rotation

< Configuration examples

370pages on
this wiki
Talk0

In this page we show how to create a custom configuration, in order to have a particular kind of fight: each match, all players have only the gauntlet and another weapon, the same for all, with infinite ammo. We get this using Elimination mode features, and we can use them also with other game modes (like Free For All), thanks to g_elimination variable. We are going to switch weapon adding some commands to a map rotation script. We also cover how to restore the variables we touch to their default values. Here you can find various examples with some little variations. You can use these configurations when playing locally or when creating your own dedicated server.

WARNING: Parts of the configuration have not been touched/covered in these examples, like server name or "award pushing" feature. You can play using simply the configurations you find here, but in order to have a complete server configuration, you should integrate them with the other commands you can find in Servers#Server config example.

If working with these configuration files seems complicated to you, you can try the nice NIQ3 mod (No Items Quake 3) instead, that works also with OpenArena. That mod offers a similar experience and is controlled by a customized user interface that allows various options (no need to know about configuration files to play by yourself and no need to read this guide: it is not based upon "elimination mode" variables, unlike what we are going to show here). It has also the advantage that the weapon changes mid-game, automatically after "X" seconds, so you don't need to begin a new match like here. And it can also give powerups like quad damage or invisibility to the players. But it has the disadvantage that it supports only the "classic" gametypes from the standard Quake III Arena (Free for all, Tournament, Team deathmatch, Capture the flag) and does not support the three weapons from Team Arena (nail gun, prox mines, chaingun).

Anyway, here we are going to cover what is possible to do with the features offered by OpenArena, thanks to its Elimination mode (without the need to use any mod): if you want more info about NIQ3 mod instead, please read its page.

As July 2010, there is a server with a configuration similar to what you find here: 88.160.192.237:27960 ("ROFL THE ARENA", running Elimination mode with weapon rotation)... you can try playing on it (although obviously we cannot assure how long it will remain active with that configuration).

Server configuration to cycle weapons, with infinite ammoEdit

Let's begin with a first part, common for the next examples. Copy-paste it to a plain text file using a text editor (like notepad under Microsoft Windows, or you may download Notepad++), then add a "// Map and weapon rotation" from a later section below (depending from what kind of rotation you want), placing it at the end of that file (don't miss to do this). Save the text file inside your baseoa folder, launch the game ad use exec <filename> command to execute chat custom configuration file.

In this example we use g_gametype 8 (Elimination mode), the native mode for the "Elimination variables" we use... anyway they work also for CTF Elimination and Last Man Standing mode... and if you enable g_elimination 1, these features will be available also in other game types, like Free For All or Team Deathmatch (remember that some modes check for "timelimit" and others for "capturelimit")... read below for more info. You can find more info about "elimination_" variables in Elimination#CVARs.

// Match settings
set g_gametype 8 // 0 = Free For All, 1 = Tournament, 3 = Team Deathmatch, 4 = Capture The Flag, 5 = One Flag Capture, 6 = Overload, 7 = Harvester, 8 = Elimination, 9 = CTF Elimination, 10 = Last Man Standing, 11 = Double Domination, 12 = Domination 
sets g_elimination 1 // Default value is 0. Enabling this allows to use various features from Elimination mode (like the weapons) inside other modes. Useless if you are already playing Elimination/CTF Elimination/Last Man Standing mode.
set timelimit 10 // maximum match duration (remember that each time you change weapon, it is a new match)
set fraglimit 5 // a low fraglimit allows to change weapon frequently, in game modes that check for fraglimit instead of capturelimit (like Free For All)
set capturelimit 1 // a low capturelimit allows to change weapon frequently, in [[game modes]] that check for capturelimit instead of fraglimit (like Elimination). Remember that in Elimination mode you have to win with 2 points of difference, or the match will continue until you reach this gap
set g_speed 320 // 320 is default speed
set g_knockback 1000 // 1000 is default knockback
set g_gravity 800 // 800 is default gravity (anyway it may change, depending from the map. Automatically set to map default when map loaded or restarted.)
sets g_rockets 0 // we are not going to use this now (just to be sure it is disabled)
sets g_instantgib 0 // we are not going to use this now (just to be sure it is disabled)

//Elimination mode settings
set elimination_warmup "7"
set elimination_roundtime "120"
set elimination_startArmor "150"
set elimination_startHealth "200"
set elimination_selfdamage "0" // 0 = no self/team damage, 1 = damage to self, 2 damage to self and team
set elimination_activewarmup "5" // time (in seconds) to roam before weapons activate, must at least be 1 and lower than elimination warmup
set elimination_grapple "0" // enables (1) or disables (0) offhand grapple
set elimination_ctf_oneway "0" // used in CTF Elimination game mode, not in standard "Elimination" mode.
set elimination_lockspectator "0" // 0 = No lock (can follow enemy, see health), 1 = Cannot follow enemy (cannot see health), 2 = Must follow friend

//Disable all weapons before beginning rotation
set elimination_machinegun "0"
set elimination_shotgun "0"
set elimination_grenade "0"
set elimination_rocket "0"
set elimination_lightning "0"
set elimination_railgun "0"
set elimination_plasmagun "0"
set elimination_bfg "0"
set elimination_nail "0"
set elimination_mine "0"
set elimination_chain "0"

Change weapon when you change mapEdit

Okay, let's add the following lines to your custom server configuration file (using the previous part only will give you only the gauntlet!). You could call this file, for example, elim_w_rot.cfg (elimination weapon rotation)... anyway, use the name you wish!

Note: If you want to change map before hitting the time/frag/capture limit, you can use \vstr nextmap from the server's command console, or clients can use \callvote nextmap.

//Map and weapon rotation
set d1 "elimination_chain 0; elimination_machinegun 999; map aggressor; set nextmap vstr d2"
set d2 "elimination_machinegun 0; elimination_shotgun 999; map oa_dm1; set nextmap vstr d3"
set d3 "elimination_shotgun 0; elimination_grenade 999; map wrackdm17; set nextmap vstr d4"
set d4 "elimination_grenade 0; elimination_rocket 999; map oa_dm3; set nextmap vstr d5"
set d5 "elimination_rocket 0; elimination_lightning 999; map oa_dm4; set nextmap vstr d6"
set d6 "elimination_lightning 0; elimination_railgun 999; map kaos2; nextmap vstr d7"
set d7 "elimination_railgun 0; elimination_plasmagun 999; map oa_dm5; set nextmap vstr d8"
set d8 "elimination_plasmagun 0; elimination_bfg 999; map oa_rpg3dm2; set nextmap vstr d9"
set d9 "elimination_bfg 0; elimination_nail 999; map oa_shouse; set nextmap vstr d10"
set d10 "elimination_nail 0; elimination_mine 999; map oa_dm2; set nextmap vstr d11"
set d11 "elimination_mine 0; elimination_chain 999; map am_galmevish; set nextmap vstr d1"
vstr d1 // start loop at d1 

Adding a round with the gauntlet onlyEdit

In this example, we add an extra round, where the only weapon available is the gauntlet. You can simply replace the following lines in the previous configuration file (you could create an additional configuration file, called, for example, elim_w_rot_gaunt.cfg): the first parts of the config file will be the same as the previous example.

//Map and weapon rotation
set d1 "elimination_machinegun 999; map aggressor; set nextmap vstr d2"
set d2 "elimination_machinegun 0; elimination_shotgun 999; map oa_dm1; set nextmap vstr d3"
set d3 "elimination_shotgun 0; elimination_grenade 999; map wrackdm17; set nextmap vstr d4"
set d4 "elimination_grenade 0; elimination_rocket 999; map oa_dm3; set nextmap vstr d5"
set d5 "elimination_rocket 0; elimination_lightning 999; map oa_dm4; set nextmap vstr d6"
set d6 "elimination_lightning 0; elimination_railgun 999; map kaos2; nextmap vstr d7"
set d7 "elimination_railgun 0; elimination_plasmagun 999; map oa_dm5; set nextmap vstr d8"
set d8 "elimination_plasmagun 0; elimination_bfg 999; map oa_rpg3dm2; set nextmap vstr d9"
set d9 "elimination_bfg 0; elimination_nail 999; map oa_shouse; set nextmap vstr d10"
set d10 "elimination_nail 0; elimination_mine 999; map oa_dm2; set nextmap vstr d11"
set d11 "elimination_mine 0; elimination_chain 999; map am_galmevish; set nextmap vstr d12"
set d12 "elimination_chain 0; map ce1m7; set nextmap vstr d1"
vstr d1 // start loop at d1

Using a single mapEdit

If you want to use always the same map, you can simply write its name for the "map" command in every line of the rotation... but this reloads the map after each match. You can avoid reloading the map every time, using "map_restart" instead of "map <mapname>" starting from the second line. You can simply replace the following lines in the previous configuration file (you could create an additional configuration file, called, for example, elim_w_rot_onemap.cfg): the first parts of the config file will be the same as the previous examples.

//Map and weapon rotation
set d1 "elimination_chain 0; elimination_machinegun 999; map am_galmevish; set nextmap vstr d2"
set d2 "elimination_machinegun 0; elimination_shotgun 999; map_restart; set nextmap vstr d3"
set d3 "elimination_shotgun 0; elimination_grenade 999; map_restart; set nextmap vstr d4"
set d4 "elimination_grenade 0; elimination_rocket 999; map_restart; set nextmap vstr d5"
set d5 "elimination_rocket 0; elimination_lightning 999; map_restart; set nextmap vstr d6"
set d6 "elimination_lightning 0; elimination_railgun 999; map_restart; nextmap vstr d7"
set d7 "elimination_railgun 0; elimination_plasmagun 999; map_restart; set nextmap vstr d8"
set d8 "elimination_plasmagun 0; elimination_bfg 999; map_restart; set nextmap vstr d9"
set d9 "elimination_bfg 0; elimination_nail 999; map_restart; set nextmap vstr d10"
set d10 "elimination_nail 0; elimination_mine 999; map_restart; set nextmap vstr d11"
set d11 "elimination_mine 0; elimination_chain 999; map_restart; set nextmap vstr d1"
vstr d1 // start loop at d1

Changing gravity and speedEdit

Do you want to change also gravity or speed when you change weapon? Then use these lines instead of the previous ones. Obvously you can use your favourite settings. For example, your config file could be named elim_wsg_rot_onemap.cfg.

Important: gravity is automatically reset to map default (usually 800; each map has its own default gravity) when a map is loaded or restarted. Since we want to automatically change gravity, we can use a workaround, using always "map" command instead of "map_restart" (even to reload the same map) and placing "g_gravity" command after "map" command (we suggest to place it at the very end of each line, to be more sure... anyway you could make some tests to verify it works with your maps). And be sure to set g_dowarmup to 0: this gravity script works with the "elimination warmup" (that is controlled by elimination_warmup and elimination_activewarmup variables), but not with the "generic warmup" (that is controlled by g_warmup and g_dowarmup); in case of g_dowarmup 1, g_gravity would be reverted to map default at the end of warmup!
Please notice that situations that cause a map restart (e.g. voting for a "shuffle" of the teams during team-based games) and do not trigger the map rotation script (e.g. manual map changes), will cause the gravity change back to map default until the new match ends and the map rotation script continues to the next map.

You can even change the knockback ("push") caused by explosions, using the g_knockback variable.

//Map and weapon rotation
set d1 "elimination_chain 0; elimination_machinegun 999; map am_galmevish; set nextmap vstr d2; g_speed 400; g_gravity 1300"
set d2 "elimination_machinegun 0; elimination_shotgun 999; map am_galmevish; set nextmap vstr d3; g_speed 280; g_gravity 600"
set d3 "elimination_shotgun 0; elimination_grenade 999; map am_galmevish; set nextmap vstr d4; g_speed 380; g_gravity 500"
set d4 "elimination_grenade 0; elimination_rocket 999; map am_galmevish; set nextmap vstr d5; g_knockback 1250; g_speed 400; g_gravity 600"
set d5 "elimination_rocket 0; elimination_lightning 999; map am_galmevish; set nextmap vstr d6; g_knockback 1000; g_speed 300; g_gravity 400"
set d6 "elimination_lightning 0; elimination_railgun 999; map am_galmevish; nextmap vstr d7; g_speed 550; g_gravity 200"
set d7 "elimination_railgun 0; elimination_plasmagun 999; map am_galmevish; set nextmap vstr d8; g_speed 420; g_gravity 700"
set d8 "elimination_plasmagun 0; elimination_bfg 999; map am_galmevish; set nextmap vstr d9; g_speed 450; g_gravity 1100"
set d9 "elimination_bfg 0; elimination_nail 999; map am_galmevish; set nextmap vstr d10; g_speed 300; g_gravity 1200"
set d10 "elimination_nail 0; elimination_mine 999; map am_galmevish; set nextmap vstr d11; g_speed 400; g_gravity 650"
set d11 "elimination_mine 0; elimination_chain 999; map am_galmevish; set nextmap vstr d1; g_speed 500; g_gravity 500"
vstr d1 // start loop at d1

Note: starting with OpenArena 0.8.8, it is possible to use g_gravitymodifier variable. Unlike g_gravity, g_gravitymodifier is not automatically reset to its default value (that is 1.0), so it avoids some of the problems you can experience when using g_gravity in your rotation scripts.

Using outside Elimination mode/CTF Elimination/Last Man Standing modes, changing time/frag/capture limitsEdit

Let's see how to use this outside Elimination/CTF Elimination/Last Man Standing modes. When using other gametypes (like Free For All or Team Deathmatch), you can set g_elimination 1 (default value is 0) to have the weapons set for Elimination mode. To select the gametype you wish, modify g_gametype value in your custom configuration file (for example, g_gametype 0 is Free for All). You can find these two variables in the "// Match settings" section of the generic configuration on top of this page.

We are using this example to show another thing: you can change also timelimit, fraglimit or capturelimit as you wish when you change map and weapon. This allows you to set an higher fraglimit when using a more powerful weapon, and a lower fraglimit when using an hard-to-use weapon like grenade launcher or prox mines. You could name this configuration, for example, elim_w_rot_ffa.cfg (if you set g_gametype 0).

Note: If you want to change weapon after a certain time instead of a certain fraglimit, you can set fraglimit 0 (no limit) and timelimit X (where X is a number).

//Map and weapon rotation
set d1 "elimination_chain 0; elimination_machinegun 999; fraglimit 4; map am_galmevish; set nextmap vstr d2"
set d2 "elimination_machinegun 0; elimination_shotgun 999; fraglimit 4; map_restart; set nextmap vstr d3"
set d3 "elimination_shotgun 0; elimination_grenade 999; fraglimit 2; map_restart; set nextmap vstr d4"
set d4 "elimination_grenade 0; elimination_rocket 999; fraglimit 10; map_restart; set nextmap vstr d5"
set d5 "elimination_rocket 0; elimination_lightning 999; fraglimit 8; map_restart; set nextmap vstr d6"
set d6 "elimination_lightning 0; elimination_railgun 999; fraglimit 8; map_restart; nextmap vstr d7"
set d7 "elimination_railgun 0; elimination_plasmagun 999; fraglimit 4; map_restart; set nextmap vstr d8"
set d8 "elimination_plasmagun 0; elimination_bfg 999; fraglimit 10; map_restart; set nextmap vstr d9"
set d9 "elimination_bfg 0; elimination_nail 999; fraglimit 6; map_restart; set nextmap vstr d10"
set d10 "elimination_nail 0; elimination_mine 999; fraglimit 2; map_restart; set nextmap vstr d11"
set d11 "elimination_mine 0; elimination_chain 999; fraglimit 10; map_restart; set nextmap vstr d1"
vstr d1 // start loop at d1

Restore standard configurationEdit

Many of the changes you load using custom configuration files are then stored in the main configuration file, so the next time you launch OpenArena and start an Elimination match, you may find only one weapon instead of the standard set. So, let's create another configuration file, for example elim_w_rot_disable.cfg, and then execute it using exec <filename> command to restore default values (note: these are default values in OpenArena 0.8.5).

// Restore default Match settings
set g_gametype 0 // 0 = Free For All, 1 = Tournament, 3 = Team Deathmatch, 4 = Capture The Flag, 5 = One Flag Capture, 6 = Overload, 7 = Harvester, 8 = Elimination, 9 = CTF Elimination, 10 = Last Man Standing, 11 = Double Domination, 12 = Domination 
sets g_elimination 0 // Enabling this allows to use various features from Elimination mode (like the weapons) inside other modes. Useless if you are already playing Elimination/CTF Elimination/Last Man Standing mode.
set timelimit 0 
set fraglimit 20 
set capturelimit 8
set g_speed 320 // 320 is default speed
set g_gravity 800 // 800 is default gravity (anyway it may change, depending from the map)
set g_knockback 1000 // 1000 is default knockback
sets g_rockets 0 // just to be sure it is disabled
sets g_instantgib 0 // just to be sure it is disabled

//Restore default Elimination mode settings
set elimination_warmup "7"
set elimination_roundtime "120"
set elimination_startArmor "150"
set elimination_startHealth "200"
set elimination_selfdamage "0" // 0 = no self/team damage, 1 = damage to self, 2 damage to self and team
set elimination_activewarmup "5" // time (in seconds) to roam before weapons activate, must at least be 1 and lower than elimination warmup
set elimination_grapple "0" // enables (1) or disables (0) offhand grapple
set elimination_ctf_oneway "0" // used in CTF Elimination game mode, not in standard "Elimination" mode.
set elimination_lockspectator "0" // 0 = No lock (can follow enemy, see health), 1 = Cannot follow enemy (cannot see health), 2 = Must follow friend

//Restore default Elimination weapons
set elimination_machinegun "500"
set elimination_shotgun "500"
set elimination_grenade "100"
set elimination_rocket "50"
set elimination_lightning "300"
set elimination_railgun "20"
set elimination_plasmagun "200"
set elimination_bfg "0"
set elimination_nail "0"
set elimination_mine "0"
set elimination_chain "0"

Around Wikia's network

Random Wiki