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) ]] |