Скрипты - Страница 148 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.

Ответ
Страница 148 из 260
 
Опции темы
#2206
Старый 15.05.2016, 20:45
  #2206
^
Квант
 
Аватар для Квант
📖
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
По умолчанию
Re: Скрипты

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

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

Может есть лучше способ заблокировать проход для определенного героя?
Квант вне форума
Ответить с цитированием
#2207
Старый 15.05.2016, 22:08
  #2207
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
По умолчанию
Re: Скрипты

С помощью SetRegionBlocked на условии не получилось - компьютерный герой всё равно проходит сквозь блок.
Довольно странно, не сталкивался с такой ошибкой. А как ты это писал? У функции SetRegionBlocked есть параметр, отвечающий за номер игрока, для которого работает функция. То есть для второго игрока (неважно, комп или нет):
SetRegionBlocked("имя региона", true, 2)
Если нумерация там с единицы, мне казалось, что так. Если с нуля, то соответсвенно
SetRegionBlocked("имя региона", true, 1)
Ment вне форума
Ответить с цитированием
#2208
Старый 15.05.2016, 22:42
  #2208
^
Квант
 
Аватар для Квант
📖
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
По умолчанию
Re: Скрипты

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

Тем более в данном случае мне нужно ограничить ареал одного героя компьютера и не затронуть других героев этого игрока.
Квант вне форума
Ответить с цитированием
#2209
Старый 15.05.2016, 22:53
  #2209
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
По умолчанию
Re: Скрипты

Если же он будет вставать на соседний регион (рядышком), который активирует блокирующий регион, то герой проходит сквозь блок. Хотя если я переделываю скрип под себя, то не могу пройти.
Так просто сделать так, чтобы он этого не делал ) Там вроде в REGION_ENTER_AND_STOP_TRIGGER нет параметра, отвечающего за номер игрока, но можно легко проверить принадлежность героя, который вошёл в регион.
Тем более в данном случае мне нужно ограничить ареал одного героя компьютера и не затронуть других героев этого игрока.
Ой, если так... Хм, да, проблема. Надо думать.
Ment вне форума
Ответить с цитированием
#2210
Старый 15.05.2016, 22:56
  #2210
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
По умолчанию
Re: Скрипты

А сделать этого героя новым игроком-союзником нельзя, да?
Ment вне форума
Ответить с цитированием
#2211
Старый 16.05.2016, 17:57
  #2211
^
Квант
 
Аватар для Квант
📖
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
По умолчанию
Re: Скрипты

А сделать этого героя новым игроком-союзником нельзя, да?
Нет. Это противоречит замыслу.
Квант вне форума
Ответить с цитированием
#2212
Старый 16.05.2016, 18:20
  #2212
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
По умолчанию
Re: Скрипты

К сожалению, у меня нет идей.
Ment вне форума
Ответить с цитированием
#2213
Старый 16.05.2016, 19:25
  #2213
^
Квант
 
Аватар для Квант
📖
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
По умолчанию
Re: Скрипты

Ладно, оставлю так. Следующий вопрос.
Стартовые 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"?
Квант вне форума
Ответить с цитированием
#2214
Старый 16.05.2016, 19:51
  #2214
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
По умолчанию
Re: Скрипты

Строения, для которых не выполнены условия постройки, тоже не строятся.
Должны строиться по идее. Хотя вообще я слабо знаком с вопросом, не делал кампаний.
Ment вне форума
Ответить с цитированием
#2215
Старый 16.05.2016, 22:32
  #2215
^
Квант
 
Аватар для Квант
📖
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
По умолчанию
Re: Скрипты

По поводу ареала обитания героя

А ведь можно попробовать сделать с помощью SetAIHeroAttractor.
Правда не совсем понятно, насколько далеко его будет отпускать объект...
Квант вне форума
Ответить с цитированием
#2216
Старый 16.05.2016, 22:34
  #2216
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
По умолчанию
Re: Скрипты

А ведь можно попробовать сделать с помощью SetAIHeroAttractor.
Правда не совсем понятно, насколько его будет отпускать объект...
Ну да, можно было бы сделать какой-нибудь портал или что-то вроде того... Но скрипт этот очень уж непредсказуемо работает, если вообще работает. И не факт, что поиск пути ИИ будет работать верно с ним.
Ment вне форума
Ответить с цитированием
#2217
Старый 16.05.2016, 22:58
  #2217
^
Квант
 
Аватар для Квант
📖
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
По умолчанию
Re: Скрипты

Посмотрел я SetAIHeroAttractor.
При 2 - буквально прилипает к объекту)
При 1 - уже почти пофиг на объект.

Но сделаю его (с 2кой). Он больше мне подходит, убирает тупое стояние героя возле "стены" и уменьшает ход компьютера.
Квант вне форума
Ответить с цитированием
#2218
Старый 18.05.2016, 21:06
  #2218
^
Квант
 
Аватар для Квант
📖
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
По умолчанию
Re: Скрипты

Подскажите: как взять параметр героя при исполнении одной функции и использовать эти данные при действии другой функции?
Квант вне форума
Ответить с цитированием
#2219
Старый 18.05.2016, 21:25
  #2219
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 509
Выставка наград
Регистрация: 08.09.2013
Сообщения: 509
Выставка наград
По умолчанию
Re: Скрипты

Квант, сохранить в глобальную переменную, если я правильно понял суть задачи.
Jack_of_shadows вне форума
Ответить с цитированием
#2220
Старый 18.05.2016, 22:05
  #2220
^
Квант
 
Аватар для Квант
📖
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
Регистрация: 23.12.2009
Адрес: Тюмень
Сообщения: 312
Отправить сообщение для  Квант с помощью ICQ
Выставка наград
По умолчанию
Re: Скрипты

Подскажите, как это сделать.
GetGameVar и SetGameVar?

как-то так?
GetGameVar ("X") = GetHeroLevel ("Anabel")
SetGameVar ("X", 12)
Квант вне форума
Ответить с цитированием
Ответ
Страница 148 из 260


Опции темы



Часовой пояс GMT +4, время: 13:09.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru