Remove client side item functions

Move item adding and removal to server side
This commit is contained in:
Jim Shield
2025-11-02 15:51:43 +00:00
parent a26c7d018d
commit be456e8bf1
3 changed files with 51 additions and 17 deletions

View File

@@ -43,11 +43,13 @@ RegisterNetEvent(getScript()..":Skateboard:PickPlace", function(data)
if not IsPedSittingInAnyVehicle(Ped) then
if DoesEntityExist(skateboard.Bike) then
Attached = false
Wait(100)
stopTempCam()
makeFakeSkateboard(Ped, true, data.prop) -- pick up animation
currentToken = triggerCallback(AuthEvent)
addItem(lastItem, 1)
triggerCallback(getScript()..":auth:collectBoard")
skateboard = {}
Dir = {}
else
@@ -119,10 +121,9 @@ RegisterNetEvent(getScript()..":Skateboard:PickPlace", function(data)
storedVariables = skateboard
SetEntityCoords(skateboard.Bike, GetOffsetFromEntityInWorldCoords(Ped, 0.0, 0.5, 1.5))
SetEntityHeading(skateboard.Bike, GetEntityHeading(Ped)+90)
lastItem = data.name
if hasItem(data.name, 1) then
removeItem(data.name, 1)
end
triggerCallback(getScript()..":auth:logLastBoard", data.name)
Dir = {}
end
end
@@ -190,9 +191,10 @@ RegisterNetEvent(getScript()..":Skateboard:GetOn", function()
removeEntityTarget(skateboard.Bike)
removeEntityTarget(skateboard.Driver)
Attached = false
Wait(100)
currentToken = triggerCallback(AuthEvent)
addItem(lastItem, 1)
triggerCallback(getScript()..":auth:collectBoard")
skateboard = {}
Dir = {}
end

View File

@@ -42,11 +42,13 @@ RegisterNetEvent(getScript()..":Surfboard:PickPlace", function(data)
if not IsPedSittingInAnyVehicle(Ped) then
if DoesEntityExist(skateboard.Bike) then
Attached = false
Wait(100)
stopTempCam()
makeFakeSurfboard(Ped, true, data.prop) -- pick up animation
currentToken = triggerCallback(AuthEvent)
addItem(lastItem, 1)
triggerCallback(getScript()..":auth:collectBoard")
skateboard = {}
Dir = {}
else
@@ -129,10 +131,9 @@ RegisterNetEvent(getScript()..":Surfboard:PickPlace", function(data)
storedVariables = skateboard
SetEntityCoords(skateboard.Bike, GetOffsetFromEntityInWorldCoords(Ped, 0.0, 0.8, 0.0))
SetEntityHeading(skateboard.Bike, GetEntityHeading(Ped)+90)
lastItem = data.name
if hasItem(data.name, 1) then
removeItem(data.name, 1)
end
triggerCallback(getScript()..":auth:logLastBoard", data.name)
Dir = {}
end
end
@@ -211,9 +212,9 @@ RegisterNetEvent(getScript()..":Surfboard:GetOn", function() local Ped = PlayerP
removeEntityTarget(skateboard.Bike)
removeEntityTarget(skateboard.Driver)
Attached = false
Wait(100)
currentToken = triggerCallback(AuthEvent)
addItem(lastItem, 1)
triggerCallback(getScript()..":auth:collectBoard")
skateboard = {}
Dir = {}
end

View File

@@ -10,4 +10,35 @@ onResourceStart(function()
TriggerClientEvent(getScript()..":Surfboard:PickPlace", source, { name = k })
end)
end
local authCheck = {}
createCallback(getScript()..":auth:logLastBoard", function(source, item)
local src = source
if not SkateboardItemModels[item] and not SurfboardItemModels[item] then
print("^1Error^7: SRC: "..src.."^1Tried to log an item that wasn't a board^7: "..item)
return false
end
if authCheck[src] then
print("^1Error^7: SRC: "..src.." ^1already logged an item^7: "..authCheck[src])
return false
else
authCheck[src] = item
removeItem(item, 1, src)
debugPrint("^5Debug^7: SRC: "..src.." ^2logged an item^7: "..authCheck[src])
return true
end
end)
createCallback(getScript()..":auth:collectBoard", function(source)
local src = source
if not authCheck[src] then
print("^1Error^7: SRC: "..src.."^1Tried to request an item but it wasn't logged^7")
return false
else
addItem(authCheck[src], 1, nil, src)
authCheck[src] = nil
return true
end
end)
end, true)