forked from Simnation/Main
ed
This commit is contained in:
parent
e85f2d3e0d
commit
8290e409ee
223 changed files with 420 additions and 0 deletions
|
@ -0,0 +1,75 @@
|
|||
--[[
|
||||
OPEN SOURCE FUNCTIONS FOR CUSTOM INTEGRATIONS
|
||||
These functions allow you to add custom checks, permissions, and interactions
|
||||
NOTE: These functions run on CLIENT SIDE - use callbacks for server data
|
||||
|
||||
Example 1: General interaction check (distance, items, conditions, etc.)
|
||||
function CanPlayerInteract(propName, serverId)
|
||||
local ped = PlayerPedId()
|
||||
if propName == "prompt_sandy_is_garage_rollup" then
|
||||
-- Check if player has specific item (using callback to server)
|
||||
local hasKey = lib.callback.await('garage:hasKey', false)
|
||||
return hasKey
|
||||
elseif propName == "prompt_sandy_is_lift" then
|
||||
return IsPedInAnyVehicle(ped, false) -- Must be in vehicle to use lift
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
Example 2: Job/permission specific access (use callbacks for server data)
|
||||
function HasJobAccess(propName, serverId)
|
||||
if propName == "prompt_sandy_is_secret_door" then
|
||||
local hasAccess = lib.callback.await('garage:checkMechanicAccess', false)
|
||||
return hasAccess
|
||||
elseif propName == "prompt_sandy_is_floorgate" then
|
||||
local isAdmin = lib.callback.await('garage:checkAdminAccess', false)
|
||||
return isAdmin
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
Example 3: Custom labels based on player data
|
||||
function GetCustomLabel(propName, serverId, defaultLabel)
|
||||
if propName == "prompt_sandy_is_garage_rollup" then
|
||||
local hasAccess = lib.callback.await('garage:checkMechanicAccess', false)
|
||||
if hasAccess then
|
||||
return "Open/Close Garage Door"
|
||||
else
|
||||
return "Access Denied - Mechanics Only"
|
||||
end
|
||||
elseif propName == "prompt_sandy_is_engine_full" then
|
||||
return "Use Engine Lift - $50"
|
||||
end
|
||||
return defaultLabel
|
||||
end
|
||||
|
||||
Example 4: Custom actions on interaction
|
||||
function OnPropInteraction(propName, serverId, propState)
|
||||
if propName == "prompt_sandy_is_secret_door" then
|
||||
TriggerEvent('garage:showSecretMenu')
|
||||
elseif propName == "prompt_sandy_is_engine_full" then
|
||||
TriggerServerEvent('garage:chargeEngineUse', propState)
|
||||
lib.notify({
|
||||
title = 'Engine Lift',
|
||||
description = 'Engine lift ' .. (propState and "lowered" or "raised"),
|
||||
type = 'success'
|
||||
})
|
||||
end
|
||||
end
|
||||
]]
|
||||
|
||||
function CanPlayerInteract(propName, serverId)
|
||||
return true
|
||||
end
|
||||
|
||||
function HasJobAccess(propName, serverId)
|
||||
return true
|
||||
end
|
||||
|
||||
function GetCustomLabel(propName, serverId, defaultLabel)
|
||||
return defaultLabel
|
||||
end
|
||||
|
||||
function OnPropInteraction(propName, serverId, propState)
|
||||
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue