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

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

Ответ
 
APXEOLOG
Прощай XGM, удачи тебе.
offline
Опыт: 1,015
Активность:
Создание "пьющего" заклинания
Я пытаюсь сделать "пьющее заклинание" (как Mana Drain) только с другим эффектом.
Суть: заклинание Channeling, может кастоваться, сколь угодно долго. При касте кастер отдает своей цели всю ману, при этом маны у цели может стать больше обычного максимума. Во время каста у кастера не регенерируется мана. Затем после отмены заклинания, у цели отнимается тот бонус к максимальной мане, который она получила.

на данный момент код:
Код:
function Link_Actions takes nothing returns nothing
    local unit uCaster = GetTriggerUnit()
    local unit uTarg = GetSpellTargetUnit()
    local effect ef1
    local effect ef2
    local real rCastX = GetUnitX(uCaster)
    local real rCastY = GetUnitY(uCaster)
    local real rTargX = GetUnitX(uTarg)
    local real rTargY = GetUnitY(uTarg)
    local real rMana = GetUnitState(uTarg, UNIT_STATE_MANA)
    local real rManaM = GetUnitState(uTarg, UNIT_STATE_MAX_MANA)
    local real rManaPlus
    set ef1 = AddSpecialEffect("Abilities\\Spells\\Orc\\SpiritLink\\SpiritLinkTarget.mdl", rCastX, rCastY)
    set ef2 = AddSpecialEffect("Abilities\\Spells\\Orc\\SpiritLink\\SpiritLinkTarget.mdl", rTargX, rTargY)
    if ((rManaM - rMana) <= GetUnitState(uCaster, UNIT_STATE_MANA)) then
        call SetUnitState(uTarg, UNIT_STATE_MANA, rMana + GetUnitState(uCaster, UNIT_STATE_MANA))
    else
        set rManaPlus = GetUnitState(uCaster, UNIT_STATE_MANA) - (rManaM - rMana)
        call SetUnitState(uTarg, UNIT_STATE_MAX_MANA, rManaM + rManaPlus)
        call SetUnitState(uTarg, UNIT_STATE_MANA, rMana + rManaPlus)
    endif
    call SetUnitState(uCaster, UNIT_STATE_MANA, 1)
    call DestroyEffect(ef1)
    call DestroyEffect(ef2)
    
endfunction


Ну и собственно вопросы:
1. Как сделать светящююся нить между кастером и целью?(как в Mana Drain)
2. Как сделать временное увеличение максимальной маны?(сейчас она у меня вообще не увеличивается, непонятно почему)
3. Не прорисовываются эффекты.(почему?)
Старый 18.02.2009, 08:03
agentex

offline
Опыт: 34,834
Активность:
Мм судя по коду твой спел работает совсем не как лайф\мана дрейн. У тя мана прибавляется только 1 раз, при касте, без таймера \ лупа тут не получится... Эффекты не прорисовываются потому что ты их сразу уничтожаеш. Светящаяся нить делается добавлением молнии (AddLightning) и каждые 0.01 сек. перемещением ее на новое место (если цель может двигаться)
Старый 18.02.2009, 10:10
APXEOLOG
Прощай XGM, удачи тебе.
offline
Опыт: 1,015
Активность:
Ну тут сама суть во временном добавлении маны. А она у меня совсем не увеличивается...
А за молнию спасибо.
Старый 18.02.2009, 13:04
agentex

offline
Опыт: 34,834
Активность:
APXEOLOG а ну мана не увеличивается потому что нельзя тригерно увеличить ни запас маны, ни запас хп.
Старый 18.02.2009, 13:51
Ответ

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

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

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

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



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