Сейчас 07:08:13 Вторник, 30 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Способность
[Вопрос] Способность
HockДата: Воскресенье, 27 Ноября 2011, 11:34:18 | Сообщение # 26
3 уровень
Группа: Проверенные
Сообщений: 57
Награды: 0
Репутация: 14
Блокировки:
Спасибо всем большое))Особенно
Hexing, Ty3uK, Extremator, SirNikolas,

Добавлено (27 Ноябрь 2011, 11:15:32)
---------------------------------------------
SirNikolas,
как сказал все получилось,осталось убрать резкость в повороте и будет все круто) Extremator,
Спасибо за карту-пример))

Добавлено (27 Ноябрь 2011, 11:30:51)
---------------------------------------------

Code
local integer i=0  
  local unit u=GetTriggerUnit()  
  local unit d=CreateUnit(GetOwningPlayer(u),'h00A',GetSpellTargetX(),GetSpellTargetY(),0)  
  local real x1=GetUnitX(u)  
  local real y1=GetUnitY(u)  
  local real x2=GetUnitX(d)  
  local real y2=GetUnitY(d)  
   local unit d2=CreateUnit(GetOwningPlayer(u),'h00A',x1,y1,0)  
  local lightning l = AddLightning("AFOD", true, x1, y1, x2, y2)  
  local lightning l2 = AddLightning("LEAS", true, x1, y1, x2, y2)  
  local lightning l3 = AddLightning("SPLK", true, x1, y1, x2, y2)  
  local lightning l4 = AddLightning("AFOD", true, x1, y1, x2, y2)  
  local location li  
  local real angle= GetUnitFacing(u) * .0175//bj_PI / 180.
         call SetUnitTurnSpeed(u,0.01)
         call SetUnitMoveSpeed( u, 0.00 )
  loop  
  exitwhen i>40  
  call TriggerSleepAction(0.05)
  call IssuePointOrder(d2,"shockwave",x2,y2)
   call IssuePointOrder(d1,"shockwave",x1,y1)
set x1 = GetWidgetX(u)  
  set y1 = GetWidgetY(u)  
  set x2 = GetWidgetX(d)  
  set y2 = GetWidgetY(d)  
  set angle = GetUnitFacing(u) * .0175//bj_PI / 180.
  call SetUnitPosition(d, x1 + Cos(angle) * 700., y1 + Sin(angle) * 700.)
  call MoveLightning(l,true,x1,y1,x2,y2)  
  call MoveLightning(l2,true,x1,y1,x2,y2)  
  call MoveLightning(l3,true,x1,y1,x2,y2)  
  call MoveLightning(l4,true,x1,y1,x2,y2)  
  call DestroyEffect(AddSpecialEffect("Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile.mdl",x2,y2))  
  set i=i+1  
  endloop  
  call SetUnitMoveSpeed( u, GetUnitDefaultMoveSpeed(u) )
  call SetUnitTurnSpeed( u, GetUnitDefaultTurnSpeed(u) )
       call DestroyLightning(l)  
            call DestroyLightning(l2)   
                 call DestroyLightning(l3)   
                      call DestroyLightning(l4)   
                           set l = null   
                     set l2 = null   
                     set l3 = null   
                     set l4 = null   
                     call RemoveUnit(d)  
                     call RemoveUnit(d2)
                     set d2=null
                     set d=null  
                     set u=null

Вот,все работает,но если не трудно последняя просьба-есть ли утечки?)
Я просто еще может их не замечаю.

Добавлено (27 Ноябрь 2011, 11:34:18)
---------------------------------------------

Code
local integer i=0  
  local unit u=GetTriggerUnit()  
  local unit d=CreateUnit(GetOwningPlayer(u),'h00A',GetSpellTargetX(),GetSpellTargetY(),0)  
  local real x1=GetUnitX(u)  
  local real y1=GetUnitY(u)  
  local real x2=GetUnitX(d)  
  local real y2=GetUnitY(d)  
   local unit d2=CreateUnit(GetOwningPlayer(u),'h00A',GetUnitX(u),GetUnitY(u),0)  
  local lightning l = AddLightning("AFOD", true, x1, y1, x2, y2)  
  local lightning l2 = AddLightning("LEAS", true, x1, y1, x2, y2)  
  local lightning l3 = AddLightning("SPLK", true, x1, y1, x2, y2)  
  local lightning l4 = AddLightning("AFOD", true, x1, y1, x2, y2)  
  local location li  
  local real angle= GetUnitFacing(u) * .0175//bj_PI / 180.
         call SetUnitTurnSpeed(u,0.01)
         call SetUnitMoveSpeed( u, 0.00 )
  loop  
  exitwhen i>40  
  call TriggerSleepAction(0.05)
  call IssuePointOrder(d2,"shockwave",x2,y2)
   call IssuePointOrder(d,"shockwave",x1,y1)
set x1 = GetWidgetX(u)  
  set y1 = GetWidgetY(u)  
  set x2 = GetWidgetX(d)  
  set y2 = GetWidgetY(d)  
  set angle = GetUnitFacing(u) * .0175//bj_PI / 180.
  call SetUnitPosition(d, x1 + Cos(angle) * 700., y1 + Sin(angle) * 700.)
  call MoveLightning(l,true,x1,y1,x2,y2)  
  call MoveLightning(l2,true,x1,y1,x2,y2)  
  call MoveLightning(l3,true,x1,y1,x2,y2)  
  call MoveLightning(l4,true,x1,y1,x2,y2)  
  call DestroyEffect(AddSpecialEffect("Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile.mdl",x2,y2))  
  set i=i+1  
  endloop  
  call SetUnitMoveSpeed( u, GetUnitDefaultMoveSpeed(u) )
  call SetUnitTurnSpeed( u, GetUnitDefaultTurnSpeed(u) )
       call DestroyLightning(l)  
            call DestroyLightning(l2)   
                 call DestroyLightning(l3)   
                      call DestroyLightning(l4)   
                           set l = null   
                     set l2 = null   
                     set l3 = null   
                     set l4 = null   
                     call RemoveUnit(d)  
                     call RemoveUnit(d2)
                     set d2=null
                     set d=null  
                     set u=null

Точнее вот этот код))


http://warcraft3ft.info/forum/26-34958-1
 

HexingДата: Воскресенье, 27 Ноября 2011, 11:36:52 | Сообщение # 27
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote (Hock)
Вот,все работает,но если не трудно последняя просьба-есть ли утечки?)

еще допиши
Code
set li = null

Добавлено (27 Ноябрь 2011, 11:36:52)
---------------------------------------------
хотя вообще удали

Code
local location li  

серавно ты не используешь эту переменную


 

HockДата: Воскресенье, 27 Ноября 2011, 12:58:41 | Сообщение # 28
3 уровень
Группа: Проверенные
Сообщений: 57
Награды: 0
Репутация: 14
Блокировки:
Hexing, ага ,когда пытался сделать,перепробывал многое,и забыл видимо поудалять)

http://warcraft3ft.info/forum/26-34958-1
 

SirNikolasДата: Воскресенье, 27 Ноября 2011, 15:18:16 | Сообщение # 29
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Попробуйте запустить следующий код:
Code
call BJDebugMsg(R2S(3.14159265358))
Вы будете сильно удивлены.

Добавлено (27 Ноябрь 2011, 15:18:16)
---------------------------------------------
Это я насчет округления.


 

HexingДата: Понедельник, 28 Ноября 2011, 09:38:28 | Сообщение # 30
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
SirNikolas, уже пробывал, но думаю это ограничение лишь для преоброзавания числа в строку, лучше проверить моим способом

 

SirNikolasДата: Вторник, 29 Ноября 2011, 15:14:10 | Сообщение # 31
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Hexing)
это ограничение лишь для преоброзавания числа в строку
Нет, это везде так. Сам недавно выяснил - когда делал "Электрический щит", у меня молнии как-то странно располагались.


 

FatalBladeДата: Среда, 30 Ноября 2011, 21:58:15 | Сообщение # 32
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (SirNikolas)
Code
call BJDebugMsg(R2S(3.14159265358))
Вы будете сильно удивлены.

А чё будет? Влом проверять


 

Ty3uKДата: Четверг, 01 Декабря 2011, 07:59:24 | Сообщение # 33
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Будет то, что отобразится это число со всеми десятичными знаками. Но у реальных все равно максимум 3 десятичных знака после запятой

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Четверг, 01 Декабря 2011, 14:13:31 | Сообщение # 34
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
От такой уверенности Ty3uK'а в вышесказанном перепроверил еще раз. Нет, я не ошибался - будет выведено следующее мистическое число:


 

ExtrematorДата: Четверг, 01 Декабря 2011, 14:21:55 | Сообщение # 35
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Quote (SirNikolas)
4.048 , которое, по мнению Близзов, является округлением числа Пи до тысячных.

а разве ПИ это не ~3.14 ? оО
 

SirNikolasДата: Четверг, 01 Декабря 2011, 14:25:49 | Сообщение # 36
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (SirNikolas)
Попробуйте запустить следующий код:
Code
call BJDebugMsg(R2S(3.14159265358))
Вы будете сильно удивлены.
Это результат исполнения данной строки.

А вообще Задорнов же говорил, что в Америке π ≈ 4.


 

HexingДата: Четверг, 01 Декабря 2011, 14:28:54 | Сообщение # 37
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote (SirNikolas)
А вообще Задорнов же говорил, что в Америке π ≈ 4.

ahaha


 

Ty3uKДата: Четверг, 01 Декабря 2011, 17:18:21 | Сообщение # 38
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ну так я же и сказал, что он должен округлить число до трех знаков после запятой. Или я снова не так понял твой пост?

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

[DUОS]Дата: Четверг, 01 Декабря 2011, 23:40:56 | Сообщение # 39
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (SirNikolas)
4.048
, которое, по мнению Близзов, является округлением числа Пи до тысячных.

ahaha
Вот это жёстко!


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


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

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Способность
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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