
Documentation
Integrate the script with your server and connect it to your existing systems using the available developer API and events.
local isWorking = exports['qs-fishingjob']:isPlayerOnDuty(source)Parameters
Parameter | Type | Description |
|---|---|---|
| number | Player server ID |
Returns
booleanChecks whether a player is in a party with an active mission.
local onMission = exports['qs-fishingjob']:IsPlayerOnMission(source)Parameters
Parameter | Type | Description |
|---|---|---|
| number | Player server ID |
Returns
booleanReturns true for every member of the party, not only the leader.
Returns the attachments currently equipped by a player.
local gear = exports['qs-fishingjob']:getPlayerGear(source)Parameters
Parameter | Type | Description |
|---|---|---|
| number | Player server ID |
Returns
{ bait = string, hook = string, reel = string, line = string }Returns an empty table if the player has nothing equipped.
Takes out or puts away the fishing rod.
exports['qs-fishingjob']:toggleFishingRod()Opens the tackle box, where rods and attachments are managed.
exports['qs-fishingjob']:toggleFishingKit()Opens the job panel: missions, party, statistics and shop.
exports['qs-fishingjob']:openFisherMenu()Places a crab trap at the player's aim point.
exports['qs-fishingjob']:useCrabTrap()Requires water of at least CrabTraps.MinDepth (10 m) and respects the player's trap limit.
Deploys the corresponding trawl net from the boat's helm.
exports['qs-fishingjob']:useDriftNet()
exports['qs-fishingjob']:useTrawlNet()
exports['qs-fishingjob']:useDeepSeaNet()Each net has its own level requirement: 10, 20 and 32.
Equips the speargun or the dive tank.
exports['qs-fishingjob']:useSpeargun()
exports['qs-fishingjob']:useDiveTank()The speargun requires level 20 and a spear in the inventory.
Lights a campfire, consuming the configured amount of logs.
exports['qs-fishingjob']:lightCampfire()Places or packs up the grill boat.
exports['qs-fishingjob']:useFoodBoat()
exports['qs-fishingjob']:packUpFoodBoat()The grill boat can only be placed on solid ground.
Removes the blips created by the water guide.
exports['qs-fishingjob']:hideGuideBlips()Every client export has a network event twin, for inventories that dispatch usable items by event instead of by export.
TriggerEvent('qs-fisher:toggleFishingRod')
TriggerEvent('qs-fisher:toggleFishingKit')
TriggerEvent('qs-fisher:openFisherMenu')
TriggerEvent('qs-fisher:useCrabTrap')
TriggerEvent('qs-fisher:useNet', itemName)
TriggerEvent('qs-fisher:useSpeargun')
TriggerEvent('qs-fisher:useDiveTank')
TriggerEvent('qs-fisher:useCampfire')
TriggerEvent('qs-fisher:useFoodBoat')Parameters
Parameter | Type | Description |
|---|---|---|
| string | Net item name ( |
qs-fisher:useNet is the only one that takes an argument — it decides which net is deployed.
The config file exposes three helpers usable from both sides.
Function | Use |
|---|---|
| Formats a price respecting |
| Only called when |
| Prints only when |
Example: only allow a buyer ped to trade with players who are actually working.
if exports['qs-fishingjob']:isPlayerOnDuty(source) then
-- Your custom logic here
endExample: preventing a player from starting another job while on a fishing mission.
if exports['qs-fishingjob']:IsPlayerOnMission(source) then
print('Player is already on a fishing mission')
return
endExample: giving a bonus to players wearing a specific reel.
local gear = exports['qs-fishingjob']:getPlayerGear(source)
if gear.reel == 'deepsea_reel' then
-- Your custom logic here
endExample: for an inventory that does not support exports.
TriggerClientEvent('qs-fisher:useNet', source, 'trawl_net')