h=1;
while h==1 do
x, y = GetObjectPosition("Hero2");
MoveHeroRealTime("Hero3", x+1, y, -1);
end;
end;
Сообщения от Скрипты
sleep нужен в цикле.
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. это наверно нужно в тему "Скрипты" перенести)
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
ее, заработало) только надо заблокировать пространство вокруг непися, чтобы не ушел никуда, и работает
только надо заблокировать пространство вокруг непися, чтобы не ушел никуда, и работает
в каком смысле?
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
в каком смысле?
он может далеко уйти от героя после нажатия "конец хода", и потом ему будет не хватать пунктов движения, чтобы оказаться рядом с ГГ
тогда можно добавить перед MoveHeroRealTime
ChangeHeroStats("Hero3", 7, 3500);вообще советую глянуть как сделано в кампаниях разработчиков, 1 миссия во владыках севера, если не ошибаюсь, там за Фридой ходит Ласло... Они там сделали внутрискриптовую функцию на проверку растояния, таким образом герои постоянно держатся друг возле друга.
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
скриптовые операции для работы с объектами на карте типа AdvMapStandShared (например TieruHut). Чтобы создать свой стенд, надо:
1) поставить на карту объект Objects\All-Terrain objects\Tieru's Dwelling
2) в ObjectPropertiesTree в графе Shared нажать на ...(многоточие)
3) в левой части появившегося окна шелкнуть ПКМ выбрать NewObject, назвать ваш объект.
4) выбрать модель, анимацию, эффект, непроходимые тайлы стенда.
5) в графе States выберите новую модель, анимацию для изменённого стенда, а в StatesChanges выберите какие визуальные и звуковые эффекты будут при этом проигрываться.
_____
Можно делать несколько состояний стендов (по вкусу), с помощью SetStandState(objectName, newStateID) их менять.
тогда можно добавить перед MoveHeroRealTimeChangeHeroStats("Hero3", 7, 3500);
вообще советую глянуть как сделано в кампаниях разработчиков, 1 миссия во владыках севера, если не ошибаюсь, там за Фридой ходит Ласло... Они там сделали внутрискриптовую функцию на проверку растояния, таким образом герои постоянно держатся друг возле друга.
А никто не знает, сколько у героя по умолчанию пунктов движения?
А никто не знает, сколько у героя по умолчанию пунктов движения?
2500 - без логистики, 2749 - начальн. логистика, 2999 - развитая, 3249 - искустная.
так же сапоги путешественника дают +25% к очкам движения поверх всего...
P.S. я максимум набирал 4661 очков движения, логистика+сапоги+конюшни
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
2500 - без логистики, 2749 - начальн. логистика, 2999 - развитая, 3249 - искустная.
так же сапоги путешественника дают +25% к очкам движения поверх всего...
P.S. я максимум набирал 4661 очков движения, логистика+сапоги+конюшни
ChangeHeroStats -добавить пунктов движения
MoveHeroRealTime- герой идет к ГГ
ChangeHeroStats -убрать полностью пункты движения.
Так герой при нажатии "конец хода" будет стоять на месте
Спасибо. Мне просто идея пришла:
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;и не каких лишних цифр ;)
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация