Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#2367
Старый 12.08.2017, 20:27
  #2367
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

АзгалорЗдравствуйте. Пожалуйста подскажите, умные люди, если знаете ответ!
Как помните, во Владыках Севера красные рыцари переводили свой найм в красный с помощью этого скрипта:

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

__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием