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

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

В ответ пользователю Ment
Аватар пользователя
Ment
sleep нужен в цикле.
а куда его вставить?
Мои карты:
Town
Готовится:Чума (40%), Сосиска(42%), Война Грааля
В ответ пользователю Олегарх
Аватар пользователя
Олегарх
SetStandState для чего вообще нужен?

видимо для хранения информации, которая в дальнейшем используется в скриптах (другого применения я ей не нашел), это как SetObjectiveState которую мы ставим игроку и у него активируется/выполняется задание, а затем проверяем на состояние if GetObjectiveState ... и выполняем какието действия. То же самое и с SetStandState, только она в игре нечего не меняет, а просто ставит номер по проверке которого можно в скриптах выполнять различные условия.

Добавлено через 2 минуты

while 1 do
 x, y = GetObjectPosition("Hero2");
 MoveHeroRealTime("Hero3", x+1, y, -1);
 sleep(20);
end;

или даже так:

while 1 do
  if IsObjectExists("Hero2") == true then
    x, y = GetObjectPosition("Hero2");
    MoveHeroRealTime("Hero3", x+1, y, -1);
  else return;
  end;
  sleep(10);
end;

P.S. это наверно нужно в тему "Скрипты" перенести)
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
В ответ пользователю KioM
Аватар пользователя
я ж туда и писал, а потом зачем-то сюда написал)
ее, заработало) только надо заблокировать пространство вокруг непися, чтобы не ушел никуда, и работает
Мои карты:
Town
Готовится:Чума (40%), Сосиска(42%), Война Грааля
В ответ пользователю Олегарх
Аватар пользователя
Олегарх
только надо заблокировать пространство вокруг непися, чтобы не ушел никуда, и работает

в каком смысле?
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
В ответ пользователю KioM
Аватар пользователя
KioM
в каком смысле?
он может далеко уйти от героя после нажатия "конец хода", и потом ему будет не хватать пунктов движения, чтобы оказаться рядом с ГГ
Мои карты:
Town
Готовится:Чума (40%), Сосиска(42%), Война Грааля
В ответ пользователю Олегарх
Аватар пользователя
Олегарх
он может далеко уйти от героя после нажатия "конец хода", и потом ему будет не хватать пунктов движения, чтобы оказаться рядом с ГГ

тогда можно добавить перед MoveHeroRealTime
ChangeHeroStats("Hero3", 7, 3500);

вообще советую глянуть как сделано в кампаниях разработчиков, 1 миссия во владыках севера, если не ошибаюсь, там за Фридой ходит Ласло... Они там сделали внутрискриптовую функцию на проверку растояния, таким образом герои постоянно держатся друг возле друга.
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
В ответ пользователю KioM
Аватар пользователя
SetStandState, GetStandState, GetStandStatesCount -
скриптовые операции для работы с объектами на карте типа AdvMapStandShared (например TieruHut). Чтобы создать свой стенд, надо:
1) поставить на карту объект Objects\All-Terrain objects\Tieru's Dwelling
2) в ObjectPropertiesTree в графе Shared нажать на ...(многоточие)
3) в левой части появившегося окна шелкнуть ПКМ выбрать NewObject, назвать ваш объект.
4) выбрать модель, анимацию, эффект, непроходимые тайлы стенда.
5) в графе States выберите новую модель, анимацию для изменённого стенда, а в StatesChanges выберите какие визуальные и звуковые эффекты будут при этом проигрываться.
_____
Можно делать несколько состояний стендов (по вкусу), с помощью SetStandState(objectName, newStateID) их менять.
Аватар пользователя
Угу, в оригинале тоже примеров хватает, но, насколько помню, там не было бега в реальном времени, они бежали на свой ход.
 

К А
Стикеры GBF в Telegram
В ответ пользователю KioM
Аватар пользователя
KioM
тогда можно добавить перед MoveHeroRealTime
ChangeHeroStats("Hero3", 7, 3500);

вообще советую глянуть как сделано в кампаниях разработчиков, 1 миссия во владыках севера, если не ошибаюсь, там за Фридой ходит Ласло... Они там сделали внутрискриптовую функцию на проверку растояния, таким образом герои постоянно держатся друг возле друга.
спасибо. только там Stat, а не Stats. А никто не знает, сколько у героя по умолчанию пунктов движения?
Мои карты:
Town
Готовится:Чума (40%), Сосиска(42%), Война Грааля
А никто не знает, сколько у героя по умолчанию пунктов движения?
3500 если нет "Логистики" и прочих бонусных эффектов
В ответ пользователю antonag07
Аватар пользователя
Олегарх
А никто не знает, сколько у героя по умолчанию пунктов движения?

2500 - без логистики, 2749 - начальн. логистика, 2999 - развитая, 3249 - искустная.
так же сапоги путешественника дают +25% к очкам движения поверх всего...

P.S. я максимум набирал 4661 очков движения, логистика+сапоги+конюшни
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
В ответ пользователю KioM
Аватар пользователя
KioM
2500 - без логистики, 2749 - начальн. логистика, 2999 - развитая, 3249 - искустная.
так же сапоги путешественника дают +25% к очкам движения поверх всего...

P.S. я максимум набирал 4661 очков движения, логистика+сапоги+конюшни
Спасибо. Мне просто идея пришла:
ChangeHeroStats -добавить пунктов движения
MoveHeroRealTime- герой идет к ГГ
ChangeHeroStats -убрать полностью пункты движения.
Так герой при нажатии "конец хода" будет стоять на месте
Мои карты:
Town
Готовится:Чума (40%), Сосиска(42%), Война Грааля
Аватар пользователя
Чтобы он стоял на месте, его можно просто вырубить EnableHeroAI
 

К А
Стикеры GBF в Telegram
В ответ пользователю Олегарх
Аватар пользователя
Олегарх
Спасибо. Мне просто идея пришла:
ChangeHeroStats -добавить пунктов движения
MoveHeroRealTime- герой идет к ГГ
ChangeHeroStats -убрать полностью пункты движения.
Так герой при нажатии "конец хода" будет стоять на месте

для этого знать точное кол-во очков движения не обязательно, можно пользоватся GetHeroStat и переменными:
start = GetHeroStat("Hero3", 7);
ChangeHeroStat("Hero3", 7, start+3500);
MoveHeroRealTime(...); -- (только функция немодальна! я както пытался сделать из нее модальную, у меня игра вылетала :))
sleep(20);
startThread(end);

function end()
end = GetHeroStat("Hero3", 7);
ChangeHeroStat("Hero3", 7, -end);
end;

и не каких лишних цифр ;)
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация

Статистика

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