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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
[Вопрос] Создание дамми по координатам вокруг дамми
Gamefr@nkДата: Суббота, 07 Января 2012, 13:45:25 | Сообщение # 1
8 уровень
Группа: Проверенные
Сообщений: 638
Награды: 0
Репутация: 188
Блокировки:
Как сделать чтобы дамми da[di] создавались вокруг дамми d
Code
function Trig_NewYearFun_Actions takes nothing returns nothing
local unit f=GetTriggerUnit()
local integer i=0
local integer s=-20
local real fas=GetUnitFacing(f)
local unit array da
local integer di=0
     local real x = GetWidgetX(f) + 120. * Cos(GetUnitFacing(f) * .017)  
     local real y = GetWidgetY(f) + 120. * Sin(GetUnitFacing(f) * .017)
     local real x1 = GetWidgetX(f) + 120. * Cos(fas * .017)  
     local real y1 = GetWidgetY(f) + 120. * Sin(fas * .017)
     local real x2 = GetWidgetX(f) + 220. * Cos(fas * .017)  
     local real y2 = GetWidgetY(f) + 220. * Sin(fas * .017)
     local unit d=CreateUnit(GetOwningPlayer(f),'o004',x,y,GetUnitFacing(f))
     loop
     exitwhen i>10*GetUnitAbilityLevel(f,'A007')
     call SetUnitScale(d,s,s,s)
   set da[di] = CreateUnit(GetOwningPlayer(f),'o005',x1,y1,0)
   set fas=fas+20
     set x1 = GetWidgetX(da[di]) + 120. * Cos(fas * .017)  
     set y1 = GetWidgetY(da[di]) + 120. * Sin(fas * .017)
   set di=di+1
set    s=s+1
set    i=i+1
call TriggerSleepAction(0.01)
endloop
loop
exitwhen i==0
     call IssuePointOrder(da[di],"shockwave",x2,y2)
         set fas=fas-20
    set x2 = GetWidgetX(da[di]) + 220. * Cos(fas * .017)  
    set y2 = GetWidgetY(da[di]) + 220. * Sin(fas * .017)
     set di=di-1
     set s=s-5
     set i=i-1
     endloop
     call TriggerSleepAction(1)
     loop
     exitwhen i>10*GetUnitAbilityLevel(f,'A007')
     call RemoveUnit(da[di])
     set da[di]=null
     set di=di+1
     endloop
    set f=null
    call RemoveUnit(d)
    set d=null
endfunction

Добавлено (07 Январь 2012, 13:45:25)
---------------------------------------------
и может кто заметит ошибку по которой неудаляется дамми D

 

lawsonДата: Суббота, 07 Января 2012, 14:22:47 | Сообщение # 2
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Gamefr@nk)
 call TriggerSleepAction(1)

Код не смотрел но вот это настараживает.
Quote (Gamefr@nk)
 exitwhen i>10*GetUnitAbilityLevel(f,'A007')

Этж скоко у тебя даммиков?


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

Ty3uKДата: Суббота, 07 Января 2012, 14:25:57 | Сообщение # 3
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
.017 - Уважаю, фтопку всякие бж_дегтурад

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

Gamefr@nkДата: Суббота, 07 Января 2012, 14:49:30 | Сообщение # 4
8 уровень
Группа: Проверенные
Сообщений: 638
Награды: 0
Репутация: 188
Блокировки:
lawson,
Quote (lawson)
Этж скоко у тебя даммиков

ну на 3 лвл(финалке) 30^ Ty3uK, пасиб.
Quote (lawson)
Код не смотрел но вот это настараживает.

Да с таймерами я пока туплю.

Добавлено (07 Январь 2012, 14:49:30)
---------------------------------------------
Дак всеже почему дамми da[di] создаются не вокруг d хотя вроде бы должны?
Пускают волны правильно притом.

 

Ty3uKДата: Суббота, 07 Января 2012, 14:57:43 | Сообщение # 5
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Да, вейт- не тру. Чтобы создать дамми вокруг чего либо, тебе надо сделать смещение по отношению к цели. Примерно так (напишу только для икс, я с телефона)
Code
local real x = GetWidgetX(target) + dist * Cos(angle_in_rad)
угол изменяй циклом. Угол лучше сразу брать в радианах


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

Gamefr@nkДата: Суббота, 07 Января 2012, 15:11:49 | Сообщение # 6
8 уровень
Группа: Проверенные
Сообщений: 638
Награды: 0
Репутация: 188
Блокировки:
Пасиб,щас попробую

Добавлено (07 Январь 2012, 15:11:49)
---------------------------------------------
Получилось)
Ток я нашел еше пару причин)
Я с приказамми и локалками путал чуть надо было втавить d в цикле с волнами,а я ставил da[di]
и прочие такие ошибки)

 

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

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