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

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

Ответ
 
Zombak2500

offline
Опыт: 1,855
Активность:
отмена анимации
» Code
function Trig_Blink_Strike_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A008'
endfunction
function Trig_Blink_Strike_Actions takes nothing returns nothing
local unit uca = GetSpellAbilityUnit()
local unit uta = GetSpellTargetUnit()
local real Xuta = GetUnitX(uta) - 10
local real Yuta = GetUnitY(uta) - 10
local real Rca = GetUnitFacing(uta)
local string eua = "Abilities\\Spells\\Human\\MarkOfChaos\\MarkOfChaosTarget.mdl"
call SetUnitPosition (uca,Xuta,Yuta)
call SetUnitFacing (uca,Rca)
call SetUnitAnimation( uca, "Attack slam" )
call UnitDamageTarget (uca,uta,200,true,false,ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL,null)
call AddSpecialEffect (eua,Xuta,Yuta)
endfunction
===========================================================================
function InitTrig_Blink_Strike takes nothing returns nothing
set gg_trg_Blink_Strike = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Blink_Strike, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Blink_Strike, Condition( function Trig_Blink_Strike_Conditions ) )
call TriggerAddAction( gg_trg_Blink_Strike, function Trig_Blink_Strike_Actions )
endfunction
Что мне нужно добавить в код что -бы анимация атаки не могла быть прервана приказом на передвижение и дурацкой самостоятельностью юнита.
Старый 01.03.2010, 19:01
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
паузить его на время анимации?
Старый 01.03.2010, 19:06
Zombak2500

offline
Опыт: 1,855
Активность:
ну что бы он ничего на время анимации сделать не мог ; паузить?
Zombak2500 добавил:
помоги плиз
Старый 01.03.2010, 19:17
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
паузить его на время анимации. =) Вообще зависит от ситуации, что там за самостоятельность у юнита для меня загадка. Попробуй паузить, не поможет - дальше что-то прийдётся пробовать.
Старый 01.03.2010, 19:22
Zombak2500

offline
Опыт: 1,855
Активность:
так как я узнаю что он закончил анимацию
Старый 01.03.2010, 19:24
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
никак не узнаешь, нужно просто ждать столько секунд, сколько длится анимация или же искать какую-либо внутриигровую привязку, если есть, навроде получения урона.
Проще всего запускать таймер и ждать x.xx sec - сколько длится анимация.
Старый 01.03.2010, 19:34
Zombak2500

offline
Опыт: 1,855
Активность:
так с этим разобрался ,но не удаляя темы подскажи плиз как юнита перемещать точно за спину
Старый 01.03.2010, 19:55
Master_chan
Полуночный командир
offline
Опыт: 15,660
Активность:
Код:
local unit caster = GetTriggerUnit()
local unit target = GetSpellTargetUnit()
local real x = GetUnitX(target)+90*Cos((GetUnitFacing(target)+180)*bj_DEGTORAD)
local real y = GetUnitY(target)+90*Sin((GetUnitFacing(target)+180)*bj_DEGTORAD)
call SetUnitX(caster,x)
call SetUnitY(caster,y)


ну ты понял?))

ЗЫ и для анимаций длительностью секунду-две можно не запускать таймер а использовать PolledWait
Старый 01.03.2010, 20:22
Zombak2500

offline
Опыт: 1,855
Активность:
да
Старый 01.03.2010, 23:35
Zombak2500

offline
Опыт: 1,855
Активность:
всё спасибо тему офф
Старый 03.03.2010, 23:49
DioD

offline
Опыт: 45,134
Активность:
нельзя управлять анимацией, если ты хочешь чтобы игрок не приказывал отбегать, отменяй удар если юнит получает иной приказ.
Старый 05.03.2010, 15:24
Ответ

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

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

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

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



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