Перейти к содержанию

Текущие вопросы и ответы по редактору карт

Аватар пользователя
#1283
crazy_kill
Как изменить прирост существ(а) в замке, "CreatureHired" им?

скриптом, SetObjectDwellingCreatures функцией

простой пример:

SetObjectDwellingCreatures('HeavenTown', CREATURE_ARCHER, GetObjectDwellingCreatures('HeavenTown', CREATURE_ARCHER)+12);
сложный пример (здесь прирост увеличивается случайным образом для случайного уровня существ в городе с именем TOWN_DWARVEN):

dwellingRnd = random(6);
if IsObjectExists(TOWN_DWARVEN) == true then
		if dwellingRnd == 0 then
			dwellingCreatures = 92;
			text = GetMapDataPath()..'dwelling_d01.txt';
		elseif dwellingRnd == 1 then
			dwellingCreatures = 94;
			text = GetMapDataPath()..'dwelling_d02.txt';
		elseif dwellingRnd == 2 then
			dwellingCreatures = 96;
			text = GetMapDataPath()..'dwelling_d03.txt';
		elseif dwellingRnd == 3 then
			dwellingCreatures = 98;
			text = GetMapDataPath()..'dwelling_d04.txt';
		elseif dwellingRnd == 4 then
			dwellingCreatures = 100;
			text = GetMapDataPath()..'dwelling_d05.txt';
		elseif dwellingRnd == 5 then
			dwellingCreatures = 102;
			text = GetMapDataPath()..'dwelling_d06.txt';
		elseif dwellingRnd == 6 then
			dwellingCreatures = 104;
			text = GetMapDataPath()..'dwelling_d07.txt';
		end;
		count = GetObjectDwellingCreatures(TOWN_DWARVEN, dwellingCreatures);
		if count > 0 then
			dwellingCount = count*3;
			SetObjectDwellingCreatures(TOWN_DWARVEN, dwellingCreatures, dwellingCount);
			MessageBox(text);
		else
			print('addDwellingCreatures: Dwelling (creatures id: '..dwellingCreatures..' in Dwarven town not found');
		end;
end;

можно так же модом, но в таком случае прирост будет увеличен для всех городов на всех картах (не рекомендую :smile28: )
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация