Water Fill & Dispenser Script

LuaLab-WaterFill

A QBCore water bottle system that allows players to fill and drink from water bottles at water dispensers.

Preview : Youtube

Features

  • Two types of water bottles (Regular and Premium)

  • Modern UI for water filling

  • Animated water dispenser interface

  • Water level tracking system

  • Usage limit for regular bottles

  • Thirst management integration

  • Target system integration

  • Optimized performance

Configuration

You can modify the following in config.lua:

  • Notification messages

  • Bottle settings (capacity, uses, drink amount)

  • Water dispenser props

  • Animation settings

  • Prop settings

  • UI settings

Usage

  1. Get a water bottle (/giveitem metal_bottle 1 or /giveitem metal_bottle2 1)

  2. Find a water dispenser

  3. Use qb-target to interact with the dispenser

  4. Select your bottle and fill amount

  5. Use the bottle from your inventory to drink

Features Explained

Regular Bottle (metal_bottle)

  • Limited to 10 uses

  • Holds up to 100% water

  • Breaks after all uses

Premium Bottle (metal_bottle2)

  • Unlimited uses

  • Holds up to 100% water

  • Never breaks

Download
Github : Click Here
Tebex : Click Here

For Installations: Docs

Our Other Scripts
LuaLab Multicharacters + Spawn Selector
LuaLab Clean HUD System

Code is accessible Yes
Subscription-based No
Lines (approximately) +500
Requirements qb-core - qb-target - qb-inventory
Support No
10 Likes

nice work! :wink:

1 Like

Wow, it’s absolutely what i’ve been looking for, great work lad !

By any chance, do you plan on making an ox_inv version ?

Keep up the good work !

1 Like

Yes. I will make for ox inv.

2 Likes

ox inv , ox lib , ox target version pls , i love this :heart_eyes:

4 Likes

if (item.info?.waterAmount !== undefined) {
// This is a drinkable item (e.g., bottles, cans)
return Filled: ${item.info.waterAmount || 0}% +
(item.info.uses !== undefined ? | Uses: ${item.info.uses}/10 : “”);
} else if (item.info?.hungerAmount !== undefined || item.info?.thirstAmount !== undefined) {
// This is an edible item (food or mixed food/drink)
return Hunger: ${item.info.hungerAmount || 0}% | Thirst: ${item.info.thirstAmount || 0}%;
} else {
// If it doesn’t have relevant properties, return the default name
return item.name;
}

Damn, thanks man !

1 Like

Would Love This For OX

Will be awaiting the Ox version!

I was looking for something like this. Would love a tutorial!