mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
Update CTLD.lua (#2164)
#CTLD * Fix for helo being no Chinook not finding crates e.g. on a ship or FARP * `nil` check for static cargo position check
This commit is contained in:
parent
bc9938d08a
commit
a54944b021
@ -2817,6 +2817,7 @@ function CTLD:_FindCratesNearby( _group, _unit, _dist, _ignoreweight)
|
|||||||
local capabilities = {}
|
local capabilities = {}
|
||||||
local maxmass = 2000
|
local maxmass = 2000
|
||||||
local maxloadable = 2000
|
local maxloadable = 2000
|
||||||
|
local IsNoHook = not self:IsHook(_unit)
|
||||||
if not _ignoreweight then
|
if not _ignoreweight then
|
||||||
maxloadable = self:_GetMaxLoadableMass(_unit)
|
maxloadable = self:_GetMaxLoadableMass(_unit)
|
||||||
end
|
end
|
||||||
@ -2830,14 +2831,14 @@ function CTLD:_FindCratesNearby( _group, _unit, _dist, _ignoreweight)
|
|||||||
local cargoalive = false -- TODO dyn cargo spawn workaround
|
local cargoalive = false -- TODO dyn cargo spawn workaround
|
||||||
local dcsunit = nil
|
local dcsunit = nil
|
||||||
local dcsunitpos = nil
|
local dcsunitpos = nil
|
||||||
if static.DCSCargoObject then
|
if static and static.DCSCargoObject then
|
||||||
dcsunit = Unit.getByName(static.StaticName)
|
dcsunit = Unit.getByName(static.StaticName)
|
||||||
if dcsunit then
|
if dcsunit then
|
||||||
cargoalive = dcsunit:isExist() ~= nil and true or false
|
cargoalive = dcsunit:isExist() ~= nil and true or false
|
||||||
end
|
end
|
||||||
if cargoalive == true then
|
if cargoalive == true then
|
||||||
local dcsvec3 = dcsunit:getPoint() or dcsunit:getPosition().p or {x=0,y=0,z=0}
|
local dcsvec3 = dcsunit:getPoint() or dcsunit:getPosition().p or {x=0,y=0,z=0}
|
||||||
self:I({dcsvec3 = dcsunit:getPoint(), dcspos = dcsunit:getPosition().p})
|
self:T({dcsvec3 = dcsunit:getPoint(), dcspos = dcsunit:getPosition().p})
|
||||||
if dcsvec3 then
|
if dcsvec3 then
|
||||||
dcsunitpos = COORDINATE:New(dcsvec3.x,dcsvec3.z,dcsvec3.y)
|
dcsunitpos = COORDINATE:New(dcsvec3.x,dcsvec3.z,dcsvec3.y)
|
||||||
end
|
end
|
||||||
@ -2850,9 +2851,10 @@ function CTLD:_FindCratesNearby( _group, _unit, _dist, _ignoreweight)
|
|||||||
local agl = staticpos.y-landheight
|
local agl = staticpos.y-landheight
|
||||||
agl = UTILS.Round(agl,2)
|
agl = UTILS.Round(agl,2)
|
||||||
local GCloaded = agl > 0 and true or false
|
local GCloaded = agl > 0 and true or false
|
||||||
|
if IsNoHook == true then GCloaded = false end
|
||||||
--- Testing
|
--- Testing
|
||||||
local distance = self:_GetDistance(location,staticpos)
|
local distance = self:_GetDistance(location,staticpos)
|
||||||
self:I({name=static:GetName(),agl=agl,GCloaded=GCloaded,distance=string.format("%.2f",distance or 0)})
|
self:T({name=static:GetName(),IsNoHook=IsNoHook,agl=agl,GCloaded=GCloaded,distance=string.format("%.2f",distance or 0)})
|
||||||
if (not GCloaded) and distance <= finddist and static and (weight <= maxloadable or _ignoreweight) then
|
if (not GCloaded) and distance <= finddist and static and (weight <= maxloadable or _ignoreweight) then
|
||||||
index = index + 1
|
index = index + 1
|
||||||
table.insert(found, staticid, cargo)
|
table.insert(found, staticid, cargo)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user