Compare commits

...

6 Commits

Author SHA1 Message Date
Jim Shield
8642733b78 version.txt - Version bump - 1.0.5 2024-01-21 17:17:55 +00:00
Jim Shield
5a4293182c version number plz work 2024-01-21 17:10:32 +00:00
Jim Shield
6075878038 Update version.txt 2024-01-21 00:56:19 +00:00
Jim Shield
7eaeac886f Merge pull request #8 from jimathy/1.0.4
1.0.4
2024-01-21 00:27:08 +00:00
Jim Shield
fe27a1ca1c speed playAnim up + add default input message 2024-01-21 00:25:42 +00:00
Jim Shield
0caea0b473 advanced checking and handling of setVehicle 2024-01-20 14:28:10 +00:00
3 changed files with 35 additions and 10 deletions

View File

@@ -29,7 +29,7 @@ function pairsByKeys(t) local a = {} for n in pairs(t) do a[#a+1] = n end table.
function playAnim(animDict, animName, duration, flag, ped) function playAnim(animDict, animName, duration, flag, ped)
loadAnimDict(animDict) loadAnimDict(animDict)
TaskPlayAnim(ped and ped or PlayerPedId(), animDict, animName, 1.0, -1.0, duration or 30000, flag or 50, 1, false, false, false) TaskPlayAnim(ped and ped or PlayerPedId(), animDict, animName, 8.0, -8.0, duration or 30000, flag or 50, 1, false, false, false)
end end
function stopAnim(animDict, animName) function stopAnim(animDict, animName)

View File

@@ -1 +1 @@
1.0.4 1.0.5

View File

@@ -767,6 +767,7 @@ function createInput(title, opts)
options[i] = { options[i] = {
type = "input", type = "input",
label = opts[i].text ..(opts[i].txt and " - "..opts[i].txt or ""), label = opts[i].text ..(opts[i].txt and " - "..opts[i].txt or ""),
default = opts[i].default,
isRequired = opts[i].isRequired, isRequired = opts[i].isRequired,
} }
end end
@@ -925,25 +926,49 @@ function getVehicleProperties(vehicle)
if vehicle == nil then return nil end if vehicle == nil then return nil end
if GetResourceState(QBExport):find("start") and not GetResourceState(QBXExport):find("start") then if GetResourceState(QBExport):find("start") and not GetResourceState(QBXExport):find("start") then
properties = Core.Functions.GetVehicleProperties(vehicle) properties = Core.Functions.GetVehicleProperties(vehicle)
if Config.System.Debug then print("^6Bridge^7: ^2Getting Vehicle Properties ^7[^6"..QBExport.."^7] - [^3"..vehicle.."^7] - [^3"..GetEntityModel(vehicle).."^7/^3"..properties.model.."^7] - [^3"..properties.plate.."^7]") end
elseif GetResourceState(OXLibExport):find("start") then elseif GetResourceState(OXLibExport):find("start") then
properties = lib.getVehicleProperties(vehicle) properties = lib.getVehicleProperties(vehicle)
if Config.System.Debug then print("^6Bridge^7: ^2Getting Vehicle Properties ^7[^6"..OXLibExport.."^7] - [^3"..vehicle.."^7] - [^3"..GetEntityModel(vehicle).."^7/^3"..properties.model.."^7] - [^3"..properties.plate.."^7]") end
end end
return properties return properties
end end
function setVehicleProperties(vehicle, props) function setVehicleProperties(vehicle, props)
if not DoesEntityExist(vehicle) then local oldProps = getVehicleProperties(vehicle)
print(("Unable to set vehicle properties for '%s' (entity does not exist)"): if checkDifferences(vehicle, props) then
format(vehicle)) --if Config.System.Debug then debugDifferences(vehicle, props) end
end if not DoesEntityExist(vehicle) then
if GetResourceState(QBExport):find("start") and not GetResourceState(QBXExport):find("start") then print(("Unable to set vehicle properties for '%s' (entity does not exist)"):
if Config.System.Debug then print("^6Bridge^7: ^2Setting Vehicle Properties ^7[^6"..QBExport.."^7] - [^3"..vehicle.."^7] - [^3"..GetEntityModel(vehicle).."^7] - [^3"..props.plate.."^7]") end format(vehicle))
Core.Functions.SetVehicleProperties(vehicle, props) end
if GetResourceState(QBExport):find("start") and not GetResourceState(QBXExport):find("start") then
Core.Functions.SetVehicleProperties(vehicle, props)
if Config.System.Debug then print("^6Bridge^7: ^2Setting Vehicle Properties ^7[^6"..QBExport.."^7] - [^3"..vehicle.."^7] - [^3"..GetEntityModel(vehicle).."^7/^3"..props.model.."^7] - [^3"..props.plate.."^7]") end
else
TriggerServerEvent(GetCurrentResourceName()..":ox:setVehicleProperties", VehToNet(vehicle), props)
end
else else
TriggerServerEvent(GetCurrentResourceName()..":ox:setVehicleProperties", VehToNet(vehicle), props) if Config.System.Debug then print("^6Bridge^7: ^2No Changes Found ^7 [^3"..vehicle.."^7] - [^3"..GetEntityModel(vehicle).."^7/^3"..props.model.."^7] - [^3"..props.plate.."^7]") end
end end
end end
function checkDifferences(vehicle, newProps)
local oldProps = getVehicleProperties(vehicle)
if Config.System.Debug then print("^6Bridge^7: ^2Finding differences in ^3Vehicle Properties^7") end
local allow = false
for k in pairs(oldProps) do
if json.encode(oldProps[k]) ~= json.encode(newProps[k]) then
allow = true
if Config.System.Debug then
print("^6Bridge^7: ^5Old ^7[^3"..k.."^7] - "..json.encode(oldProps[k], { indent = true }))
print("^6Bridge^7: ^5New ^7[^3"..k.."^7] - "..json.encode(newProps[k], { indent = true }))
end
end
end
return allow
end
RegisterNetEvent(GetCurrentResourceName()..":ox:setVehicleProperties", function(netId, props) RegisterNetEvent(GetCurrentResourceName()..":ox:setVehicleProperties", function(netId, props)
local vehicle = NetworkGetEntityFromNetworkId(netId) local vehicle = NetworkGetEntityFromNetworkId(netId)
local value = props local value = props