Здравствуйте. Пожалуйста подскажите, умные люди, если знаете ответ! :) Как помните, во Владыках Севера красные рыцари переводили свой найм в красный с помощью этого скрипта:
function transformTroops( heroName ) sleep(3); print("function transformTroops for hero ", heroName ," has started..."); while IsHeroAlive ( heroName ) == true do for i=1,14 do creaturesCount = GetHeroCreatures( heroName, i ); if creaturesCount > 0 then RemoveHeroCreatures( heroName, i, 10000); n = i; if mod(i,2) ~= 0 then n = i + 1; end; AddHeroCreatures( heroName, 105 + (n/2), creaturesCount ); end; end; sleep(2); end; print("Hero ", heroName, " is dead. Function transformTroops terminated"); end;
Помощь нужна в плане такого: Как бы мне заставить функцию наоборот из красных переводить в белых? Сколько ни пробовал - вообще не получалось. Вместо 1,14 ставил 106, 112, а вместо 105 вставил 1... Красных-то удаляет, но спавнит в героя вообще что-попало.
Спасибо за помощь(если такова будет). :)
Примерно так должно сработать:
function transformTroops(hero) while IsHeroAlive(hero) do sleep(2) for i=106,112 do local n = GetHeroCreatures(hero, i) if n > 0 then RemoveHeroCreatures(hero, i, n) AddHeroCreatures(hero, (i-105)*2, n) end end end end