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

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

В ответ пользователю KioM
#426
KioM
в том то и дело, до триггера не добегают, начинаю думать что для них регион как препятствие... хотя не каких блокировок по региону и в помине не было (чем больше делаю регион тем дальше от пункта назначения герои останавливаются :))
Вот оно что. Если у героев регион по пути до нужной точки - они останавливаются, хотя триггер вроде должен сработать. Х.з., без понятия че такое.
Аватар пользователя
#427
героям просто не хватало movepoints, а у первого героя была логистика + рассовый навык...

P.S. жаль, я думал что команда MoveHeroRealTime позволяет за один раз преодолеть абсолютно любое растояние, а оказывается только то, на сколько хватает movepoints (а командой нельзя сделать выше максимального movepoints, если верить руководству. Но у разработчиков в кампанейских скриптах я встречал добавление герою н-го кол-ва поинтов перед выполнением команды MoveHeroRealTime, зачем спрашивается? если опять таки верить руководству: "Герой поскачет в точку с указанными координатами. Безотносительно того, чей ход и наличия/отсутствия у него movepoints"! Несоответствие на лицо...) вообщем печально :)
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
В ответ пользователю KioM
#428
KioM
героям просто не хватало movepoints, а у первого героя была логистика + рассовый навык...

P.S. жаль, я думал что команда MoveHeroRealTime позволяет за один раз преодолеть абсолютно любое растояние, а оказывается только то, на сколько хватает movepoints (а командой нельзя сделать выше максимального movepoints, если верить руководству. Но у разработчиков в кампанейских скриптах я встречал добавление герою н-го кол-ва поинтов перед выполнением команды MoveHeroRealTime, зачем спрашивается? если опять таки верить руководству: "Герой поскачет в точку с указанными координатами. Безотносительно того, чей ход и наличия/отсутствия у него movepoints"! Несоответствие на лицо...) вообщем печально :)
Ну раз поинтсы заканчиваются, сделай их проверку в потоке, и допустим, когда будут меньше половину добавляй нужному герою. ;)
Или проще - телепортом ближе к нужной точке, а затем пусть бегут уже.
Кстати про манул с ошибками - там и другие есть :)
В ответ пользователю JonnyP
Аватар пользователя
#429
JonnyP
Ну раз поинтсы заканчиваются, сделай их проверку в потоке, и допустим, когда будут меньше половину добавляй нужному герою. ;)

вот идея ;) спасибо!

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

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

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

Добавлено через 8 минут
сделал, не получается, ставлю датчик который показывает что поинты прибавляются каждую секудну по 2500, а он всеравно пробегает свое растояние и останавливается раньше времени... Я вот не пойму неужели разработчики не придумали такой функциональной команды, чтобы перемещать героя по средствам обычного движения на большие растояния в реальном времени...
Ух ты, и вправду встал как вкопанный! :eek:
Все, с советами завязываю - с ними далеко не уедешь :smile17:
В ответ пользователю KioM
#431
KioM
вот идея ;) спасибо!

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

Добавлено через 8 минут
сделал, не получается, ставлю датчик который показывает что поинты прибавляются каждую секудну по 2500, а он всеравно пробегает свое растояние и останавливается раньше времени... Я вот не пойму неужели разработчики не придумали такой функциональной команды, чтобы перемещать героя по средствам обычного движения на большие растояния в реальном времени...


такая функция есть - сейчас под рукой нет исходников , но можешь глянуть скрипт в прологе орочей кампании Повелителей ;

есть еще косяк с остановкой героя , связанный с прохождением его через ворота гарнизона - там тоже можно провернуть "финт ушами" , связанный с созданием точечного региона в воротах.
Аватар пользователя
#432
antonag07, ерунда там...

function MoveHeroRealTimeAndReachPoint( heroName, x, y, floor )
moveCost = CalcHeroMoveCost( heroName, x, y, GROUND );
ChangeHeroStat( heroName, STAT_MOVE_POINTS, moveCost );
sleep(1);
MoveHeroRealTime( heroName, x, y, GROUND );
end;
я делал нечто подобное, не работает команда MoveHeroRealTime как должна... я сделал через старую добрую MoveHero :)
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
Аватар пользователя
#433
Не советую завязывать на sleep'e, это не стабильный скрипт. Его работоспособность будет зависеть от того, с какой скоростью бегает герой.
 

К А
Стикеры GBF в Telegram
В ответ пользователю KioM
#434
KioM
antonag07, ерунда там...

function MoveHeroRealTimeAndReachPoint( heroName, x, y, floor )
moveCost = CalcHeroMoveCost( heroName, x, y, GROUND );
ChangeHeroStat( heroName, STAT_MOVE_POINTS, moveCost );
sleep(1);
MoveHeroRealTime( heroName, x, y, GROUND );
end;
я делал нечто подобное, не работает команда MoveHeroRealTime как должна... я сделал через старую добрую MoveHero :)


Почему же сразу ерунда ?! Там ведь работает ...
В ответ пользователю KioM
Аватар пользователя
#435
KioM
в том то и дело, до триггера не добегают, начинаю думать что для них регион как препятствие... хотя не каких блокировок по региону и в помине не было (чем больше делаю регион тем дальше от пункта назначения герои останавливаются :))

не знаю, связано ли с этим, но я в карте в одном месте поставил Mask ,чтоб никто туда не заходил. Но как только туда скриптами портается объект (арт), mask по ходу, перестает работать
Аватар пользователя
#436
Этого не может быть. Думаю, вы его телепортируете на границу маски. Поэтому, когда к маске подходит герой, он оказывается на клетке, соседней к артефакту, так что может с ним взаимодействовать. Если бы их разделяла ещё одна клетка маски, он бы не мог подойти.
 

К А
Стикеры GBF в Telegram
В ответ пользователю Ment
Аватар пользователя
#437
Ment
Этого не может быть. Думаю, вы его телепортируете на границу маски. Поэтому, когда к маске подходит герой, он оказывается на клетке, соседней к артефакту, так что может с ним взаимодействовать. Если бы их разделяла ещё одна клетка маски, он бы не мог подойти.
от оно как. А ведь в одной моей карте это принесло мне много мороки с размещением объектов
В ответ пользователю Ment
#438
Ment
Этого не может быть. Думаю, вы его телепортируете на границу маски. Поэтому, когда к маске подходит герой, он оказывается на клетке, соседней к артефакту, так что может с ним взаимодействовать. Если бы их разделяла ещё одна клетка маски, он бы не мог подойти.
Так и есть - аналогично и с перемещением героев - когда он переносится на клетку , на которой уже стоит другой герой , то телепортируемый становится на свобдную клетку рядом.
В ответ пользователю antonag07
Аватар пользователя
#439
antonag07
Почему же сразу ерунда ?! Там ведь работает ...

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

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

я нашел хитроумный способ заставить героя бежать через всю карту, с помощью транзитных регионов, получил точное растояние куда может пойти герой. И поставил на конечные пункты регионы с дополнительными очками движения и командой отправки (все работает :) иначе я так понял не заставить героя бежать на такие растояния)
А зачем заставлять бежать через всю карту, если можно просто телепортировать?
Карты для Heroes of Might and Magic V
Цикл "Закадычные враги": "Особенное гостеприимство, "Супероружие", "Меж молотом и наковальней"
"Падение Шантири"

Кампания для "Кодекса Войны"
"Выбор Сагиттеля"

Статистика

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