Sladkoegka
Забыл что хотел...
offline
Опыт:
7,437Активность: |
Приказ на ближайшего юнита.
Прошу прощения если эта тема уже перемыливалась,так как в поиске похожих не нашел.
Задача в следующем:есть юнит А,не имеющий атаки(только жизни,скорость перемещения ну и броню),как приказать ему перемещаться к самому ближайшему юниту из группы юнитов,находящихся вокруг А. То есть по сути мне нужно чтобы подконтрольный ИИ юнит постоянно двигался в сторону ближайшего к нему воина. Я думал что найду все в действии - "Приказать Юниту А двигаться ????" вместо ????-должна быть позиция ближайшего юнита.
P.S.:извините если невнятно объяснил,суть надеюсь вы уловили =) |
17.09.2012, 16:16 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,266Активность: |
Sladkoegka, через группу, функцией FirstOfGroup()
((код jass
function UnitFilter takes nothing returns boolean
return GetUnitState( GetFilterUnit( ), UNIT_STATE_LIFE ) > 0.00 endfunction function GetNearbyUnit takes unit whichUnit returtns unit
local group grp = CreateGroup( ) call GroupEnumUnitsInRange( grp, GetUnitX( whichUnit ), GetUnitY( whichUnit ), 10000.00, Condition( function UnitFilter ) ) set bj_lastCreatedUnit = FirstOfgroup( grp ) call DestroyGroup( grp ) return bj_lastCreatedUnit endfunction )) |
17.09.2012, 16:27 | #2
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sladkoegka
Забыл что хотел...
offline
Опыт:
7,437Активность: |
quq_CCCP, Блин я тестил-перетестил,но почему то функция работает некорректо,она просто выбирает рандомного,не ближайшего юнита в группе |
21.09.2012, 15:25 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,266Активность: |
Sladkoegka, попробуй радиус сделать совсем небольшим... |
21.09.2012, 15:28 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
причем тут радиус, тут надо перебрать всех юнитов и сравнить расстояния |
21.09.2012, 15:46 | #5
+2/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
youtube
сктыщь
offline
Опыт:
8,025Активность: |
quq_CCCP, как всегда несешь бред
» хоть и можно написать по проще, но все же работает)
|
21.09.2012, 16:03 | #6
+4/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,266Активность: |
ScorpioT1000, сначала в групу попадут ближайшие юниты, потом все остальные... у меня в карте работает... |
21.09.2012, 16:20 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Не совсем, там сортировка по координатам, скорее всего от левого-верхнего угла до правого-нижнего |
21.09.2012, 16:26 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,266Активность: |
ScorpioT1000, ну хотя у меня ланд маленький, и мобы как раз из угла идут, но работает этот метод исправно, мобы идут к ближайшему юниту.... |
21.09.2012, 16:30 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sladkoegka
Забыл что хотел...
offline
Опыт:
7,437Активность: |
|
22.09.2012, 19:35 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DaeDR
offline
Опыт:
8,074Активность: |
Имеет смысл только определение расстояния между целью и юнитом. Иначе возможны баги, например, добавили юнита в группу, он не будет первым, но может оказаться ближайшим. |
22.09.2012, 20:53 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sladkoegka
Забыл что хотел...
offline
Опыт:
7,437Активность: |
youtube, огромное спасибо все робит-тему клоз. |
24.09.2012, 21:04 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|