From 4947887a78a07ffe15359d23ea79c658465a9667 Mon Sep 17 00:00:00 2001 From: Ciaran Fisher Date: Thu, 6 Aug 2015 19:23:34 +0100 Subject: [PATCH] Fixed Pilot Naming Fixed Pilot Naming Added distance to list CSAR list --- CSAR.lua | 30 +++++++++++++++++------------- csar-test.miz | Bin 463721 -> 463761 bytes 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/CSAR.lua b/CSAR.lua index e175b57..9fbf60c 100644 --- a/CSAR.lua +++ b/CSAR.lua @@ -1,5 +1,5 @@ --- MEDEVAC Script for DCS, By RagnarDa, DragonShadow, Shagrat, Ciribob & audax 2013, 2014, 2015 - +-- CSAR Script for DCS Ciribob 2015 +-- Version 1.1 - 6/8/2015 csar = {} @@ -14,7 +14,7 @@ csar.disableAircraft = true -- DISABLE player aircraft until the pilot is rescue csar.disableAircraftTimeout = true -- Allow aircraft to be used after 20 minutes if the pilot isnt rescued csar.disableTimeoutTime = 20 -- Time in minutes for TIMEOUT -csar.enableForAI = true -- disable AI units from being rescued. +csar.enableForAI = false -- set to false to disable AI units from being rescued. csar.bluesmokecolor = 4 -- Color of smokemarker for blue side, 0 is green, 1 is red, 2 is white, 3 is orange and 4 is blue csar.redsmokecolor = 1 -- Color of smokemarker for red side, 0 is green, 1 is red, 2 is white, 3 is orange and 4 is blue @@ -151,7 +151,7 @@ function csar.eventHandler:onEvent(_event) --mark plane as broken and unflyable if _unit:getPlayerName() ~= nil and csar.disableAircraft == true then - csar.currentlyDisabled[_unit:getName()] = csar.disableTimeoutTime*60 + timer.getTime() + csar.currentlyDisabled[_unit:getName()] = {timeout = csar.disableTimeoutTime*60 + timer.getTime(),desc=_text} timer.scheduleFunction(csar.checkDisabledAircraftStatus, _unit:getName(), timer.getTime() + 1) end @@ -171,11 +171,11 @@ end function csar.checkDisabledAircraftStatus(_name) - local _timeout = csar.currentlyDisabled[_name] + local _details = csar.currentlyDisabled[_name] - if _timeout ~= nil then + if _details ~= nil then - if csar.disableAircraftTimeout and timer.getTime() > _timeout then + if csar.disableAircraftTimeout and timer.getTime() > _details.timeout then --remove from disabled csar.currentlyDisabled[_name] = nil @@ -187,7 +187,7 @@ function csar.checkDisabledAircraftStatus(_name) if _unit ~= nil then --display message, - csar.displayMessageToSAR(_unit, _name .. " cannot be flown again until the Pilot is Rescued!", 10) + csar.displayMessageToSAR(_unit, _details.desc .. " needs to be rescued before this aircraft can be flown again!", 10) --destroy in 10 seconds timer.scheduleFunction(csar.destroyUnit, _name, timer.getTime() + 5) @@ -501,13 +501,15 @@ function csar.checkCloseWoundedGroup(_distance, _heliUnit, _heliName, _woundedGr local _woundedLeader = _woundedGroup[1] local _lookupKeyHeli = _heliUnit:getID() .. "_" .. _woundedLeader:getID() --lookup key for message state tracking + local _pilotName = csar.woundedGroups[_woundedGroupName].desc + local _woundedCount = 1 csar.popSmokeForGroup(_woundedGroupName, _woundedLeader) if csar.heliVisibleMessage[_lookupKeyHeli] == nil then - csar.displayMessageToSAR(_heliUnit, string.format("%s: %s. I hear you! Damn that thing is loud! Land by the smoke.", _heliName, _woundedLeader:getName()), 30) + csar.displayMessageToSAR(_heliUnit, string.format("%s: %s. I hear you! Damn that thing is loud! Land by the smoke.", _heliName,_pilotName), 30) --mark as shown for THIS heli and THIS group csar.heliVisibleMessage[_lookupKeyHeli] = true @@ -517,7 +519,7 @@ function csar.checkCloseWoundedGroup(_distance, _heliUnit, _heliName, _woundedGr if csar.heliCloseMessage[_lookupKeyHeli] == nil then - csar.displayMessageToSAR(_heliUnit, string.format("%s: %s. You're close now! Land at the smoke.", _heliName, _woundedLeader:getName()), 10) + csar.displayMessageToSAR(_heliUnit, string.format("%s: %s. You're close now! Land at the smoke.", _heliName, _pilotName), 10) --mark as shown for THIS heli and THIS group csar.heliCloseMessage[_lookupKeyHeli] = true @@ -542,7 +544,7 @@ function csar.checkCloseWoundedGroup(_distance, _heliUnit, _heliName, _woundedGr -- if the heli can't pick them up, show a message and return if _unitsInHelicopter + 1 > csar.max_units then csar.displayMessageToSAR(_heliUnit, string.format("%s, %s. We're already crammed with %d guys! Sorry!", - _woundedGroupName, _heliName, _unitsInHelicopter, _woundedCount), 10) + _pilotName, _heliName, _unitsInHelicopter, _woundedCount), 10) return true end @@ -557,7 +559,7 @@ function csar.checkCloseWoundedGroup(_distance, _heliUnit, _heliName, _woundedGr Group.destroy(_woundedLeader:getGroup()) - csar.displayMessageToSAR(_heliUnit, string.format("%s: %s I'm in! Get to the MASH ASAP! ", _heliName, _woundedLeader:getName()), 10) + csar.displayMessageToSAR(_heliUnit, string.format("%s: %s I'm in! Get to the MASH ASAP! ", _heliName, _pilotName), 10) timer.scheduleFunction(csar.scheduledSARFlight, { @@ -823,7 +825,9 @@ function csar.displayActiveSAR(_unitName) local _coordinatesText = csar.getPositionOfWounded(_woundedGroup[1]:getGroup()) - _msg = string.format("%s\n%s at %s - %.2f KHz ADF ", _msg, _groupName, _coordinatesText, _value.frequency/1000) + local _distance = csar.getDistance(_heli:getPoint(), _woundedGroup[1]:getPoint()) + + _msg = string.format("%s\n%s at %s - %.2f KHz ADF - %.3fKM ", _msg, _value.desc, _coordinatesText, _value.frequency/1000,_distance/1000.0) end end diff --git a/csar-test.miz b/csar-test.miz index c647c2ea53dc633d87062dd8a308cb41d6d02cc6..671eb019f2c160f36a22e52afb6d775451b8f5e2 100644 GIT binary patch delta 8719 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�M?Me{k4WyB#KX0AQ3hb22D9 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