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

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

Аватар пользователя
13 лет назад
У входа в город четыре варианта. Проще всего, наверное, запустить 4 startThread, один из них сработает, три других выдадут еррор.
В ответ пользователю RedHeavenHero
Аватар пользователя
13 лет назад
RedHeavenHero
Окончательно запутан. Кто? Что? И главное - чей?

Это клонирование?
Когда делаешь мэйк, герой отображается в экране города в воротах даже если отойти на карте от города. При каждой попытке хода открывается экран города, где иконка героя в воротах на экране, хотя он ходит по карте.
Есть ещё такая проблема: если слип подобран слишком маленький, а нагрузка на проц высока, тогда происходит зависание навсегда )) При подборе высокой задержки слипа уже некомфортно в игре.

Добавлено через 1 час 0 минут
При входе в город героя уменьшить ману героя, который сидит в городе,
будть то враг (до битвы) или свой герой.
В ответ пользователю Dyrman
Аватар пользователя
13 лет назад
Dyrman
Когда делаешь мэйк, герой отображается в экране города в воротах даже если отойти на карте от города. При каждой попытке хода открывается экран города, где иконка героя в воротах на экране, хотя он ходит по карте.
Если я всё правильно понял, то подойдёт
MoveHeroRealTime('герой', GetObjectPosition('город'))
В ответ пользователю RedHeavenHero
Аватар пользователя
13 лет назад
RedHeavenHero
Если я всё правильно понял, то подойдёт
MoveHeroRealTime('герой', GetObjectPosition('город'))
Неа, пробовал. Придётся отказаться. Там ещё печальная ситуация на задержках. Скорее всего игра уже думает что герой в городе, поэтому не воспринимает некоторые функции. Можно попробовать вынести из города и обратно, но тогда будет некрасивый визуал.
В ответ пользователю Dyrman
Аватар пользователя
13 лет назад
Действительно не работает, но только, если город свой. На вражеский идёт.

В 3.1 можно кое-как визуал исправить... А вообще, для чего такие сложности?
Аватар пользователя
13 лет назад
А как можно проверить, может ли юнит стрелять, прямо в бою? (Является-ли он стрелком). CommandShot выдает, естессно, ошибку, если пытаться заставить выстрелить крестьянина...
В ответ пользователю RedHeavenHero
Аватар пользователя
13 лет назад
RedHeavenHero
Действительно не работает, но только, если город свой. На вражеский идёт.

В 3.1 можно кое-как визуал исправить... А вообще, для чего такие сложности?
Реализация спецы Тессы в NHF. Чтобы действовало на своих и на чужих героев в городах, либо когда сам в городе, на заходящего итд...
В ответ пользователю Heroist
Аватар пользователя
13 лет назад
Heroist
А как можно проверить, может ли юнит стрелять, прямо в бою? (Является-ли он стрелком). CommandShot выдает, естессно, ошибку, если пытаться заставить выстрелить крестьянина...
а) Запихать иды всех стрелков в массив и проверять по мере надобности, является ли существо, которое должно выстрелить, стрелком.
б) забить на это и пустить в отдельный поток.

Добавлено через 6 минут
Dyrman
Реализация спецы Тессы в NHF. Чтобы действовало на своих и на чужих героев в городах, либо когда сам в городе, на заходящего итд...
Ещё один всемирный триггер. Других способов взаимодействия героя с городом, кроме MakeHeroInteractWithObject и MoveHeroRealTime вроде бы нет...:(
В ответ пользователю RedHeavenHero
Аватар пользователя
13 лет назад
RedHeavenHero

Ещё один всемирный триггер. Других способов взаимодействия героя с городом, кроме MakeHeroInteractWithObject и MoveHeroRealTime вроде бы нет...:(
Пока будем тестить. На крайняк все всемирные триггеры из основной версии мода можно будет вынести. Кстати, две задержки на 0.1 быстрее и лучше срабатывают, чем одна на 1, когда одна даже на 0.5 даже не успевает :)
В ответ пользователю Dyrman
Аватар пользователя
13 лет назад
Dyrman
Кстати, две задержки на 0.1 быстрее и лучше срабатывают, чем одна на 1, когда одна даже на 0.5 даже не успевает :)
sleep вроде же не воспринимает числа, меньшие 1. И вообще все дробные.
Аватар пользователя
13 лет назад
"а) Запихать иды всех стрелков в массив и проверять по мере надобности, является ли существо, которое должно выстрелить, стрелком."
Так вот, почему у Фэйдана абилка работает только с эльфами. Видимо, не нам одним было лениво забивать все id стрелков в игре =)
В ответ пользователю RedHeavenHero
Аватар пользователя
13 лет назад
RedHeavenHero
sleep вроде же не воспринимает числа, меньшие 1.
Не знаю, но говорю как увидел. Разница задержек 0.5 и 1 даже заметна. Если sleep(0.1) не означает задержку вообще, то два таких слипа при обработке могут создать естественную задержку. Ошибки на такие значения консоль точно не выдаёт.
В ответ пользователю Heroist
Аватар пользователя
13 лет назад
Heroist
Так вот, почему у Фэйдана абилка работает только с эльфами. Видимо, не нам одним было лениво забивать все id стрелков в игре =)
Разрабы ни одной спецы на скрипты не поставили, иначе абилка Файдаэна в мультиплеере не работала бы.;)
Аватар пользователя
13 лет назад
Кто поможет разобраться?
Вырезка баттл функции:

...
if GetHeroName(hero) == 'Laszlo' and hh == 0 then
if GetCreatureType (x1[0]) > 2 and GetCreatureType (x1[0]) < 5 then
CommandShot (x1[0] , x11[0] , nil)
else
end
...

Консоль выдает ошибку value was nil when getting global with CommandShot . Не понимаю, в мануале четко указано, что GetCreatureType определяет именно id существа, почему тогда не работает, кто подскажет?

Статистика

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

Сейчас на сайте 6 пользователей 1288 гостей