я бы предложил вариант покороче даже:
red_squads = {["red1"] = 1, ["red2"] = 1, ["red3"] = 1, ["red4"] = 1, ["red5"] = 1, ["red6"] = 1, ["red7"] = 1, ["red8"] = 1, ["red9"] = 1, ["red10"] = 1,
["red11"] = 1, ["red12"] = 1, ["red13"] = 1, ["red14"] = 1, ["red15"] = 1};
rednumber = 0
function CheckRedStacks()
while 1 do
for stack, exists in red_squads do
if exists and (not IsObjectExists(stack)) then
red_squads[stack] = nil
rednumber = rednumber + 1
if GetObjectiveState('нужное_задание') == OBJECTIVE_ACTIVE then
SetObjectiveProgress('нужное_задание', rednumber)
end
end
end
sleep()
end
end
startThread(CheckRedStacks)