BenzyFishing — Exports
All exports are namespaced under the resource, e.g. exports.BenzyFishing:GetCatchCount(src).
Server exports — reads
GetCatchCount(src) → number
The total number of fish a player has caught (0 if unknown). Junk is not counted.
local caught = exports.BenzyFishing:GetCatchCount(source)
GetPlayerFishStats(src) → table | nil
A copy of a player's summary, or nil if they have no record yet.
local s = exports.BenzyFishing:GetPlayerFishStats(source)
-- s = {
-- license, name,
-- totalCaught, totalSold, totalEarned,
-- biggestSpecies, biggestWeight, -- biggestSpecies may be nil
-- }
GetChallenge(period) → table | nil
The challenge currently running for 'daily' or 'weekly', or nil when that period is off. It is the same for every player and stays fixed for the whole day or week.
local ch = exports.BenzyFishing:GetChallenge('daily')
-- ch = {
-- period, -- 'daily' | 'weekly'
-- periodKey, -- the day/week it belongs to, e.g. '2026-08-06'
-- goals, -- { { species = 'tuna', label = 'Bluefin Tuna', need = 3 }, ... }
-- }
GetChallengeProgress(src, period) → table | nil
How far a player has got on that period's challenge, or nil when the period is off.
local p = exports.BenzyFishing:GetChallengeProgress(source, 'daily')
-- p = { done = false, progress = { tuna = 2 } } -- progress is species -> count
GetChallengesCompleted(src) → number
How many challenges a player has completed in total — the number the challenge leaderboard ranks.
local n = exports.BenzyFishing:GetChallengesCompleted(source)
Server exports — actions
SellFish(src)
Sell everything the player is holding, exactly as if they ran /sellfish (pays through BenzyBridge, updates stats, fires BenzyFishing:FishSold).
exports.BenzyFishing:SellFish(source)
Client exports
Notify(kind, title, message, duration)
Show a notification through BenzyFishing (routed by BenzyBridge to whatever notification system it resolves). kind is 'success' | 'error' | 'info' | 'warn'.
exports.BenzyFishing:Notify('success', 'Fishing', 'Nice catch!', 4000)