forked from Simnation/Main
60 lines
No EOL
1.5 KiB
Lua
60 lines
No EOL
1.5 KiB
Lua
EntitiesStates = {}
|
|
|
|
RegisterNetEvent("Utility:Net:UpdateStateValue", function(uNetId, key, value)
|
|
if not EntitiesStates[uNetId] then
|
|
EntitiesStates[uNetId] = {}
|
|
end
|
|
|
|
EntitiesStates[uNetId][key] = value
|
|
end)
|
|
|
|
GetEntityStateValue = function(uNetId, key)
|
|
if not EntitiesStates[uNetId] then
|
|
return
|
|
end
|
|
|
|
return EntitiesStates[uNetId][key]
|
|
end
|
|
|
|
ServerRequestEntityStates = function(uNetId)
|
|
local p = promise:new()
|
|
local event = nil
|
|
|
|
event = RegisterNetEvent("Utility:Net:GetState"..uNetId, function(states)
|
|
RemoveEventHandler(event)
|
|
p:resolve(states)
|
|
end)
|
|
|
|
TriggerServerEvent("Utility:Net:GetState", uNetId)
|
|
local states = Citizen.Await(p)
|
|
|
|
EntitiesStates[uNetId] = states
|
|
end
|
|
|
|
exports("GetEntityStateValue", GetEntityStateValue)
|
|
|
|
|
|
|
|
--[[ RegisterNetEvent("Utility:Net:OnRender", function(uNetid, obj, model)
|
|
print("Attaching change handler to", uNetid)
|
|
|
|
Citizen.CreateThread(function()
|
|
while true do
|
|
local state = UtilityNet.State(uNetid)
|
|
|
|
if state.random then
|
|
DrawText3Ds(GetEntityCoords(obj), "key: "..state.random.key.." key2: "..state.random.key2)
|
|
|
|
if state.random.deep then
|
|
DrawText3Ds(GetEntityCoords(obj) + vec3(0.0, 0.0, 0.5), "deep: "..state.random.deep.deep2)
|
|
end
|
|
end
|
|
|
|
Citizen.Wait(1)
|
|
end
|
|
end)
|
|
|
|
UtilityNet.AddStateBagChangeHandler(uNetid, function(key, value)
|
|
print("Updated", key, value)
|
|
end)
|
|
end) ]] |