Всем привет! Есть вопрос
Я написал скрипт по типу превращалки как в кампании РедХейвена, только оочень простую. Так вот, когда, например, кладу в превращалку 20 скелетов-лучников, то получаю 20 моих ncf скелетов, НО если я кладу туда два стека по 10 (то есть в общем 20), то результатом получаю 40(!)
----Превращалка: Хафад может преобразовывать обычную нежить в новых некроюнитов----
function CustomAbility(hero, id)
if (id == CUSTOM_ABILITY_3) then
Hero = hero
MakeHeroInteractWithObject(hero, "ritual")
sleep(10)
for i=0,6 do
local type, num = GetObjectArmySlotCreature("ritual", i)
if (type >= 30 and type <= 42 and mod(type, 2) == 0) or (type >= 152 and type <= 158) then
startThread(NecroRitual)
SetObjectOwner("ritual", PLAYER_2)
end
end
local x,y = GetObjectPosition("Hafad")
PlayVisualEffect("/Effects/_(Effect)/Spells/Curse.xdb#xpointer(/Effect)","","tag1", x+0.5,y+0.5,0,GROUND);
PlayVisualEffect("/Effects/_(Effect)/Spells/DisruptingRay.xdb#xpointer(/Effect)","","tag1", x+0.5,y+0.5,0,GROUND);
sleep(2)
PlayVisualEffect("/Effects/_(Effect)/Spells/AnimateDead.xdb#xpointer(/Effect)","","tag1", x+0.5,y+0.5,0,GROUND);
local Level = GetHeroLevel("Hafad")
local Spell = GetHeroStat("Hafad", STAT_SPELL_POWER)
local quantity = 0.35 * Level + Spell
AddHeroCreatures("Hafad", 40, quantity)
ShowFlyingSign("/Text/MasterOfDeath.txt", "Hafad", 1, 5.0)
sleep(1)
ControlHeroCustomAbility(hero, CUSTOM_ABILITY_3, CUSTOM_ABILITY_DISABLED)
end
end
function NecroRitual()
for i=0,6 do
local type, num = GetObjectArmySlotCreature("ritual", i)
if GetObjectArmySlotCreature("ritual", i) == 30 then
RemoveObjectCreatures('ritual', type, num, i)
AddHeroCreatures(Hero, 896, num)
elseif type == 32 then
RemoveObjectCreatures('ritual', type, num, i)
AddHeroCreatures(Hero, 897, num)
elseif type == 34 then
RemoveObjectCreatures('ritual', type, num, i)
AddHeroCreatures(Hero, 898, num)
elseif type == 36 then
RemoveObjectCreatures('ritual', type, num, i)
AddHeroCreatures(Hero, 899, num)
elseif type == 38 then
RemoveObjectCreatures('ritual', type, num, i)
AddHeroCreatures(Hero, 900, num)
elseif type == 90 then
RemoveObjectCreatures('ritual', type, num, i)
AddHeroCreatures(Hero, 901, num)
elseif type == 42 then
RemoveObjectCreatures('ritual', type, num, i)
AddHeroCreatures(Hero, 902, num)
end;
end;
end;