Способ #2:
gar="имя гарнизона"
gar_army={}
for i = 0, 6 do
local t, n = GetObjectArmySlotCreature(gar, i)
gar_army[i]={t, n}
end
Trigger(5, gar, 'capture_gar')
function capture_gar(oldowner, newowner, hero, gar)
for i = 0, 6 do
if gar_army[i][1] ~= 0 then
AddObjectCreatures(gar, gar_army[i][1], gar_army[i][2]*2)
end
end
DenyGarrisonCreaturesTakeAway(gar, 1)
Trigger(5, gar, nil)
end