Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#2562
Старый 24.02.2018, 13:35
  #2562
^
KioM
 
Аватар для KioM
📖
Регистрация: 01.02.2012
Адрес: Херсон, Украина
Сообщения: 351
Выставка наград
Регистрация: 01.02.2012
Адрес: Херсон, Украина
Сообщения: 351
Выставка наград
По умолчанию
Re: Скрипты

AstralLeinМинуточку...

Добавлено через 4 минуты
Trigger(OBJECT_CAPTURE_TRIGGER, "PlayerTown", "CaptureStraker")

function CaptureStraker()
if ( GetObjectOwner ("PlayerTown") == PLAYER_4 ) then
Trigger(OBJECT_CAPTURE_TRIGGER, "PlayerTown", nil)
sleep(5)
TransformTown("PlayerTown", TOWN_NECROMANCY)
ChangeHeroStat("Straker", 7, -999999999999999)
sleep(5)
SetAIPlayerAttractor("PlayerTown", 4, 1)
ReplaceDwelling("Dwell1", TOWN_NECROMANCY)
SetObjectOwner("Dwell1", 4)
ReplaceDwelling("Dwell2", TOWN_NECROMANCY)
SetObjectOwner("Dwell2", 4)
ReplaceDwelling("Dwell3", TOWN_NECROMANCY)
SetObjectOwner("Dwell3", 4)
ReplaceDwelling("Dwell4", TOWN_NECROMANCY)
SetObjectOwner("Dwell4", 4)
end
end

Добавлено через 1 минуту
ChangeHeroStat("Straker", 7, -999999999999999) - это в теории должно было отнять все очки движения и предотвратить суицид героя при трансформации замка, но он все равно успевает в него зайти и умереть.

sleep лишний, попробуйте так:
	function CaptureStraker(oldOwner, newOwner, heroName, objectName)
    local dwellings = {"Dwell1", "Dwell2", "Dwell3", "Dwell4"};
    if GetObjectOwner(objectName) == PLAYER_4 then
        Trigger(OBJECT_CAPTURE_TRIGGER, "PlayerTown", nil);
        TransformTown(objectName, TOWN_NECROMANCY);
        sleep(3);
        for i = 1, length(dwellings) do
            ReplaceDwelling(dwellings[i], TOWN_NECROMANCY);
            sleep(1);
            SetObjectOwner(dwellings[i], PLAYER_4);
            SetAIPlayerAttractor("PlayerTown", PLAYER_4, 1);
        end;
    end;
end;

p.s. если не поможет добавить перед Transform BlockGame(); и Unblock в конце функции

Добавлено через 4 минуты
AstralLein И там еще проблемка... При превращении в погост, залы щитов почему-то становятся недоступными для посещения, хотя владелец нанимает караван оттуда без проблем. Остальные здания работают как надо.


так бывает, координаты с доступными тайлами у каждого двелинга разные, потому нужно вокруг поста оставить по проходимой клетке (а то и две) чтобы после трансформации, активный тайл не был заблочен посторонним объектом
KioM вне форума
Ответить с цитированием