Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#3859
Старый 27.07.2023, 18:13
  #3859
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 426
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 426
По умолчанию
Re: Скрипты

Всем привет! Есть вопрос
Я написал скрипт по типу превращалки как в кампании РедХейвена, только оочень простую. Так вот, когда, например, кладу в превращалку 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;
__________________
Всем привет,я BlueHeavenHero, любитель Героев Меча и Магии 5 и фанат Дронов-убийц, пишу свою книгу.
#СинийРайскийГерой
by BlueHeavenHero 
- мой ТГ-канал со всякой ерундой, сочинениями и рисуночками.

=======================================
Мои
карты:
"Падший рыцарь"
"Сердце Хаоса"
Мои моды:

"Странствующий рыцарь"
"Наёмники"
"Существа в замке на глобальной карте"

Всем привет,я BlueHeavenHero, любитель Героев Меча и Магии 5 и фанат Дронов-убийц, пишу свою книгу.
#СинийРайскийГерой
by BlueHeavenHero 
- мой ТГ-канал со всякой ерундой, сочинениями и рисуночками.

=======================================
Мои
карты:
"Падший рыцарь"
"Сердце Хаоса"
Мои моды:

"Странствующий рыцарь"
"Наёмники"
"Существа в замке на глобальной карте"

BlueHeavenHero вне форума
Ответить с цитированием