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

Сообщения от Скрипты

В ответ пользователю AstralLein
Аватар пользователя
8 лет назад
AstralLein
А там точно схема:

ReplaceDwelling("скриптовое имя", TOWN_NECROMANCY)?
После идут еще 4 необязательных параметра типов существ. Но тип жилища определяется именно вторым аргументом.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
8 лет назад
Ввел в консоль
@ReplaceDwelling(GetObjectNamesByType("AXEMEN")[0], TOWN_NECROMANCY)
и в зоне красного игрока-гнома дом клинков превратился в склеп.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
8 лет назад
А как можно выкрутиться в такой ситуации: герой активирует событие захватом города, который первым делом перестраивается... Вот только ИИ всегда отправляет героя внутрь города до превращения и герой умирает...
Карты для героев 5

"Плата за любовь"
"Путь некроманта"
"Темные грани"
"Рок Гримхейма"
В ответ пользователю AstralLein
Аватар пользователя
8 лет назад
AstralLein
А как можно выкрутиться в такой ситуации: герой активирует событие захватом города, который первым делом перестраивается... Вот только ИИ всегда отправляет героя внутрь города до превращения и герой умирает...
Для начала я бы попробовал вставить отъём очков хода до паузы.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
8 лет назад
А как он работает, этот отъем? Я пробовал, но плохо понимаю как работает функция.

Добавлено через 3 минуты
Обычно я ее использую для добавления опыта или характеристик... а здесь не совсем понятно.
Карты для героев 5

"Плата за любовь"
"Путь некроманта"
"Темные грани"
"Рок Гримхейма"
В ответ пользователю AstralLein
Аватар пользователя
8 лет назад
AstralLein
А как он работает, этот отъем? Я пробовал, но плохо понимаю как работает функция.

Добавлено через 3 минуты
Обычно я ее использую для добавления опыта или характеристик... а здесь не совсем понятно.
Меняются очки хода, которые в игре отображаются зеленой полоской, на указанную величину (но не меньше 0 и не больше максимума - дневного прихода).
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю AstralLein
Аватар пользователя
8 лет назад
AstralLein
А как понять сколько отнимать?
Если нужно полностью, то ставь
-GetHeroStat('имя_героя', 7)
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
8 лет назад
Сделал вот так, но герой все равно заходит в замок и суицидится. И там еще проблемка... При превращении в погост, залы щитов почему-то становятся недоступными для посещения, хотя владелец нанимает караван оттуда без проблем. Остальные здания работают как надо.

function CaptureStraker()
if ( GetObjectOwner ("PlayerTown") == PLAYER_4 ) then
ChangeHeroStat("Straker",7, -GetHeroStat('Straker', 7) )
Trigger(OBJECT_CAPTURE_TRIGGER, "PlayerTown", nil)
TransformTown("PlayerTown", TOWN_NECROMANCY)
sleep(2)
SetAIPlayerAttractor("PlayerTown", 4, 1)
SetAIPlayerAttractor("DwarfTown", 4, 2)
sleep(2)
ReplaceDwelling("d", TOWN_NECROMANCY)
SetObjectOwner("d", 4)
ReplaceDwelling("dd", TOWN_NECROMANCY)
SetObjectOwner("dd", 4)
ReplaceDwelling("ddd", TOWN_NECROMANCY)
SetObjectOwner("ddd", 4)
ReplaceDwelling("dddd", TOWN_NECROMANCY)
SetObjectOwner("dddd", 4)
AddObjectCreatures("PlayerTown", CREATURE_LICH, 20)
AddObjectCreatures("PlayerTown", CREATURE_BONE_DRAGON, 10)
ChangeHeroStat("Straker",0, 25000)
end
end
Карты для героев 5

"Плата за любовь"
"Путь некроманта"
"Темные грани"
"Рок Гримхейма"
Аватар пользователя
8 лет назад
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, TOWN_NECROMANCY);
sleep(1);
SetObjectOwner(dwellings, PLAYER_4);
SetAIPlayerAttractor("PlayerTown", PLAYER_4, 1);
end;
end;
end;

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

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


так бывает, координаты с доступными тайлами у каждого двелинга разные, потому нужно вокруг поста оставить по проходимой клетке (а то и две) чтобы после трансформации, активный тайл не был заблочен посторонним объектом
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
Аватар пользователя
8 лет назад
При превращении в погост, залы щитов почему-то становятся недоступными для посещения, хотя владелец нанимает караван оттуда без проблем. Остальные здания работают как надо.
Да, как сказал KioM, сетка клеток у дома щитов не совпадает с той, что у остальных строений 1-го уровня. Тут можно решить путем разрушения строения (RazeBuilding) и постановки нового (CreateDwelling).
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
Аватар пользователя
8 лет назад
RedHeavenHero
Да, как сказал KioM, сетка клеток у дома щитов не совпадает с той, что у остальных строений 1-го уровня. Тут можно решить путем разрушения строения (RazeBuilding) и постановки нового (CreateDwelling).

Выдает ошибку в консоль, что здание неразрушаемо.

Добавлено через 14 минут
Ошибку с суицидом я исправил с помощью телепорта. Он теперь переносится на клетку назад с анимацией телепорта. Работает. Выживает.
Карты для героев 5

"Плата за любовь"
"Путь некроманта"
"Темные грани"
"Рок Гримхейма"
Аватар пользователя
8 лет назад
Выдает ошибку в консоль, что здание неразрушаемо.
Попробуйте дом щитов тоже создавать функцией CreateDwelling - такие строения точно должны быть разрушаемы.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Статистика

Приветствуем новейшего участника: recijeb