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

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

Закрытая тема
 
RazArt

offline
Опыт: 11,197
Активность:
Ошибка со смещением
Я хотел создать вокруг юнита 4 других юнита, получается неизвестно что
» Вот код

Код:
function PolarOffset takes location loc, real dist, real angle returns location
    local real x = GetLocationX(loc) + dist * Cos(angle * bj_DEGTORAD)
    local real y = GetLocationY(loc) + dist * Sin(angle * bj_DEGTORAD)
    call MoveLocation(loc, x, y)
    return loc
endfunction

function Trig_Test_Actions takes nothing returns nothing
local integer n=1
local location L = GetUnitLoc(gg_unit_Hblm_0000)
local location array L2
loop
exitwhen n > 4
set L2[n] = PolarOffset(L,300,GetUnitFacing(gg_unit_Hblm_0000) + 90*n -45)
call CreateNUnitsAtLoc( 1, 'hfoo', Player(0), L2[n], bj_UNIT_FACING )
set n = n + 1
endloop
set n = 1
loop
exitwhen n > 4
call RemoveLocation (L2[n])
set L2[n] = null
set n = n + 1
endloop
set n = 0
set L = null
endfunction

function InitTrig_Test takes nothing returns nothing
    set gg_trg_Test = CreateTrigger(  )
    call TriggerRegisterTimerEventSingle( gg_trg_Test, 5 )
    call TriggerAddAction( gg_trg_Test, function Trig_Test_Actions )
endfunction


http://plasmon.rghost.ru/92110.image - скрин того, что получилось
Старый 21.01.2009, 11:14
Gres
Кораэлестраз
offline
Опыт: 18,575
Активность:
» А так?
Код:
function PolarOffset takes location loc, real dist, real angle returns location
    local real x = GetLocationX(loc) + dist * Cos(angle * bj_DEGTORAD)
    local real y = GetLocationY(loc) + dist * Sin(angle * bj_DEGTORAD)
    call MoveLocation(loc, x, y)
    return loc
endfunction

function Trig_Test_Actions takes nothing returns nothing
local integer n=1
local location L = GetUnitLoc(gg_unit_Hblm_0000)
loop
exitwhen n > 4
set L = GetUnitLoc(gg_unit_Hblm_0000)
call PolarOffset(L,300,GetUnitFacing(gg_unit_Hblm_0000) + 90*n -45)
call CreateNUnitsAtLoc( 1, 'hfoo', Player(0), L, bj_UNIT_FACING )
set n = n + 1
endloop
call RemoveLocation (L)
set n = 0
set L = null
endfunction

function InitTrig_Test takes nothing returns nothing
    set gg_trg_Test = CreateTrigger(  )
    call TriggerRegisterTimerEventSingle( gg_trg_Test, 5 )
    call TriggerAddAction( gg_trg_Test, function Trig_Test_Actions )
endfunction
Старый 21.01.2009, 11:42
RazArt

offline
Опыт: 11,197
Активность:
Да спасиб я уже понял в чём ошибка)
Старый 21.01.2009, 11:43
Закрытая тема

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

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

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

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



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