About This File
Kill your way to victory! Gun game is a gamemode where players start with powerful weapons and get less powerful weapons once they score enough kills to level up.
Winning
- First player to go through all weapons/levels will win.
- Player with the highest level will win if round timer ends.
Config
The config file is located in packages/gungame/config.json.
- gameTimeSeconds: Length of a round in seconds. 600 by default which converts to 10 minutes.
- healthOnKill: How much health players will get for killing someone. 0 by default which means players won't get any health from killing.
- respawnTimeSeconds: Seconds a player needs to wait for respawning. 8 by default.
- restartTimeSeconds: Seconds players need to wait before a new round begins. 10 by default.
Loadouts
The loadouts file is located in packages/gungame/loadouts.json. It's a JSON file with each loadout as an array.
Each loadout array must contain at least one valid loadout item.
Loadout items must have:
- Weapon: Weapon hash key as string, such as WEAPON_PISTOL. (Weapons list)
- Name: Human readable name of the weapon, such as Pistol.
- KillsForNext: Amount of kills a player need to get with this weapon before upgrading to the next one. (player will be declared winner if this item is the last in the loadout)
Example Loadout (RPG > Minigun > Special Carbine > Heavy Revolver > Sawed-Off Shotgun > Machete, player needs 5 machete kills to win)
[ { "Weapon": "WEAPON_RPG", "Name": "RPG", "KillsForNext": 1 }, { "Weapon": "WEAPON_MINIGUN", "Name": "Minigun", "KillsForNext": 1 }, { "Weapon": "WEAPON_SPECIALCARBINE", "Name": "Special Carbine", "KillsForNext": 1 }, { "Weapon": "WEAPON_REVOLVER", "Name": "Heavy Revolver", "KillsForNext": 1 }, { "Weapon": "WEAPON_SAWNOFFSHOTGUN", "Name": "Sawed-Off Shotgun", "KillsForNext": 1 }, { "Weapon": "WEAPON_MACHETE", "Name": "Machete", "KillsForNext": 5 } ]
Maps
Map files are located in packages/gungame/maps/.
Maps must have:
- CenterOfMap: An object that has x, y, z and radius properties. This is used for defining game area and respawning players around the game area.
- SpawnPoints: Array of objects that has x, y, z and a (angle/heading) properties. This is used for spawning players for the first time in the map, like when they connect the server or when a round begins.
Example Map (1 Spawn Point)
{ "CenterOfMap": { "x": -1108.71240234375, "y": 4918.75048828125, "z": 217.17044067382812, "radius": 70.0 }, "SpawnPoints": [ { "x": -1126.168212890625, "y": 4952.76025390625, "z": 220.46249389648438, "a": 191.99134826660156 } ] }
Maps also have optional properties such as:
- World: An object that has time and weather properties.
- --> time: An object that has hour, minute and second properties.
- --> weather: A string property that contains the weather ID. (Weather ID list)
- Props: Array of objects that has model, position and rotation properties.
- --> model: A string property that contains the model name. Example: prop_fire_hydrant_1
- --> position: An object that has x, y and z properties.
- --> rotation: An object that has x, y and z properties.
Example Map (Night, Rainy Weather with 1 Prop)
{ "World": { "time": { "hour": 2, "minute": 0, "second": 0 }, "weather": "RAIN" }, "CenterOfMap": { "x": -1108.71240234375, "y": 4918.75048828125, "z": 217.17044067382812, "radius": 70.0 }, "SpawnPoints": [ { "x": -1126.168212890625, "y": 4952.76025390625, "z": 220.46249389648438, "a": 191.99134826660156 } ], "Props": [ { "model": "prop_fire_hydrant_1", "position": { "x": -1108.71240234375, "y": 4918.75048828125, "z": 217.05 }, "rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }
Source code is available on GitHub in case you don't want to download: https://github.com/root-cause/ragemp-gungame
Have fun!