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. это наверно нужно в тему "Скрипты" перенести)
я ж туда и писал, а потом зачем-то сюда написал)
ее, заработало) только надо заблокировать пространство вокруг непися, чтобы не ушел никуда, и работает
ее, заработало) только надо заблокировать пространство вокруг непися, чтобы не ушел никуда, и работает
только надо заблокировать пространство вокруг непися, чтобы не ушел никуда, и работает
в каком смысле?
в каком смысле?
он может далеко уйти от героя после нажатия "конец хода", и потом ему будет не хватать пунктов движения, чтобы оказаться рядом с ГГ
тогда можно добавить перед MoveHeroRealTime
ChangeHeroStats("Hero3", 7, 3500);вообще советую глянуть как сделано в кампаниях разработчиков, 1 миссия во владыках севера, если не ошибаюсь, там за Фридой ходит Ласло... Они там сделали внутрискриптовую функцию на проверку растояния, таким образом герои постоянно держатся друг возле друга.
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) их менять.
скриптовые операции для работы с объектами на карте типа 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 очков движения, логистика+сапоги+конюшни
2500 - без логистики, 2749 - начальн. логистика, 2999 - развитая, 3249 - искустная.
так же сапоги путешественника дают +25% к очкам движения поверх всего...
P.S. я максимум набирал 4661 очков движения, логистика+сапоги+конюшни
ChangeHeroStats -добавить пунктов движения
MoveHeroRealTime- герой идет к ГГ
ChangeHeroStats -убрать полностью пункты движения.
Так герой при нажатии "конец хода" будет стоять на месте
Чтобы он стоял на месте, его можно просто вырубить EnableHeroAI
Спасибо. Мне просто идея пришла:
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;и не каких лишних цифр ;)
Статистика
Приветствуем новейшего участника:
recijeb
Сейчас на сайте 9 пользователей 1355 гостей
Посетители сегодня 32
- Валера 111
- Граф Орлов
- Джек
- Драккошка
- Дугал
- Злобный Ящур
- Небо
- Нэйко
- Саргон
- ALVYDAS
- Arandor
- AstralLein
- burymm
- Dark Jack
- dotahcxun
- elizbar1967
- fktifzobr@mail.ru
- Golvek
- Happy Life
- Heroist
- Hottler
- HwKeeper
- IchGViji
- kcfgogbfalgfl
- LifeForm
- Narron
- OrnsteinDragonslayer
- PingWing
- Ple-Sen
- Sir Syddan
- Siverfale
- Valery59