XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
iFATALITY
Тёмный
offline
Опыт: 2,997
Активность:
Как отследить движение юнита?
Здравствуйте. Каким событием можно отследить, что юнит-герой из массива Hero[1...8] произвел какое-то движение?
Старый 25.06.2008, 14:11
Blood Angel

offline
Опыт: 1,818
Активность:
Никак, можно только отследить приказ юниту игроком на движение.
Старый 25.06.2008, 14:26
J
expert
offline
Опыт: 48,447
Активность:
создай для каждого юнита 2 переменные, X и Y
периодически делай так
Код:
local real dX = GetUnitX(UNIT) - udg_X
local real dY = GetUnitY(UNIT) - udg_Y
set udg_X = GetUnitX(UNIT)
set udg_Y = GetUnitY(UNIT)

и дальше смотри переменные dX и dY, если они не ровны нулю - юнит движется...
Старый 25.06.2008, 14:30
iFATALITY
Тёмный
offline
Опыт: 2,997
Активность:
Blood Angel, а если поподробней расскажу ситуацию..хех, может выход и найдется.
В-общем, вот:
Если герой ничего не делает в течение 60 секунд, то он должен быть убит))
Делаю я это таким макаром:
Событие - каждую 1 секунду
Действия -
Цикл от 1 до 8 по A:
Set stoit[(Integer A)] = (stoit[(Integer A)] + 1)
Если stoit[(Integer A)] равно 60,
То (действия) - kill Hero(Integer A)
Set stoit[(Integer A)] = 0

Соответственно, другим триггером надо отследить, чтобы герой шевельнулся (не приказ, а даже если стоял и побежал за проходившим мимо ботом, без вмешательства игрока) - и тогда счетчик stoit для этого героя сбрасываем на 0. Вот как это отследить?:)

iFATALITY добавил:
Jon, я в cs не разбираюсь((
Хотя примерный смысл, конечно, понятен, но что мне писать вместо UNIT?
Старый 25.06.2008, 14:37
Tiodor

offline
Опыт: 75,784
Активность:
id юнита которого ты отлавливаешь
Старый 25.06.2008, 14:52
iFATALITY
Тёмный
offline
Опыт: 2,997
Активность:
Tiodor, блин, ну тогда это точн проблема. Я в jass ноль
Старый 25.06.2008, 14:53
Tiodor

offline
Опыт: 75,784
Активность:
Цитата:
2.32 Что такое равкод (ID объекта) ?
Уникальный идентификатор типа объекта (не порядковый, а именно типа, напимер, тип-пехотинец представлен в виде 'hfoo', глобальные переменные, сгенерированые редактором тоже включают в себя равкод объекта, и его порядковый номер на карте, например gg_unit_hfoo_0013), представлен 4-мя символами. В триггерах и JASS может быть передан как целоисчисленное значение, обозначающее тип объекта, например local integer BuffId = 'B000'
Что бы узнать его нужно нажать Ctrl+D в редакторе объектов или в меню "Вид" поставить галочку напротив пункта "Показать названия переменных".
Старый 25.06.2008, 15:08
iFATALITY
Тёмный
offline
Опыт: 2,997
Активность:
проблема решена

iFATALITY добавил:
З.Ы. без джасса)) хотя позицию юнита отлавливал, только GUI. Довольно легко. Всем спасибо за внимание
Старый 25.06.2008, 15:14
J
expert
offline
Опыт: 48,447
Активность:
это и на гуи можно было сделать, смысл кода понятен даже незнающему джаза, писал я кодом потомучто для меня это легче

Jon добавил:
Tiodor опсолютно неверно....
Старый 25.06.2008, 15:33
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 05:25.