Flash Flood
Flash Flood raises the map's water level through a synchronized sequence of water files, then lowers it and resets the game's water. It includes a standalone start command and an integration for Disaster Hub.
POPULAR LINKS
- ACE PERMISSIONS — Setting up access
- DISASTER HUB — Combined disasters and weather triggers
- WEATHER — Big Daddy Weather documentation
- EAS — Emergency Alert System documentation
- LOG COLLECTION — Gathering logs for support
{:links-list}
INSTALLATION
- Copy the inner
BigDaddy-FlashFloodresource folder into your server's resources folder. Use the folder containingfxmanifest.lua,settings.ini, the DLLs,bridge, anddata. - Add your own product key to
key1under[licensing]insettings.ini. Leave the supplied synchronization value unchanged. - Keep all packaged
data/water*.xmlfiles. The flood uses the odd-numbered files fromwater1.xmlthroughwater349.xml; cleanup calls the game's water reset. - Start your weather resource first if you use one. Start
BigDaddy-EASbefore Flash Flood if you want its optional emergency alert. - Add
ensure BigDaddy-FlashFloodtoserver.cfg. If you use Disaster Hub, start Flash Flood beforeBigDaddy-DisasterHub. - Configure permissions and restart the resource. Reconnect before testing so the player initialization runs again.
DO NOT RENAME THE FOLDER. The resource must be named
BigDaddy-FlashFlood; its configuration and water-file paths use that name.
{:is-danger}
Disaster Hub and EAS are optional integrations. There is no framework, inventory, database, or menu configuration.
CONFIGURATION
settings.ini
| Section | Setting | Supplied / fallback | Description |
|---|---|---|---|
[licensing] |
key1 |
Your product key | Enter your own product key here. |
[settings] |
UseAcePermissions |
true / false |
Checks the invoking player's permission for each standalone command or network trigger. |
[settings] |
AcePermission |
command / command |
ACE object required when permission checking is enabled. |
[settings] |
UseEAS |
true / false |
Enables the standalone flood alert when BigDaddy-EAS is started. |
[settings] |
EASTitle |
EMERGENCY ALERT SYSTEM / same |
Title passed to EAS for the standalone alert. |
[settings] |
EASMessage |
Dangerous Flash Flooding is imminent. Find high ground immediately. / same |
Standalone flood warning text. |
[settings] |
debug |
true / false |
Enables additional resource diagnostic messages where implemented. |
[settings] |
DesyncKey |
Supplied by the package | Internal synchronization value. Leave it unchanged. |
Restart the resource after editing settings. Setting names are case-insensitive. Edit the existing keys rather than adding duplicate entries.
There are no INI settings for flood height, rise speed, fall speed, duration, automatic scheduling, or random flood probability in this source.
ACE permissions
To configure a dedicated permission, set these values under the existing [settings] section:
UseAcePermissions=true
AcePermission=bigdaddy.flashflood
Grant the object to your administrator group in server.cfg:
add_ace group.admin bigdaddy.flashflood allow
Your administrators must also belong to that group. See the permissions guide for assigning principals.
Permissions are checked when a player invokes the command or standalone event; another player's join or permission change does not affect that caller. Server-console commands and local server integrations remain available. The Hub trigger is restricted to server-side calls.
COMMANDS AND FLOOD BEHAVIOR
| Command | Purpose |
|---|---|
/startflashflood |
Requests a standalone flood after successful resource initialization. Takes no supported arguments. |
Water levels and timing
The client loads the current water stage selected by the server: odd-numbered files from water1.xml through water349.xml, followed by the same valid range in reverse. Those packaged endpoints define water heights of 0.1 and 34.9. Short floods can skip intermediate files to stay within the requested duration. The files define a broad water area rather than a configurable local flood zone.
The requested duration covers the complete lifecycle: standalone weather lead-in, rise, any peak hold, descent, and cleanup. The standalone lead-in is the smaller of ten seconds or one fifth of the duration. Hub floods have no Flash Flood weather lead-in.
Rise and descent each use up to 148.75 seconds. Shorter floods divide the remaining time equally between rise and descent; longer floods hold at the peak between those ramps. The server resumes its standalone weather bridge when the full flood finishes. The default random duration is 45,000–119,999 milliseconds.
Only one flood runs at a time. Additional triggers are ignored until completion. Joining players receive the current stage rather than replaying the rise. Clients retry initialization while waiting for the server and have a local completion timer so missing the final broadcast cannot leave the water elevated indefinitely.
Normal completion, a water-loading failure, and resource stop restore water. Standalone clients also restore their saved weather transition, while the server bridge releases its provider. Hub floods leave weather management to the Hub.
The Alamo Sea does not use normal sea levels for its water level so you will see the sea go to way more shallow than normal and probably pop to the right level at the end. This is just how it is with how GTA deals with water levels and the Alamo Sea.
DISASTER HUB INTEGRATION
Start BigDaddy-FlashFlood before BigDaddy-DisasterHub, then select Flash Flood in /DisasterHub. The Hub can also request floods from eligible rain or thunder weather checks. Configure those checks and FlashFloodChance in the Hub, not in Flash Flood's settings.
The Hub calls BigDaddy-FlashFlood:StartFlashFloodHub with a duration in seconds. That handler broadcasts a flood intended to run without Flash Flood forcing the weather. It does not suspend/resume Flash Flood's weather bridge or send Flash Flood's standalone EAS alert; the Hub handles its own weather and alert logic.
Server integration events
| Server event | Argument | Behavior |
|---|---|---|
BigDaddy-FlashFlood:StartFlashFlood |
Integer duration in seconds | Standalone path with weather bridge and optional EAS. Pass 0 for the random duration. |
BigDaddy-FlashFlood:StartFlashFloodHub |
Integer duration in seconds | Hub path without Flash Flood's own weather bridge or EAS calls. Pass 0 for the random duration. |
Positive durations must be between 1 and 86,400 seconds and include the complete flood lifecycle. Negative or larger values are rejected. Call the Hub event from server logic. For example:
TriggerEvent('BigDaddy-FlashFlood:StartFlashFloodHub', 120)
WEATHER BRIDGE
Edit Config.WeatherBridge at the top of bridge/weather.server.lua.
| Option | Default | Description |
|---|---|---|
Enabled |
true |
Enables bridge suspend/resume handling. Turning this off does not disable flooding or the client's direct weather requests. |
Provider |
'auto' |
Detects the first started provider in the order below, or selects an explicit provider identifier. |
RestorePreviousWeather |
true |
Lets the QB handler request the saved weather on resume when available. |
Debug |
false |
Enables [WeatherBridge] diagnostics, including failed export calls. |
| Detection order / resource | Identifier | Implemented bridge behavior |
|---|---|---|
BigDaddy-Weather |
bigdaddy |
Reads GetWeather; sends weather-sync suspend/resume events. |
qb-weathersync |
qb-weathersync |
Reads weather/dynamic state; attempts to disable dynamic weather and restore the saved state on resume. |
cd_easytime |
cd_easytime |
Reads GetAllData; no working suspend/resume hooks are supplied. |
Renewed-Weathersync |
renewed |
Reads GlobalState.weather; no working suspend/resume hooks are supplied. |
vSync |
vsync |
Detection only; no stock weather getter or working suspend/resume hooks are supplied. |
vMenu |
vmenu |
Detection only; no stock weather getter or working suspend/resume hooks are supplied. |
These are the hooks present in this project, not confirmation of compatibility with every provider version. No detected provider gives none; you can also explicitly set Provider='none'.
For a custom integration, select Provider='custom' and fill the Custom fields in the bridge:
SuspendEvent/ResumeEvent: server events called with(enabled, reason).SuspendExportResource/SuspendExportName: server export called on suspend with the same arguments.ResumeExportResource/ResumeExportName: server export called on resume with the same arguments.CurrentWeatherExportResource/CurrentWeatherExportName: getter called without arguments, returning a weather string or a table with a recognized weather field.
Both the event and export are called if both are configured for an action. The weather getter does not create automatic flood behavior; Flash Flood has no weather watcher.
Bridge server exports
The resource exposes Suspend(enabled, reason), Resume(reason), IsSuspended(), GetSuspendedReason(), GetProvider(), and GetCurrentWeather() through its Lua bridge. Pass true to Suspend to request suspension. Resume requests resumption.
The bridge tracks suspension ownership, rejects another reason's resume request, and resumes the original provider even if auto-detection changes during the flood. Its resource-stop handler attempts recovery if the resource is interrupted. These controls are server-side integrations rather than client-callable weather events.
IsSuspended() reports the bridge's recorded state, not proof that the provider paused. Placeholder handlers and caught export failures can still leave that state marked suspended. GetCurrentWeather() returns a weather string or nil when unavailable. Providers without implemented hooks require a custom integration.
EMERGENCY ALERTS
For standalone floods, enable UseEAS=true and start BigDaddy-EAS. When the server starts the flood, it sends EASTitle and EASMessage to BigDaddy-EAS:BuildEAS, with an empty alert-type argument.
Hub-triggered floods skip this alert. Configure the Hub's Flash Flood EAS settings for that path instead.