извините но не разбираюсь в программировании и естественно не фига не понял не могли бы вы помочь мне ?
garrisons={'G1', 'G2', 'G3', 'G4', 'G5', 'G6', 'G7', 'G8', 'G9'} garrisons_army={} for j, gar in garrisons do Trigger(5, gar, 'capture_gar') for i = 0, 6 do local t, n = GetObjectArmySlotCreature(gar, i) garrisons_army[gar]= {t, n} end end
function capture_gar(oldowner, newowner, hero, gar) for i = 0, 6 do if garrisons_army[gar][1] ~= 0 then AddObjectCreatures(gar, garrisons_army[gar][1], garrisons_army[gar][2]*2) end end DenyGarrisonCreaturesTakeAway(gar, 1) Trigger(5, gar, nil) end
Если честно, не факт, что заработает, просто не уверен, что переменная правильно проинициализируется, как трёхмерный массив. И да, возможно, просто стоит делать способом пусть и менее красивым, но более формальным, который точно сработает, для этого надо постараться не делать трёхмерных массивов, да и двумерные нежелательны. Но это, если не сможем сделать рабочий вариант "красивого" варианта.