Добавлен , не публикуется
Переделанная версия моей прошлой наработки.
Изменения:Все сделано на Jass.Переделана пассивная способность.Добавлена новая способность.Оптимизированы некоторые утечки.Убрано GUI.Исправлены недочёты с иконками.Теперь карта открывается у всех и без JNGP.Вес карты уменьшен.
Описание способностей:
1)Резка клинками:Герой производит серию ударов по врагу с разных точек нанося незначительный урон,после чего мгновенно разрезает его со спины нанеся огромный урон.
2)Быстрые атаки:Герой перемещается в случайные точки в радиусе 650 от начала способности нанося урон попадающимся рядом противникам.
3)Искуство Ассасина:Герой имеющий эту способность становится невидимым.При атаке он наносит серию ударов по врагу нанося урон.Через 4 секунды после атаки герой вновь становится невидимым.
4)Цепь:Герой крутит цепь вокруг себя.Каждые 0.02 секунды цепь наносит 20 урона.Количество сцепленных частей 12.Расстояние между частями 75.Длина цепи 1200.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
6
11 лет назад
0
nvc123:
Gnusik, таймер+структуры в результате и муи и в 1 триггере
Таймер я не могу применять.Код не знаю.Структуры и подавно.
0
28
11 лет назад
0
Gnusik, я как нибудь напишу статью
0
6
11 лет назад
Отредактирован Gnusik
0
nvc123:
Gnusik, я как нибудь напишу статью
С нетерпением буду ждать!!!
nvc123, Кстати посмотри код получился муи?
code
function Trig_Assasin_Invisible_Conditions takes nothing returns boolean
return GetUnitAbilityLevel(GetAttacker(),'Apiv') >= 1
endfunction

function Trig_Assasin_Invisible_Actions takes nothing returns nothing
    local unit Attack=GetAttacker()
    local unit Unit=GetTriggerUnit()
    call PauseUnit(Attack,true)
    call PauseUnit(Unit,true)
    call DisableTrigger(gg_trg_Assasin_Spell)
    call UnitRemoveAbility(Attack,'Apiv')
    call SetUnitAnimation(Attack,"attack")
    call SetUnitAnimation(Unit,"death")
    call UnitDamageTarget(Attack,Unit,75.00,true,false,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS)
    call TriggerSleepAction(0.20)
    call SetUnitAnimation(Attack,"attack")
    call SetUnitAnimation(Unit,"death")
    call UnitDamageTarget(Attack,Unit,75.00,true,false,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS)
    call TriggerSleepAction(0.20)
    call SetUnitAnimation(Attack,"attack")
    call SetUnitAnimation(Unit,"death")
    call UnitDamageTarget(Attack,Unit,75.00,true,false,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS)
    call TriggerSleepAction(0.20)
    call SetUnitAnimation(Attack,"attack")
    call SetUnitAnimation(Unit,"death")
    call UnitDamageTarget(Attack,Unit,75.00,true,false,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS)
    call TriggerSleepAction(0.20)
    call SetUnitAnimation(Attack,"attack")
    call SetUnitAnimation(Unit,"death")
    call UnitDamageTarget(Attack,Unit,75.00,true,false,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS)
    call TriggerSleepAction(0.20)
    call SetUnitAnimation(Attack,"attack")
    call SetUnitAnimation(Unit,"death")
    call UnitDamageTarget(Attack,Unit,75.00,true,false,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS)
    call TriggerSleepAction(0.20)
    call PauseUnit(Attack,false)
    call PauseUnit(Unit,false)
    call DisableTrigger(GetTriggeringTrigger())
    call TriggerSleepAction(4.00)
    call EnableTrigger(GetTriggeringTrigger())
    call EnableTrigger(gg_trg_Assasin_Spell)
endfunction

//===========================================================================
function InitTrig_Assasin_Invisible takes nothing returns nothing
    local integer index=0
    set gg_trg_Sword_Attack = CreateTrigger(  )
        loop
            call TriggerRegisterPlayerUnitEvent(gg_trg_Assasin_Invisible, Player(index),EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
            set index = index + 1
            exitwhen index == 15
        endloop
    call TriggerAddCondition(gg_trg_Assasin_Invisible, Condition( function Trig_Assasin_Invisible_Conditions ) )
    call TriggerAddAction(gg_trg_Assasin_Invisible, function Trig_Assasin_Invisible_Actions )
endfunction
nvc123, вот вопрос что такое:
1)source
2)dist
3)angle
В коде
local real x = GetLocationX(source) + dist * Cos(angle * bj_DEGTORAD)
nvc123, И ещё одна просьба.Поможешь мне сделать из того скила что ты мне кинул "Sword Attacl" немного переделать в "Speed Attack".Я перезалил карту посмотри её.
0
28
11 лет назад
0
TriggerSleepAction(0.20) даёт неточный результат лучше делать через таймер и структуры/параллельные массивы
source это точка,dist расстояние,angle угол
косинус угла*гипотенуза+координата x угла
0
6
11 лет назад
Отредактирован Gnusik
0
nvc123, Спасибо.Статью на таймеры когда напишешь я смогу скилл "Sword Attack" завершить без структур.
Вот пример.
"Установить:Point=Позиция Caster смещение на 50""
"Установить:Point2=Позиция Target смещение на 45""
После таймер и он двигает цели.
Таймер закончился.
Точки удаляем и все.
0
28
11 лет назад
0
не надо точки,если ты не заметил то все действия происходят с координатами
проще использовать x/y чем точки
спел без структур/массивов получается не муи
читай,надеюсь поймёшь
1
6
11 лет назад
Отредактирован Gnusik
1
nvc123:
не надо точки,если ты не заметил то все действия происходят с координатами
проще использовать x/y чем точки
спел без структур/массивов получается не муи
читай,надеюсь поймёшь
спасибо за статью пойду читать.
nvc123, Немного сложно,но всё же внятно.Буду экспериментировать.Мне как раз наработку делать новую.Единственное я там не увидел таймер где все вместе.То есть его нужно будет после поставить после структур?
0
28
11 лет назад
0
Gnusik, таймер запускается в функции init, он каждые 0,025 секунды вызывает функцию апдейт которая работает со структурами
0
6
11 лет назад
0
nvc123, Короче мне ещё учиться и учиться.
0
28
11 лет назад
0
Gnusik, статьи есть так что учи
в моей статье есть куча комментариев и переменные имеют нормальный вид
я даже не юзал синтаксис сиджасс(почти не юзал)
1
6
11 лет назад
1
nvc123, проблема в том что там vJass.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.