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

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

Ответ
 
UltimateFenix
Высший Эльф
offline
Опыт: 1,374
Активность:
Polled Wait и прочее
function Trig_CorTarFlamePrecast_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A05R' ) ) then
        return false
    endif
    return true
endfunction

function Trig_CorTarFlamePrecast_Actions takes nothing returns nothing
    call SetUnitAnimation( GetSpellAbilityUnit(), "stand channel" )
    set udg_p = GetUnitLoc(GetSpellAbilityUnit())
    call CreateNUnitsAtLoc( 1, 'u00M', GetOwningPlayer(GetSpellAbilityUnit()), udg_p, GetUnitFacing(GetSpellAbilityUnit()) )
    call SetUnitVertexColorBJ( GetLastCreatedUnit(), 100, 100, 100, 60.00 )
    call RemoveLocation( udg_p )
    local unit CorTarF
    set CorTarF = GetLastCreatedUnit()
    call SetUnitAnimation( CorTarF, "stand channel" )
    call PolledWait( 0.90 )
    call SetUnitAnimation( CorTarF, "spell" )
    call PolledWait( 0.40 )
    call RemoveUnit( CorTarF )
    set CorTarF = null
endfunction

//===========================================================================
function InitTrig_CorTarFlamePrecast takes nothing returns nothing
    set gg_trg_CorTarFlamePrecast = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_CorTarFlamePrecast, EVENT_PLAYER_UNIT_SPELL_CHANNEL )
    call TriggerAddCondition( gg_trg_CorTarFlamePrecast, Condition( function Trig_CorTarFlamePrecast_Conditions ) )
    call TriggerAddAction( gg_trg_CorTarFlamePrecast, function Trig_CorTarFlamePrecast_Actions )
endfunction
Сабж: имею вот такой простой триггер, пожалуйста укажите на мои ошибки и покажите, как нужно. Слышал, что PolledWait утечен, как устроить таймер внутри одной функции или же как проще переносить локальные переменные?
Что делает триггер: когда герой начинает кастовать, создаётся полупрозрачный кастующий паренёк CorTarF :)
Старый 20.05.2014, 22:49
Hate
конь вакуумный
offline
Опыт: 43,117
Активность:
используется хеш таблица, или структуры, или массивы
Hate добавил:
function Trig_CorTarFlamePrecast_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A05R' 
endfunction
Hate добавил:
следует заносит в локалки те предметы которые вы часто используете что бы не вызывать по n раз функции
Старый 20.05.2014, 23:12
Srezi
Гость
Опыт: n/a
Хеш-таблиця самый удобный вариант для создания различных спеллов. Это очень удобно и практично.
________________
пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ...
Старый 21.05.2014, 00:33
ScorpioT1000
Работаем
offline
Опыт: отключен
опять начинается, почему каждый думает, что он самый умный из всех и нужно создать еще одну тему про поллед вейт?

Отредактировано ScorpioT1000, 21.05.2014 в 14:19.
Старый 21.05.2014, 14:00
UltimateFenix
Высший Эльф
offline
Опыт: 1,374
Активность:
Hate, насколько я понял речь идёт о вызове GetSpellAbilityId() несколько раз) хм, думаю если вызовов меньше 5, то можно и так оставить, мне кажется это очень незначительно влияет на быстродействие.
Srezi, да уж, думаю и мне пора вникнуть
ScorpioT1000, "и прочее" ;)
Старый 21.05.2014, 16:11
Hate
конь вакуумный
offline
Опыт: 43,117
Активность:
уже более 2 раз следует лучше занести в локалку
вам же от этого проще ориентироваться в коде
Старый 21.05.2014, 17:33
nvc123
new status
offline
Опыт: 59,284
Активность:
UltimateFenix, почитай статьи
а то даже не понятно это джасс или просто гуи со вставленной локалкой
Старый 21.05.2014, 20:05
Srezi
Гость
Опыт: n/a
UltimateFenix:
Hate, насколько я понял речь идёт о вызове GetSpellAbilityId() несколько раз) хм, думаю если вызовов меньше 5, то можно и так оставить, мне кажется это очень незначительно влияет на быстродействие.
Srezi, да уж, думаю и мне пора вникнуть
ScorpioT1000, "и прочее" ;)
Советую работать на чистом Jass, а не на кривом конвертированным в Jass GUI. Ведь этот Jass очень прост в обращении, это не С+100 и прочие языки программирования)
К тому же Jass расширит твою магию(картостроительские возможности).
________________
пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ...
Старый 21.05.2014, 21:40
Ответ

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

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

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

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



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