The Creator#
Everything about arenas happens in one window, the Water War Creator, opened with /waterwarcreator. Players never open anything — they just walk into an arena.
The window has two halves. On the left, every arena on the server sorted by name, with a search box and a Create Arena button. On the right, the form of the arena you picked.
To | Do this |
|---|---|
Create an arena | Create Arena, fill in the form, then Create Arena again at the bottom. |
Edit an arena | Click it in the list, change anything, Save. |
Delete an arena | Open it, Delete, confirm. It cannot be undone, and it disappears from every player's map at once. |
Find one | Type part of its name in the search box. |
Go there | The teleport button next to an arena takes you to its blip — or to its first corner if it has no blip. |
Every change is saved to the database and sent to every connected player straight away: zones, walls and blips are rebuilt without a restart. Who may use the creator is set in Installation → Claiming Admin Access.
Creating an Arena#
The form has four panels. Only the name and the outline are truly yours to supply — everything else starts from the defaults in config/main.lua.
Basic information
Name the arena, then set how long a round lasts and how many players fit.
Draw the area
Under Location Settings, press Select next to Area Points. The window closes and a free camera opens — see Drawing the Area below. The window comes back when you finish.
Set the rewards
The money paid to first, second and third place at the end of every round.
Place the blip
Label, sprite, colour and scale, then Select for its position: aim at a spot inside the outline you just drew and left click.
Save
Create Arena. The arena appears on every player's map and is playable straight away.
Basic information#
Field | Range | Default for a new arena |
|---|---|---|
Arena Name | Required | — |
Duration (seconds) | 30 – 3600 |
|
Maximum Players | 2 – 32 |
|
Drawing the Area#
An arena is a shape on the ground plus a height. You place its corners one by one from a free camera, in order, around the space you want people to fight in. The arena is the inside of that shape.
Key | Does |
|---|---|
W A S D | Fly the camera. |
Q / E | Down / up. |
Mouse | Look around. The red cross shows where a corner would go. |
Left click | Add a corner. |
Right click | Remove the last corner. |
Z / X | Make the arena taller / shorter. It starts 25 metres tall. |
Enter | Finish and return to the form. |
Backspace · Esc | Leave the camera. Four corners or more are still kept; with fewer, the form says Zone creation cancelled. |
The walls show the arena as you build it: red until it has at least four corners and measures at least Config.MinPointLength metres around (30 by default), green once it is big enough. The server refuses any arena with fewer than four corners.
A good outline#
Click the corners in order around the edge — clockwise or anticlockwise, never across the middle.
A slope, stairs or several floors need more height: hold Z until the walls cover the highest and lowest point a player can stand on.
Keep arenas apart. A player who walks out of one arena straight into another stays in the first until they have fully left it.
To redraw an arena, open it, press Select again and draw the new outline. The old one is replaced when you save.
Rewards#
Each arena pays the top three players of every round. The form sets the money for each place; it is paid into the account named by Config.MoneyType — cash by default.
Place | Default money |
|---|---|
1st | 5,000 |
2nd | 2,500 |
3rd | 1,000 |
Item rewards#
Items are paid alongside the money, but they are not in the form. They come from Config.DefaultRewards: add them there, restart qs-waterwar, and every arena created afterwards carries them — the form keeps them when you change the money.
Config.DefaultRewards = {
first = { money = 5000, items = { { name = 'water', count = 5 } } },
second = { money = 2500, items = { { name = 'water', count = 3 } } },
third = { money = 1000, items = {} },
}Rewards are saved with the arena. Changing
Config.DefaultRewardslater does not touch arenas that already exist — they keep what they were created with. Use item names your inventory knows; on ESX, an item the player cannot carry is skipped.
The Blip#
Each arena can show a blip on the map, short-range like a shop: always on the pause map, and on the minimap when the player is nearby.
Field | Notes |
|---|---|
Blip Label | The name on the map legend. |
Blip Sprite | The icon. Search by name, with a picture of each. |
Blip Color | The colour, searchable the same way. |
Blip Scale | 0.2 – 1.0. |
Blip Coordinates | Select, aim with your own camera and left click. The point must be inside the arena's outline, so draw the area first. |
New arenas start from Config.DefaultBlip — sprite 310, colour 3, scale 0.8, Water War Arena. To create an arena with no blip at all, switch the Blip Settings panel off before choosing its coordinates.
Playing a Battle#
There is no lobby, no queue and no command. A battle is joined by walking into the arena and left by walking out of it.
Walking in#
What happens | Set by |
|---|---|
A notice: You entered the water war arena! | — |
The player's weapons are put away. |
|
A water gun with 9,999 rounds goes into their hands. |
|
Glowing cyan walls mark the arena's edge. |
|
The battle card opens on the round in progress. | — |
Walking out#
What happens | Set by |
|---|---|
The water gun is taken back. | — |
The stored weapons come back, with their ammo. |
|
The battle card closes and the player's score is dropped. | — |
The battle card#
While a round runs, a card in the bottom-right corner keeps the player up to date:
Part | Shows |
|---|---|
Header | The arena's name and a LIVE badge. |
Time Remaining | The countdown, kept by the server. |
Your Score | Your points, as a bar measured against the leader. |
Leaderboard | The top five, with your own row marked You. |
Hit Feed | The last five hits in the arena: who hit whom. |
When the round ends, the card gives way to the end screen: the winner and their hits, the podium of the top three, and the first-place reward.
The Round#
Every arena runs its own rounds on the server, one after another, for as long as somebody is inside:
When | What happens |
|---|---|
The first player walks in | A round starts at once, with the arena's full duration. |
More players walk in | They join the round already running, at zero points, and see the time left. Once the arena holds its maximum, newcomers are turned away. |
The clock reaches zero | Rewards are paid and the end screen shows the result for ten seconds. |
Ten seconds later | Scores go back to zero and a new round begins for everyone still inside. An empty arena simply goes quiet until the next player arrives. |
Everybody walks out early | The round is cancelled. Nobody is paid. |
A player who leaves mid-round loses their score — walking back in starts them at zero. Disconnecting counts as walking out.
Scoring#
Every water gun hit on another player is worth Config.ScorePerHit points — one by default. The server checks each hit before it counts:
Both players are inside the same arena, and its round is running.
The weapon is the water gun. Nothing else scores.
The target is another player — not yourself, not an NPC.
The same shooter scores on the same target at most once every 100 ms, so a held trigger cannot flood the board.
The water gun does no damage, inside an arena or anywhere else: every hit is cancelled on the server before it reaches its target.
Who gets paid#
When the clock runs out, the leaderboard is sorted by score and the first three are paid their place's reward — as long as they scored at least one point. A player on zero is paid nothing, even in first place.
The Water Jet#
The water gun shoots like a rifle — 25 metres of range, 500 rounds in the magazine — but what everyone sees is water: a jet from the muzzle while the trigger is held, and a splash where it lands. Each player's game draws the jets of everyone within 60 metres, so the effect costs no network traffic.
Config.WaterFx | Default | What it does |
|---|---|---|
| 0.35 | The jet's size. A fire truck's cannon is 1.0. The splash is drawn at twice this size. |
| vec3(0, 0, 0) | Where the jet starts, relative to the muzzle. |
| vec3(0, 0, -100) | Which way it points. Change it if the jet sprays sideways. |
| 250 | Keeps the jet flowing between the shots of automatic fire. |
| 200 | How often, in ms, the game looks for nearby shooters while nobody is spraying. |
| core · water_cannon_jet · water_cannon_spray · gun_muzzle | The particles used and the bone the jet is attached to. Leave them unless you know the particle library. |
Tuning those numbers by hand is slow. /waterfxdebug changes them live while you watch and prints the result ready to paste — see Commands and Exports.
The Settings#
Everything that applies to the whole server lives in config/main.lua. Restart qs-waterwar to apply a change.
General
Setting | Default | What it does |
|---|---|---|
| 'en' | The language file in |
| true | Step-by-step console output, and every arena's zone drawn in the world. Turn it off on a live server. |
| nui://qs-waterwar/web/ | Where the interface finds its pictures. Leave them as they are. |
Creator
Setting | Default | What it does |
|---|---|---|
| 'waterwarcreator' | The command that opens the creator. |
| 30.0 | Metres around the outline before its walls turn green. |
| admin = 0, superadmin = 0 | Jobs, with their lowest grade, that may use the creator. |
| true | Whether the ace below opens the creator. |
| 'waterwar.creator' | The ace that opens the creator. |
Arenas and the water gun
Setting | Default | What it does |
|---|---|---|
| 180 | Round length, in seconds, offered to new arenas. |
| 16 | Player cap offered to new arenas. |
| WEAPON_WATERGUN | The weapon handed out. Scoring only counts the water gun, so leave it. |
| 9999 | Ammo given with the water gun. |
Battles
Setting | Default | What it does |
|---|---|---|
| 1 | Points for each hit. |
| true | Put the player's weapons away when they walk in. |
| true | Give them back when they walk out. Off, they are gone for good. |
| on · cyan · 180 · 60 | The walls shown to players inside an arena: |
Rewards and blips
Setting | Default | What it does |
|---|---|---|
| 5000 · 2500 · 1000 | Money and items for 1st, 2nd and 3rd, copied into new arenas. |
| 'money' | The account rewards are paid into: |
| 310 · 3 · 0.8 | Sprite, colour, scale and label offered to new arenas. |
Interface
Setting | Default | What it does |
|---|---|---|
| tr-TR · TRY | How money is written on screen. See Integrations → The currency format. |
Editor controls and camera
ActionControls maps each action of the drawing camera to one or more GTA control IDs, and CameraOptions sets how it moves:
CameraOptions = {
lookSpeedX = 1000.0, -- mouse sensitivity, up and down
lookSpeedY = 1000.0, -- mouse sensitivity, left and right
moveSpeed = 20.0, -- W A S D
climbSpeed = 10.0, -- Q / E
}The keys used while drawing are forward, right, up, leftClick, undo_point, boundary_height, done and cancel. Change a code to move an action to another key; the on-screen hints follow.
A few values in the file —
Config.CreatorAlpha,Config.BroadcastInterval,Config.ActiveBattleBlipColor,Config.Sounds,Config.ZoneCheckInterval,Config.WaterFx.hitRangeandCameraOptions.rotateSpeed— are not read by this version. Changing them has no effect.



