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

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

Ответ
 
Sie7eN
Feel what's real
offline
Опыт: 2,550
Активность:
Backslide не работает
function Trig_Backslide_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A03G'
endfunction

function Backtrack takes nothing returns nothing
local timer t = GetExpiredTimer()
local unit u = GetSpellAbilityUnit()
local real X = GetUnitX(u)
local real Y = GetUnitY(u)
local real Angle = Deg2Rad(GetUnitFacing(u))
local real TX = X-15*Cos(Angle) 
local real TY = Y-15*Sin(Angle)
call SetUnitX(u, TX)
call SetUnitY(u, TY)
set u = null
call DestroyTimer(t)
endfunction

function Trig_Backslide_Actions takes nothing returns nothing
local timer t = CreateTimer()
local integer i = 0
loop 
set i = i + 1
exitwhen i == 20
call TimerStart(t,0.05,false,function Backtrack)
endloop
endfunction

//===========================================================================
function InitTrig_Backslide takes nothing returns nothing
    set gg_trg_Backslide = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Backslide, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_Backslide, Condition( function Trig_Backslide_Conditions ) )
    call TriggerAddAction( gg_trg_Backslide, function Trig_Backslide_Actions )
endfunction
Смысл кода в том, что при применений скилла Бакслаид, герой, применивший скилл должен плавно отодвинуться назад. Извиняйте за ошибки, пишу подобный спелл с X/Y первый раз. Могу многого не знать.
Старый 15.01.2011, 19:39
DioD

offline
Опыт: 45,134
Активность:
делай отладку сам, начни с вывода всех переменных.
Старый 15.01.2011, 20:36
Sie7eN
Feel what's real
offline
Опыт: 2,550
Активность:
DioD, тебе лень такой легкий триг взглядом окинуть или смекалка не позволяет?
Я новичок, а ты наверное хоть что-то соображаешь. Сказал бы хоть что-то насчет триггера. Вечно выёживаешься.
Старый 15.01.2011, 20:41
ScorpioT1000
Работаем
offline
Опыт: отключен
local timer t = CreateTimer()
local integer i = 0
loop 
set i = i + 1
exitwhen i == 20
call TimerStart(t,0.05,false,function Backtrack)
endloop
что это?
ScorpioT1000 добавил:
особенно забавляет exitwhen i == 20 и аргумент periodic = false у таймера
Старый 15.01.2011, 20:45
DioD

offline
Опыт: 45,134
Активность:
Ramazanoff, я не спонсирую лодырей и идиотов, разговор окончен.
один таймер сработает один раз, хоть ты сколько его запускай, это так, к справке.
Старый 15.01.2011, 20:46
spellwerk

offline
Опыт: 4,869
Активность:
он думает что таймер работает как вейт
то есть он думает что это два в одном
Старый 15.01.2011, 20:54
16GB
GhostOne User
offline
Опыт: 60,317
Активность:
GetSpellAbilityUnit() не будет в другой функции пахать как бы надо переносить его из первой на пример через хэш
Старый 15.01.2011, 20:55
Klop
Папа римский
offline
Опыт: 13,006
Активность:
xgm.ru/forum/showthread.php?t=30742 отправляйся сюда тут примеры с хешом и таймером
Старый 15.01.2011, 21:13
16GB
GhostOne User
offline
Опыт: 60,317
Активность:
вот на
Прикрепленные файлы
Тип файла: w3x bag.w3x (23.0 Кбайт, 8 просмотров )
Старый 15.01.2011, 21:14
Sie7eN
Feel what's real
offline
Опыт: 2,550
Активность:
DioD:
один таймер сработает один раз, хоть ты сколько его запускай, это так, к справке.
сразу надо говорить.
16GB, огромное спасибо, разъяснил.
Старый 15.01.2011, 21:24
Ответ

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

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

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

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



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