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

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

Аватар пользователя
#2240
Необходимо заблокировать регион (проход) определенному компьютерному герою.
С помощью SetRegionBlocked на условии не получилось - компьютерный герой всё равно проходит сквозь блок.
Да и работает это всё на триггерах, которые активирует и игрок-человек (что выглядит ужасно (пустые остановки)).

Сделал так
SetRegionAutoObjectEnable ("kendal00", REGION_AUTOACTION_ON_ENTER, -1, -1, "Deleb", "kendal0", 0);
SetRegionAutoObjectEnable ("kendal00", REGION_AUTOACTION_ON_EXIT, -1, -1, "Deleb", "kendal0", 1);
Получилось.
Но возникла проблема, что компьютерный герой теперь постоянно делает попытки пройти сквозь блок (это немудрено, ибо после выхода героя из региона - проход вновь становится "открытым").

Может есть лучше способ заблокировать проход для определенного героя?
Всё, что сейчас происходит во мне, тоже является частью Вселенной. (с) Иванов Александр.
Цикл кампаний "Дыхание Смерти" из трёшки в четвёртом исполнении
Учебная карта
Астралия
За Королеву!
Подземелья и Дьяволы
Отголоски войны
Освобождение
Аватар пользователя
#2241
С помощью SetRegionBlocked на условии не получилось - компьютерный герой всё равно проходит сквозь блок.
Довольно странно, не сталкивался с такой ошибкой. А как ты это писал? У функции SetRegionBlocked есть параметр, отвечающий за номер игрока, для которого работает функция. То есть для второго игрока (неважно, комп или нет):
SetRegionBlocked("имя региона", true, 2)
Если нумерация там с единицы, мне казалось, что так. Если с нуля, то соответсвенно
SetRegionBlocked("имя региона", true, 1)
 

К А
Стикеры GBF в Telegram
Аватар пользователя
#2242
Комп не проходит, если изначально сделать регион блокированным.
Если же он будет вставать на соседний регион (рядышком), который активирует блокирующий регион, то герой проходит сквозь блок. Хотя если я переделываю скрип под себя, то не могу пройти.

Тем более в данном случае мне нужно ограничить ареал одного героя компьютера и не затронуть других героев этого игрока.
Всё, что сейчас происходит во мне, тоже является частью Вселенной. (с) Иванов Александр.
Цикл кампаний "Дыхание Смерти" из трёшки в четвёртом исполнении
Учебная карта
Астралия
За Королеву!
Подземелья и Дьяволы
Отголоски войны
Освобождение
Аватар пользователя
#2243
Если же он будет вставать на соседний регион (рядышком), который активирует блокирующий регион, то герой проходит сквозь блок. Хотя если я переделываю скрип под себя, то не могу пройти.
Так просто сделать так, чтобы он этого не делал ) Там вроде в REGION_ENTER_AND_STOP_TRIGGER нет параметра, отвечающего за номер игрока, но можно легко проверить принадлежность героя, который вошёл в регион.
Тем более в данном случае мне нужно ограничить ареал одного героя компьютера и не затронуть других героев этого игрока.
Ой, если так... Хм, да, проблема. Надо думать.
 

К А
Стикеры GBF в Telegram
Аватар пользователя
#2245
А сделать этого героя новым игроком-союзником нельзя, да?
Нет. Это противоречит замыслу.
Всё, что сейчас происходит во мне, тоже является частью Вселенной. (с) Иванов Александр.
Цикл кампаний "Дыхание Смерти" из трёшки в четвёртом исполнении
Учебная карта
Астралия
За Королеву!
Подземелья и Дьяволы
Отголоски войны
Освобождение
Аватар пользователя
#2247
Ладно, оставлю так. Следующий вопрос.
Стартовые 3 бонуса в кампании. Возвести строение в городе.
Как я понял - выбор ограничен списком редактора и ID строений использовать не получится?
TB_BLACKSMITH
TB_DWELLING_1
TB_DWELLING_2
TB_DWELLING_3
TB_DWELLING_4
TB_DWELLING_5
TB_DWELLING_6
TB_DWELLING_7
TB_FORT
TB_GRAIL
TB_MAGIC_GUILD
TB_MARKETPLACE
TB_SHIPYARD
TB_SPECIAL_0
TB_SPECIAL_1
TB_SPECIAL_2
TB_SPECIAL_3
TB_SPECIAL_4
TB_SPECIAL_5
TB_SPECIAL_6
TB_TAVERN
TB_TOWN_HALL

Строения, для которых не выполнены условия постройки, тоже не строятся. Верно?

Что за "TB_SPECIAL"?
Всё, что сейчас происходит во мне, тоже является частью Вселенной. (с) Иванов Александр.
Цикл кампаний "Дыхание Смерти" из трёшки в четвёртом исполнении
Учебная карта
Астралия
За Королеву!
Подземелья и Дьяволы
Отголоски войны
Освобождение
Аватар пользователя
#2248
Строения, для которых не выполнены условия постройки, тоже не строятся.
Должны строиться по идее. Хотя вообще я слабо знаком с вопросом, не делал кампаний.
 

К А
Стикеры GBF в Telegram
Аватар пользователя
#2249
По поводу ареала обитания героя

А ведь можно попробовать сделать с помощью SetAIHeroAttractor.
Правда не совсем понятно, насколько далеко его будет отпускать объект...
Всё, что сейчас происходит во мне, тоже является частью Вселенной. (с) Иванов Александр.
Цикл кампаний "Дыхание Смерти" из трёшки в четвёртом исполнении
Учебная карта
Астралия
За Королеву!
Подземелья и Дьяволы
Отголоски войны
Освобождение
Аватар пользователя
#2250
А ведь можно попробовать сделать с помощью SetAIHeroAttractor.
Правда не совсем понятно, насколько его будет отпускать объект...
Ну да, можно было бы сделать какой-нибудь портал или что-то вроде того... Но скрипт этот очень уж непредсказуемо работает, если вообще работает. И не факт, что поиск пути ИИ будет работать верно с ним.
 

К А
Стикеры GBF в Telegram
Аватар пользователя
#2251
Посмотрел я SetAIHeroAttractor.
При 2 - буквально прилипает к объекту)
При 1 - уже почти пофиг на объект.

Но сделаю его (с 2кой). Он больше мне подходит, убирает тупое стояние героя возле "стены" и уменьшает ход компьютера.
Всё, что сейчас происходит во мне, тоже является частью Вселенной. (с) Иванов Александр.
Цикл кампаний "Дыхание Смерти" из трёшки в четвёртом исполнении
Учебная карта
Астралия
За Королеву!
Подземелья и Дьяволы
Отголоски войны
Освобождение
Аватар пользователя
#2252
Подскажите: как взять параметр героя при исполнении одной функции и использовать эти данные при действии другой функции?
Всё, что сейчас происходит во мне, тоже является частью Вселенной. (с) Иванов Александр.
Цикл кампаний "Дыхание Смерти" из трёшки в четвёртом исполнении
Учебная карта
Астралия
За Королеву!
Подземелья и Дьяволы
Отголоски войны
Освобождение
Аватар пользователя
#2253
Квант, сохранить в глобальную переменную, если я правильно понял суть задачи.
Аватар пользователя
#2254
Подскажите, как это сделать.
GetGameVar и SetGameVar?

как-то так?
GetGameVar ("X") = GetHeroLevel ("Anabel")
SetGameVar ("X", 12)
Всё, что сейчас происходит во мне, тоже является частью Вселенной. (с) Иванов Александр.
Цикл кампаний "Дыхание Смерти" из трёшки в четвёртом исполнении
Учебная карта
Астралия
За Королеву!
Подземелья и Дьяволы
Отголоски войны
Освобождение