Сейчас 03:48:54 Суббота, 23 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Перемещение по местности
Razor_dexДата: Пятница, 14 Января 2011, 13:23:12 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 487
Награды: 0
Репутация: 751
Блокировки:
Как сделать чтобы Определенный герой мог ходить сквозь деревья, камни,кусты и перемещатся по воде\ Но при этом он немог бы перемещатся по горам,через ворота и каменых стен.
 

oleg_best_olegДата: Пятница, 14 Января 2011, 15:50:34 | Сообщение # 2
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
Анимация - откл. столкновение
 

ПиксДата: Пятница, 14 Января 2011, 15:52:45 | Сообщение # 3
3 уровень
Группа: Пользователи
Сообщений: 53
Награды: 0
Репутация: 4
Блокировки:
oleg_best_oleg, он тогда будет сквозь все проходить. а нам такое не нада

Без любви к своему делу создать что-то великое невозможно, а ради всего остального жить нет смысла (с) Сергей Орловский (глава компании Astrum Nival)
 

SirNikolasДата: Пятница, 14 Января 2011, 15:52:55 | Сообщение # 4
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
oleg_best_oleg,
Quote (Razor_dex)
Но при этом он не мог бы перемещатся по горам, через ворота и каменые стены.


 

Razor_dexДата: Пятница, 14 Января 2011, 23:23:07 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 487
Награды: 0
Репутация: 751
Блокировки:
Угу, вот незадача -_-, Ну я думаю это как то в условиях че то химичить... По воде в принципе можно и без триггера там просто поменять категорию юнита как земноводный, а в остальном пока незнаю как... :(
 

MetanolДата: Суббота, 15 Января 2011, 07:31:10 | Сообщение # 6
Группа: Заблокированные
Сообщений: 4565
Награды: 11
Репутация: 1884
Блокировки:
Quote (Razor_dex)
Угу, вот незадача -_-, Ну я думаю это как то в условиях че то химичить... По воде в принципе можно и без триггера там просто поменять категорию юнита как земноводный, а в остальном пока незнаю как...

Если у тебя один герой, который должен так делать, то можно так:
Ставишь твоему герою тип - летающий. И везде где горы, каменные стены, ворота ставишь блокиратор пути(воздух).

Если не один, то можно через тригги:
Событие:
Юнит зашёл в область 1
Условие:
Входящий юнит равно тво герой
Действие:
двигать юнита куда тебе надо.


новый акк:
http://warcraft3ft.info/index/8-70993
 

ПиксДата: Суббота, 15 Января 2011, 14:00:44 | Сообщение # 7
3 уровень
Группа: Пользователи
Сообщений: 53
Награды: 0
Репутация: 4
Блокировки:
Metanol, бвеее) некрасиво, неудобно... но хоть как то) хотя я лучше бы забыл про эту идею чем реализовал так)

Без любви к своему делу создать что-то великое невозможно, а ради всего остального жить нет смысла (с) Сергей Орловский (глава компании Astrum Nival)
 

Razor_dexДата: Суббота, 15 Января 2011, 15:30:20 | Сообщение # 8
7 уровень
Группа: Проверенные
Сообщений: 487
Награды: 0
Репутация: 751
Блокировки:
Quote (Metanol)
Если у тебя один герой, который должен так делать, то можно так: Ставишь твоему герою тип - летающий. И везде где горы, каменные стены, ворота ставишь блокиратор пути(воздух).

В том то и дело что у меня будет еще 1 герой, у которого способность садится на птицу и летать ==>Отсюда следует что блокираторы пути бессмысленно ставить

Добавлено (15-01-2011, 15:30)
---------------------------------------------

Quote (Пикс)
Событие: Юнит зашёл в область 1 Условие: Входящий юнит равно тво герой Действие: двигать юнита куда тебе надо.

Так это же триггер на Тп
 

[DUОS]Дата: Суббота, 15 Января 2011, 20:30:43 | Сообщение # 9
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Хмм, могу вот показать решение такой проблемы на Jass.

Code
function CorrectUnitPointOrder takes unit u, real x, real y, integer orderid returns nothing
     local real a = Atan2(GetWidgetY(u) - y,GetWidgetX(u) - x)
     local real dist = (GetWidgetY(u) - y)*(GetWidgetY(u) - y)+(GetWidgetX(u) - x)*(GetWidgetX(u) - x)
     local real x1
     local real y1
      
     call IssueImmediateOrderById(u,851972)
      
     loop
         exitwhen dist <= 0
         set x1 = x + dist * Cos(a)
         set y1 = y + dist * Sin(a)
         if IsPointWater(x1,y1) == true or IsTerrainPathable(x1,y1,PATHING_TYPE_WALKABILITY) == false then
             call IssuePointOrderById(u,orderid,x1,y1)
             set dist = 14.     
         endif
         set dist = dist - 15.
     endloop    
endfunction
При использовании функции она проверит как надо точку при перемещении.


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

Brut@lusДата: Суббота, 15 Января 2011, 20:44:17 | Сообщение # 10
Группа: Заблокированные
Сообщений: 2496
Награды: 1
Репутация: 924
Блокировки:
Вот Razor_dex этого точно не поймёт, [DUОS]

 

Razor_dexДата: Понедельник, 17 Января 2011, 19:27:44 | Сообщение # 11
7 уровень
Группа: Проверенные
Сообщений: 487
Награды: 0
Репутация: 751
Блокировки:
Пойду учить Джасс :D Хотя я ожидал обойтись без него :(
 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz