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

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

Библиотека заклинаний

Если вы хотите поделиться своими триггерными и JASS-заклинаниями, то можете оставлять их здесь.
Желательно иметь, в карте, небольшое руководство для новичков, по установке вашего творения на другую карту.
» Шаблон выкладывания способностей:
Название: название заклинания
Метод исполнения: GUI, Jass (v*, c*)
Нужен ли JNGP: да или нет
Тип цели: юнит, точка, область, без цели
Результат применения: целое описание
Количество уровней: 0-255
Вызов заклинания на цель: buff, если есть
Наличие глобальных переменных: да или нет
Дополнительные аргументы(такие, как вызов новых юнитов, предметов, требования, и прочее)
**Название:**
**Метод исполнения:**
**Нужен ли JNGP:** 
**Тип цели:**
**Результат применения:**
**Количество уровней:**
**Вызов заклинания на цель:**
**Наличие глобальных переменных:** 
Шаблон можно просто скопировать здесь, вставить в свое сообщение, и заполнить
Выполняется для каждой способности, независимо от количества карт.

Правила темы:
  • Запрещены заказы заклинаний, для этого есть тема
  • Можно оставлять пожелания для улучшения заклинаний, указывать баги, но не оценки, и прочий флуд.
  • Оформление ответов, согласно шаблонам.
  • Запрещается выкладывать разные версии одного и того же заклинания в разных сообщениях.
  • Написание описаний понятным русским языком.
  • Не забывайте указывать в своих картах авторов заклинаний!
Заявки, не удовлетворяющие правилам, будут удаляться

Ответ
 
youtube
сктыщь
offline
Опыт: 8,025
Активность:
Название: Stones
Метод исполнения: vJass (+cjass)
Нужен ли JNGP: да
MUI: агась
Тип цели: Вражеские юниты в радиусе 150
Описание: переделал чуток скил Zanozus'a по просьбе Msey
При применении заклинания даммики начинаются крутится вокруг героя и дается дополнительный скилл, все вражеские юниты которые касаются даммика, отлетают на небольшое расстояние и получет небольшой урон. При применения дополнительного скила, все даммики разлетаются во все стороны и при попадании в противника наносят урон от 1 до 100 * лвл абилы.
Прикрепленные файлы
Тип файла: w3x For Msey.w3x (21.4 Кбайт, 68 просмотров )
Старый 26.08.2011, 19:25
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
Название: Ярость клинка
Метод исполнения: GUI
Тип цели:Указанный юнит
Описание:Мастер клинка впадает в ярость и начинает атаковать указаного юнита, причем каждая атака отталкивает противника и наносит по х2 ловкость урона.
Довольно красивая способность, в добавок когда происходит атака может сработать любая пассивная способность работающая от физической атаки героя.
Кому понравилось плюсоните плиз).
Прикрепленные файлы
Тип файла: w3x skill by Vadik29(2).w3x (22.0 Кбайт, 64 просмотров )
Старый 27.08.2011, 15:22
weaver
ПочемусерверХГМ тормозит?
offline
Опыт: 4,000
Активность:
Достали одни и те же заказы ,и чтоб не мучиться вот эта способность.
смотреть
weaver добавил:
Название:Frothen fair
Метод исполнения:Gui
Тип цели:враг или местность
Результат применения:описание в карте.
Количество уровней:3
Прикрепленные файлы
Тип файла: w3x Wave.w3x (16.7 Кбайт, 75 просмотров )
Тип файла: w3x Frothen fair.w3x (28.8 Кбайт, 60 просмотров )
Старый 29.08.2011, 01:41
asantepler

offline
Опыт: 235
Активность:
Название: tool tip missing!
Метод исполнения: Приспичило делать в GUI
Нужен ли JNGP: нет
Тип цели: без цели
Результат применения: Эффект огненной новы медленно расползающейся от кастера, сжигающей террэин, декорации и юнитов. Кастеру наносится 2 ед урона в секунду. При повторном касте в рандомных точках получившейся окружности падают 10-12 метеоритов, поджигающих и станящих, попавших под них противников. Затем они разлетаются на куски и летят по параболе. При приземлении, взрываются(станят, обжигают, ломают детракшн), снова ломаются на две половины и летят(по параболе, обжигая противников). Снова падают, эффект взрыва, стан\урон\разрушение деревьев. Все красиво эпично и не утечно.
Количество уровней: один
Наличие глобальных переменных: три штучки
Nanopro что-то мне подсказывает, что ты чуть-чуть ошибся темой. Отпишись с академке, быстрее помогут
Прикрепленные файлы
Тип файла: w3x Effects.w3x (31.7 Кбайт, 61 просмотров )
Старый 10.09.2011, 14:36
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
Название: Молнии
Метод Исполнения: GUI
MUI: Нету
Тип Цели: Без цели
Результат применения: не знаю, как описать)
Dummy: много(5)((( ,зато нет утечек...
Кол-во глобальных переменных: 3-4...
Vadik29 добавил:
А вот спел который я холел выложить ,но выложил случайно не тот и удалил...
Название: Сфера защиты
Метод Исполнения: GUI
MUI: Нету
Тип Цели: на область
Результат применения: в указоной области создается сфера которая не пускает врагов внутрь
Dummy:1
Кол-во глобальных переменных: 2-3...
З.Ы. Прошу ставить оценки)
Миниатюры
Кликните на картинку для увеличения
Название:  Копия WVMH8wItczi0D.jpg
Просмотров: 203
Размер:  299.4 Кбайт  Кликните на картинку для увеличения
Название:  1234.jpg
Просмотров: 262
Размер:  280.7 Кбайт  
Прикрепленные файлы
Тип файла: w3x Lightning by vadik 29.w3x (23.0 Кбайт, 50 просмотров )
Тип файла: w3x spell by Vadik29 2.w3x (19.1 Кбайт, 98 просмотров )

Отредактировано Vadik29, 16.10.2011 в 18:00.
Старый 13.10.2011, 16:37
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
Название: Хватка смерти
Метод исполнения: Gui + CS
Нужен ли JNGP: нет
Тип цели: юнит
Результат применения: Поднимает и тащит к себе противника (использую молнию фиолетового цвета... З.Ы. как в вов)
Количество уровней: 1
Вызов заклинания на цель: нет
Наличие глобальных переменных: 2
З.Ы. Прошу ставить оценки)
Прикрепленные файлы
Тип файла: w3x DeathGrip.w3x (1.79 Мбайт, 104 просмотров )

Отредактировано Vadik29, 16.10.2011 в 18:00.
Старый 16.10.2011, 16:51
Arti

offline
Опыт: 11,196
Активность:
Сделал простенького героя за вечер, возможно кому то будет интересно. Все спелы GUI/MUI.
Извините за ошибки и лишний ипорт:\
1 способность: Death Mirror
Заклинание вызывает из-под земли кристаллические зеркала, насыщенные магией земли, после чего вверх подлетает один осколок кристалла и множество раз отражается в зеркалах. Затем же все клоны-отражения бомбардируют одну точку перед зеркалами.
2 способность: Body Control
Накладывает на противника заклятие, которое парализирует противника на 4 сек., если тот начнёт двигаться, атаковать или произносить заклинание.
3 способность: Absorption
За каждое произнесённое врагом заклинание обладатель этой ауры получает здоровье.
4 способность: Distortion
Чародей налаживает на всех врагов искажение, которое делает их очень маленькими, уменьшая их скорость передвижения или очень большими замедляя скорость атаки.
Если кому то надо могу запилить героя если мне будет интересна его биография :)
Прикрепленные файлы
Тип файла: w3x Wizard.w3x (222.2 Кбайт, 97 просмотров )
Старый 30.10.2011, 13:09
weaver
ПочемусерверХГМ тормозит?
offline
Опыт: 4,000
Активность:
Название:Союз
Способ исполнения: Гуй
Описание: Кастер Объединяет всех крипов в области и создает одного огромного ,атака которого равна кол-ву крипов ,через 25 секунд огромный крип исчезает и появляются прежние крипы,не действуют на врагов ,героев и зданий.
Прикрепленные файлы
Тип файла: w3x Союз.w3x (20.1 Кбайт, 61 просмотров )

Отредактировано weaver, 03.11.2011 в 11:13.
Старый 02.11.2011, 22:10
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
Вот 2 героя:
I. Имя: Лорд Ребрад
Происхождение: Стражник цитадели "Ледяной Короны".
Способности:
1)Название: Костяная буря
Метод исполнения: GUI
Цель: Без цели
Результат применения: (вихрь клинков с триггерным уроном) 0.25\0.50\0.75\1.00\1.25*сила каждые 0.25 сек.
2)Название: Кости и Лед
Метод исполнения: GUI
Цель: Враждебный юнит
Результат применения: Атакует противника холодом если противник находиться на расстоянии 15 метров и больше то замораживает его на 2\3\4\5\6 сек., если ближе то замедляет на 25%\30%\35%\40%\45% на 4\5\6\7\8 сек.
3)Название: Ледяные кости
Метод исполнения: GUI
Пассивная способность
Результат применения: Увеличивает защиту героя на 5\10\15\20\25, также когда героя атакуют есть шанс замедлить скорость передвижения противника на 25%\30%\35%\40%\45% с шансом 10%\15%\20%\25%\30%
4)Название: Ледяной удар (ульта)
Метод исполнения: GUI
Цель: Враждебный юнит
Результат применения: Ребрад ударяет противника и за ним появляется лед по которому начинает скользить противник, в конце вути противник врезается в ледяные иглы и получает огромный урон.
Урон: 500\1000\1500\2000\2500
II.Имя: Тесак
Происхождение: Бывший капитан демонических орков запределья....
Способности:
1)Название: Неистовство Героя
Метод исполнения: GUI
Цель: без цели
Результат применения: Тесак освобождает себя от эффектов замедления и увеличивает свою скорость бега 30%\60%\90%\120%\150%
2)Название:Командный Крик
Метод исполнения: GUI
Цель: без цели
Результат применения: Тесак повышает свою защиту 5\10\15\20\25 ед., регенерацию 10\20\30\40\50 ед. и атаку 25%\50%\75%\100%\125% на 10 сек.
3)Название: Яросный удар
Метод исполнения: GUI
Цель: Враждебный юнит
Результат применения: Наносит противнику урон и оставляет метку, тем самым следующие 3 обычных удара востановят герою здоровье, также оглушает на 1 сек.
Здоровья восстановлено: 1%\2%\3%\4%\5% (от макс)
Урон:10% от макс хп Тесака + его сила
Время действия:10 сек.
Перезарядка: 15\12\10\7\4 сек.
4)Название: Кровь и Гром (ульта)
Метод исполнения: GUI
Цель: без цели
Результат применения: Тесак атакует всех противников вокруг себя в радиусе 250, тем самым замедляя их на 10 сек. на 100% и нанося им урон = 10%\15%\20%\25%\30% от их макс хп.
З.Ы:
Фух 30 минут писал), ставим оценочки, если есть баги или утечки говорим, Сори за импорт, просто я поклонник красоты))
Прикрепленные файлы
Тип файла: w3x GladiatorWars.w3x (1.89 Мбайт, 635 просмотров )

Отредактировано Vadik29, 03.11.2011 в 16:10.
Старый 03.11.2011, 15:41
youtube
сктыщь
offline
Опыт: 8,025
Активность:
делал для карты скилы, но к сожалению не пригодились, и по этому выкладываю, мб кому и пригодятся...
Название: Ex
Метод исполнения: vjass+cjass
Нужен ли JNGP: +
Тип цели: область
Описание: герой насылает в указанную область небольшое кол-во огненный шаров летящих по параболе, и наносящих урон в области. Каждый шар наносит по ~15ед урона в радиусе 150
» code
scope Fire initializer Init{
    include "cj_types_priv.j"
    define{
        private SpellId                   ='Z003'//айди скила
        private DummyId                   ='h003'//айди даммика
        private Min                       =25//не важно
        private NUM                       =30//кол-во даммиков
        private periodic                  =0.05//периодпоявления
        private AoE                       =150//радиус нанесения урона
        private DmG                       =15//урон
        private EFFECT                    ="Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile.mdl"//"Abilities\\Weapons\\Demo​lisherFireMissile\\DemolisherFireMissile.mdl"
        //||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
        private clear = flush locals
        private Dist(x1,y1,x2,y2)={SquareRoot((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))}
    }
    private unit CAST
    private unit DUMMY
    private struct Spell{
    unit cast,dummy
    real x,y,d,m_d,a
        static method onDamage takes nothing returns boolean
            unit u = GetFilterUnit()
            if IsUnitEnemy(CAST, GetOwningPlayer(u)) and GetWidgetLife(u) > 0.405 and not IsUnitType(u, UNIT_TYPE_STRUCTURE) and not IsUnitType(u, UNIT_TYPE_MECHANICAL) then 
                UnitDamageTarget(CAST, u, DmG , false, false, ATTACK_TYPE_HERO, DAMAGE_TYPE_FIRE, null)  
            endif
            clear
            return false          
        endmethod
        static method onAction takes void returns void
            timer t = GetExpiredTimer()
            thistype r = GetTimerData(t)
            if r.d>Min
                r.d-=15
                SetUnitX(r.dummy,GetUnitX(r.dummy)+15*Cos(r.a))
                SetUnitY(r.dummy,GetUnitY(r.dummy)+15*Sin(r.a))
                SetUnitFlyHeight(r.dummy,(4.*350/r.m_d)*(r.m_d-r.d)*(r.d/r.m_d),0)
            else
                CAST=r.cast
                DestroyEffect(AddSpecialEffect(EFFECT,GetUnitX(r.dummy), GetUnitY(r.dummy)))
                GroupEnumUnitsInRange(bj_lastCreatedGroup, GetUnitX(r.dummy), GetUnitY(r.dummy), AoE, Filter(function thistype.onDamage))
                RemoveUnit(r.dummy)
                ReleaseTimer(t)
            endif
            clear
        endmethod
        
        static method onCreate takes unit dummy,location p,unit caster returns thistype
            thistype r = thistype.create()
            timer t = NewTimer()
            r.cast=caster
            r.x=GetLocationX(p)+GetRandomReal(-300,300)*Cos(GetRandomReal(0,360))
            r.y=GetLocationY(p)+GetRandomReal(-300,300)*Sin(GetRandomReal(0,360))
            r.d=Dist(r.x,r.y,GetUnitX(r.cast),GetUnitY(r.cast))
            r.m_d=r.d
            r.a=Atan2(r.y-GetUnitY(r.cast),r.x-GetUnitX(r.cast))
            r.dummy=dummy
            SetTimerData(t,r)
            TimerStart(t, 0.03125, true, function thistype.onAction)
            clear
            return r
        endmethod
    }
    private struct CreateUnits{
    unit cast,dummy
    int num
    location p
        static method onAction takes void returns void
            timer t = GetExpiredTimer()
            thistype r = GetTimerData(t)
            if r.num>0
                r.num--
                r.dummy=CreateUnit(GetOwningPlayer(r.cast),DummyId,GetUnitX(r.cast),GetUnitY(r.cast),GetUnitFacing(r​.cast))
                Spell.onCreate(r.dummy,r.p,r.cast)   
            else
                ReleaseTimer(t)
            endif
            clear
        endmethod
        static method onCreate takes unit caster,location p returns thistype
            thistype r = thistype.create()
            timer t = NewTimer()
            r.cast=caster
            r.p=p
            r.num=NUM
            SetTimerData(t,r)
            TimerStart(t, periodic, true, function thistype.onAction)
            clear
            return r
        endmethod
    }
    
    private bool Cond(){
        if GetSpellAbilityId()==SpellId then
            location p=GetSpellTargetLoc()
            unit u=GetTriggerUnit()
            DestroyEffect(AddSpecialEffectTarget(EFFECT,u,"weapon"))
            CreateUnits.onCreate(u,p)
            clear
        endif 
        return false
    }
    
    private void Init(){
        trigger t=CreateTrigger()
        TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SPELL_EFFECT)
        TriggerAddCondition(t, Condition(function Cond))
        clear
    }
}
Название: Qu
Метод исполнения: vjass+cjass
Нужен ли JNGP: +
Тип цели: все враги, вокруг героя
Описание: герой создает ледяной круг вокруг себя, тем самым нанося всем врагам урон и замедляя их на небольшой промежуток времени
» code
scope Cold initializer Init{
    include "cj_types_priv.j"
    define{
        private SpellId                   ='Z001'
        private DummySpellId              ='Z006'
        private EFFECT                    ="Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl"
        //||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
        private clear = flush locals
        private Dist(x1,y1,x2,y2)={SquareRoot((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))}
    }
    private unit CAST
    private struct AddEffect{
        unit u
        static method onAction takes void returns void
            timer t=GetExpiredTimer()
            thistype r = GetTimerData(t)
            UnitRemoveAbility(r.u,DummySpellId)
            ReleaseTimer(t)
            clear
        endmethod
        static method onCreate takes unit u returns void
            thistype r = thistype.create()
            timer t = NewTimer()
            r.u=u
            UnitAddAbility(r.u,DummySpellId)
            SetTimerData(t,r)
            TimerStart(t, 3, true, function thistype.onAction)
            clear
        endmethod
    }
    private struct Spell{
    unit cast
    real x,y,a,face,s,d,dis,sx,sy,power
        static method onDamage takes nothing returns boolean
            unit u = GetFilterUnit()
            if IsUnitEnemy(CAST, GetOwningPlayer(u)) and GetWidgetLife(u) > 0.405 and not IsUnitType(u, UNIT_TYPE_STRUCTURE) and not IsUnitType(u, UNIT_TYPE_MECHANICAL) then 
                UnitDamageTarget(CAST, u, 100+50*GetUnitAbilityLevel(CAST,SpellId) , false, false, ATTACK_TYPE_HERO, DAMAGE_TYPE_COLD, null)  
                DestroyEffect(AddSpecialEffect(EFFECT,GetUnitX(u), GetUnitY(u)))
                AddEffect.onCreate(u)
            endif
            clear
            return false          
        endmethod
        static method onAction takes void returns void
            timer t = GetExpiredTimer()
            thistype r = GetTimerData(t)
            if r.d>0
                if r.s>0
                    r.d-=r.s
                    r.a=r.face
                else
                    r.d+=r.s
                    r.a=r.face-180*bj_DEGTORAD
                endif
                r.x+=r.s*Cos(r.face)
                r.y+=r.s*Sin(r.face)
                DestroyEffect(AddSpecialEffect(EFFECT,r.x,r.y))
            else
                if r.power<650
                    r.x=r.sx+r.dis*Cos(r.a)
                    r.y=r.sy+r.dis*Sin(r.a)
                    if r.s>0
                        r.a+=r.s
                        r.power+=r.s
                    else
                        r.a-=r.s
                        r.power-=r.s
                    endif
                    DestroyEffect(AddSpecialEffect(EFFECT,r.x,r.y))
                else
                    CAST=r.cast
                    GroupEnumUnitsInRange(bj_lastCreatedGroup, r.sx, r.sy, r.dis, Filter(function thistype.onDamage))
                    ReleaseTimer(t)
                endif
            endif
            clear
        endmethod
        
        static method onCreate takes unit cast,real s,real face,real x,real y returns thistype
            thistype r = thistype.create()
            timer t = NewTimer()
            r.cast=cast
            r.x=x
            r.y=y
            r.sx=x
            r.sy=y
            r.d=500
            r.dis=r.d
            r.s=s
            r.power=0
            r.face=face
            /*if s>0
                r.a=face-90*bj_DEGTORAD
            else
                r.a=face+90*bj_DEGTORAD
            endif*/
            SetTimerData(t,r)
            TimerStart(t, 0.07, true, function thistype.onAction)
            clear
            return r
        endmethod
    }
    private struct CreateUnits{
    unit cast
    real x,y,a
    int i
        static method onAction takes void returns void
            timer t = GetExpiredTimer()
            thistype r = GetTimerData(t)
            if r.i>0
                if r.i==2
                    Spell.onCreate(r.cast,50,r.a,r.x,r.y)  
                elseif r.i==1
                    Spell.onCreate(r.cast,-50,r.a,r.x,r.y) 
                endif
                r.i--
            else
                ReleaseTimer(t)
            endif
            clear
        endmethod
        static method onCreate takes unit caster returns thistype
            thistype r = thistype.create()
            timer t = NewTimer()
            r.cast=caster
            r.x=GetUnitX(caster)
            r.y=GetUnitY(caster)
            r.a=GetUnitFacing(caster)*bj_DEGTORAD
            r.i=2
            SetTimerData(t,r)
            TimerStart(t, 0.01, true, function thistype.onAction)
            clear
            return r
        endmethod
    }
    
    private bool Cond(){
        if GetSpellAbilityId()==SpellId then
            location p=GetSpellTargetLoc()
            unit u=GetTriggerUnit()
            CreateUnits.onCreate(u)
            clear
        endif 
        return false
    }
    
    private void Init(){
        trigger t=CreateTrigger()
        TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SPELL_EFFECT)
        TriggerAddCondition(t, Condition(function Cond))
        clear
    }
}
Название: We
Метод исполнения: vjass+cjass
Нужен ли JNGP: +
Тип цели: область
Описание: герой пускает цепную молнию в указанного юнита, которая связывает 5 юнитов в месте (т.е они не могут уйти дальше чем были в момент связки)
» code
scope Staff /* 
            Spell 
                Created
                        By
                            Jumper
                                */ initializer Init{
    include "cj_types_priv.j"
    define{
        private SpellId                   ='Z002'//айди скила
        private LightId                   ="CLPB"
        private LightId2                  ="CHIM"
        private Periodic                  =.55
        //||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
        private clear = flush locals
        private Dist(x1,y1,x2,y2)={SquareRoot((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))}
    }
    private unit CAST
    private unit TARG
    private unit array unit_array
    private group G
    private struct Move{
        unit cast,targ
        real d,dis
        lightning l
        static method onAction takes void returns void
            timer t = GetExpiredTimer()
            thistype r = GetTimerData(t)
            if r.d>0 and GetWidgetLife(r.cast)>0.145 and GetWidgetLife(r.targ)>0.145
                r.d-=0.03125
                real x1=GetUnitX(r.cast),y1=GetUnitY(r.cast),x2=GetUnitX(r.targ),y2=GetUnitY(r.targ),d=Dist(x1,y1,x2,y2)
                if d>r.dis
                    real a=Atan2(y1-y2, x1-x2)
                    SetUnitX(r.cast,x1-(GetUnitMoveSpeed(r.cast)*0.03125)*Cos(a))
                    SetUnitY(r.cast,y1-(GetUnitMoveSpeed(r.cast)*0.03125)*Sin(a))
                    a=Atan2(y2-y1, x2-x1)
                    SetUnitX(r.targ,x2-(GetUnitMoveSpeed(r.targ)*0.03125)*Cos(a))
                    SetUnitY(r.targ,y2-(GetUnitMoveSpeed(r.targ)*0.03125)*Sin(a))
                endif
                MoveLightningEx(r.l,true,x1,y1,GetUnitFlyHeight(r.cast),x2,y2,GetUnitFlyHeight(r.targ))
            else
                DestroyLightning(r.l)
                ReleaseTimer(t)
            endif
            clear
        endmethod
    
        static method onCreate takes unit cast,unit targ returns thistype
            thistype r = thistype.create()
            timer t = NewTimer()
            r.cast=cast
            r.targ=targ
            real x1=GetUnitX(r.cast),y1=GetUnitY(r.cast),x2=GetUnitX(r.targ),y2=GetUnitY(r.targ),d=Dist(x1,y1,x2,y2)
            r.dis=d
            r.d=10
            r.l=AddLightningEx(LightId2,true,GetUnitX(cast),GetUnitY(cast),GetUnitFlyHeight(cast),GetUnitX(targ)​,GetUnitY(targ),GetUnitFlyHeight(targ))
            SetTimerData(t,r)
            TimerStart(t, 0.03125, true, function thistype.onAction)
            clear
            return r
        endmethod
    }
    private struct AL{
    unit u1,u2,cast
    lightning l
        static method onAction takes void returns void
            timer t = GetExpiredTimer()
            thistype r = GetTimerData(t)
            DestroyLightning(r.l)
            if r.u1!=r.cast and r.u2!=r.cast
                Move.onCreate(r.u1,r.u2)
            endif
            ReleaseTimer(t)
            clear
        endmethod
    
        static method onCreate takes unit cast,unit targ,unit CASTER returns thistype
            thistype r = thistype.create()
            timer t = NewTimer()
            r.u1=cast
            r.u2=targ
            r.cast=CASTER
            DestroyEffect(AddSpecialEffectTarget("Abilities\\Weapons\\ChimaeraLightningMissile\\ChimaeraLig​htningMissile.mdl",cast,"origin"))
            DestroyEffect(AddSpecialEffectTarget("Abilities\\Weapons\\ChimaeraLightningMissile\\ChimaeraLig​htningMissile.mdl",targ,"origin"))
            r.l=AddLightningEx(LightId,true,GetUnitX(cast),GetUnitY(cast),GetUnitFlyHeight(cast),GetUnitX(targ),​GetUnitY(targ),GetUnitFlyHeight(targ))
            SetTimerData(t,r)
            TimerStart(t, 0.45, true, function thistype.onAction)
            clear
            return r
        endmethod
    }
    private struct Spell{
    unit cast,targ
    int ts
    group GROUP
        static method onDamage takes nothing returns boolean
            unit u = GetFilterUnit()
            return IsUnitEnemy(CAST, GetOwningPlayer(u)) and GetWidgetLife(u) > 0.405 and not IsUnitType(u, UNIT_TYPE_STRUCTURE) and not IsUnitType(u, UNIT_TYPE_MECHANICAL) and GetHandleId(u)!=GetHandleId(TARG) and IsUnitInGroup(u,G)!=true
        endmethod
        static method onAction takes void returns void
            timer t = GetExpiredTimer()
            thistype r = GetTimerData(t)
            if r.targ!=null and r.ts>0
                r.ts--
                group g=CreateGroup()
                CAST=r.cast
                TARG=r.targ
                G=r.GROUP
                GroupEnumUnitsInRange(g, GetUnitX(r.targ), GetUnitY(r.targ), 500, Filter(function thistype.onDamage)) 
                unit T=GroupPickRandomUnit(g)//GetRndUnit(g)
                r.GROUP=G
                if T!=null and T!=r.targ
                    AL.onCreate(r.targ,T,r.cast)
                    r.targ=T
                    UnitDamageTarget(r.cast,r.targ,70+50*GetUnitAbilityLevel(r.cast,SpellId),true,true,null,null,null)
                    GroupAddUnit(r.GROUP,r.targ)
                elseif T==null
                    DestroyGroup(r.GROUP)
                    ReleaseTimer(t)
                elseif T==r.targ
                    DestroyGroup(r.GROUP)
                    ReleaseTimer(t)
                endif
                G=null
            else
                DestroyGroup(r.GROUP)
                ReleaseTimer(t)
            endif
            clear
        endmethod
        
        static method onCreate takes unit caster,unit target returns thistype
            thistype r = thistype.create()
            timer t = NewTimer()
            r.cast=caster
            r.targ=target
            r.ts=3+2*GetUnitAbilityLevel(caster,SpellId)
            r.GROUP=CreateGroup()
            GroupAddUnit(r.GROUP,target)
            UnitDamageTarget(r.cast,r.targ,70+50*GetUnitAbilityLevel(r.cast,SpellId),true,true,null,null,null)
            SetTimerData(t,r)
            TimerStart(t, 0.4, true, function thistype.onAction)
            clear
            return r
        endmethod
    }
    
    private bool Cond(){
        if GetSpellAbilityId()==SpellId then
            unit u=GetTriggerUnit(),t=GetSpellTargetUnit()
            Spell.onCreate(u,t)   
            AL.onCreate(u,t,u)
            clear
        endif 
        return false
    }
    
    private void Init(){
        trigger t=CreateTrigger()
        TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SPELL_EFFECT)
        TriggerAddCondition(t, Condition(function Cond))
        clear
    }
}
Название: Ul
Метод исполнения: vjass+cjass
Нужен ли JNGP: +
Тип цели: область
Описание: Кастер насылает на врага 3 сферы, который в течении небольшого периода начинают летать вокруг цели, нанося урон, замедляя, и снижая защиту
» code
scope Ultimate initializer Init{
    include "cj_types_priv.j"
    define{
        private SpellId='Z004'
        private DummySpellId1='Z005'
        private DummySpellId2='Z006'
        private DummyId1='h000'
        private DummyId2='h001'
        private DummyId3='h002'
        private LIGHTId1="DRAM"
        private LIGHTId2="DRAM"
        private LIGHTId3="DRAM"
        private clear=flush locals
    }
    //private hashtable h=InitHashtable()
    private struct AddEffect{
    unit u,d,cast
    real Angle,AX,AY,AZ,r,s,c,dmg
    int i
    lightning array l[3]
        static method onAction takes void returns void
            timer t = GetExpiredTimer()
            thistype r = GetTimerData(t)
            real xu,yu,xc,yc,a,ax,ay,az,zu,zc
            if GetWidgetLife(r.u)>0.145
                if r.d==null
                    UnitRemoveAbility(r.u,'Basl')
                    UnitRemoveAbility(r.u,DummySpellId1)
                    UnitRemoveAbility(r.u,DummySpellId2)
                    ReleaseTimer(t)
                else
                    xu = GetUnitX(r.d)
                    yu = GetUnitY(r.d)
                    xc = GetUnitX(r.u)
                    yc = GetUnitY(r.u)
                    zu = GetUnitFlyHeight(r.d)
                    zc = GetUnitFlyHeight(r.u)+50
                    a = r.Angle
                    ax = r.AX
                    ay = r.AY
                    az = r.AZ
                    xu = xc + r.r*SinBJ(a+r.s)*CosBJ(ax)
                    if az > 0
                        yu = yc + r.r*CosBJ(a+r.s)*SinBJ(ay)
                    else
                        yu = yc + r.r*SinBJ(a+r.s)*CosBJ(ay)
                    endif
                    zu = zc + r.r*CosBJ(a+r.s)*CosBJ(az)
                    SetUnitX(r.d,xu)
                    SetUnitY(r.d,yu)
                    SetUnitFlyHeight(r.d,zu,0.00)
                    UnitAddAbility(r.u,DummySpellId1)
                    UnitAddAbility(r.u,DummySpellId2)
                    r.Angle = r.Angle + r.s
                    if r.Angle >= 360
                        r.Angle = 0
                    endif
                    if r.c<0.7
                        r.s+=0.05
                        r.r+=.3
                        r.c+=0.004
                        SetUnitScale(r.d,r.c,r.c,r.c)
                        UnitDamageTarget(r.d,r.u,r.dmg,true,false,ATTACK_TYPE_MAGIC,DAMAGE_TYPE_MAGIC,null)
                    else
                        UnitRemoveAbility(r.u,'Basl')
                        UnitRemoveAbility(r.u,DummySpellId1)
                        UnitRemoveAbility(r.u,DummySpellId2)
                        RemoveUnit(r.d)
                        r.d=null
                        ReleaseTimer(t)
                    endif
                endif
                    //unit asd=LoadUnitHandle(h,GetHandleId(r.u),r.i)
                    //MoveLightningEx(r.l[r.i],true,xu,yu,zu,GetUnitX(asd),GetUnitY(asd),GetUnitFlyHeight(asd))
            else
                if r.d!=null
                    RemoveUnit(r.d)
                    r.d=null
                endif
            endif
            clear
        endmethod
        static method onCreate takes unit u,int i,unit tt returns thistype
            thistype r = thistype.create()
            timer t = NewTimer()
            r.u=tt
            r.cast=u
            if i==2
                r.d=CreateUnit(GetOwningPlayer(u),DummyId1,GetUnitX(tt),GetUnitY(tt),0)
                r.Angle=180
                r.AX=0
                r.AY=90
                r.AZ=0
                //r.l[i]=AddLightningEx(LIGHTId1,true,GetUnitX(tt),GetUnitY(tt),0,GetUnitX(tt),GetUnitY(tt),0)
                //SaveUnitHandle(h,GetHandleId(tt),1,r.d)
            elseif i==1
                r.d=CreateUnit(GetOwningPlayer(u),DummyId2,GetUnitX(tt),GetUnitY(tt),0)
                r.Angle=0
                r.AX=90
                r.AY=0
                r.AZ=0
                //r.l[i]=AddLightningEx(LIGHTId2,true,GetUnitX(tt),GetUnitY(tt),0,GetUnitX(tt),GetUnitY(tt),0)
                //SaveUnitHandle(h,GetHandleId(tt),0,r.d)
            elseif i==0
                r.d=CreateUnit(GetOwningPlayer(u),DummyId3,GetUnitX(tt),GetUnitY(tt),0)
                r.Angle=90
                r.AX=0
                r.AY=90
                r.AZ=90
                //r.l[i]=AddLightningEx(LIGHTId3,true,GetUnitX(tt),GetUnitY(tt),0,GetUnitX(tt),GetUnitY(tt),0)
                //SaveUnitHandle(h,GetHandleId(tt),2,r.d)
            endif
            r.dmg=(30+10*GetUnitAbilityLevel(r.u,SpellId))*0.03125
            r.r=50
            r.s=5
            //SetLightningColor(r.l[i],1,1,1,0)
            r.i=i
            SetTimerData(t, r)
            TimerStart(t, 0.03125, true, function thistype.onAction)
            clear
            return r
        endmethod
    }
    private struct Creating{
    unit u,t
    int i
        static method onAction takes void returns void
            timer t = GetExpiredTimer()
            thistype r = GetTimerData(t)
            if r.i>=0
                r.i-=1
                AddEffect.onCreate(r.u,r.i,r.t)
            else
                ReleaseTimer(t)
            endif
            clear
        endmethod
        static method onCreate takes unit u,unit tt returns thistype
            thistype r = thistype.create()
            timer t = NewTimer()
            r.u=u
            r.t=tt
            r.i=3
            SetTimerData(t, r)
            TimerStart(t, 0., true, function thistype.onAction)
            clear 
            return r
        endmethod
    }
    private bool Con(){
        if GetSpellAbilityId()==SpellId
            unit u=GetTriggerUnit(),t=GetSpellTargetUnit()
            Creating.onCreate(u,t)
        endif
        clear
        return false
    }
    private void Init(){
        trigger t=CreateTrigger()
        TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_SPELL_CAST )
        TriggerAddCondition( t, Condition( function Con ) )
        clear
    }
}
Дополнительно: при изучении заклинаний, появляется определенная сфера, которая начинает кружить вокруг героя (просто визуальный эффект)
» code
scope LearnSkill initializer Init{
    include "cj_types_priv.j"
    define{
        private SpellId1='Z001'
        private SpellId2='Z002'
        private SpellId3='Z003'
        private DummyId1='h000'
        private DummyId2='h001'
        private DummyId3='h002'
        private clear=flush locals
    }
    private struct AddEffect{
    unit u,d
    real Angle,AX,AY,AZ
    int i
        static method onAction takes void returns void
            timer t = GetExpiredTimer()
            thistype r = GetTimerData(t)
            real xu,yu,xc,yc,a,ax,ay,az,zu,zc
            if GetWidgetLife(r.u)>0.145
                if r.d==null
                    r.d=CreateUnit(GetOwningPlayer(r.u),r.i,GetUnitX(r.u),GetUnitY(r.u),0)
                else
                    xu = GetUnitX(r.d)
                    yu = GetUnitY(r.d)
                    xc = GetUnitX(r.u)
                    yc = GetUnitY(r.u)
                    zu = GetUnitFlyHeight(r.d)
                    zc = GetUnitFlyHeight(r.u)+50
                    a = r.Angle
                    ax = r.AX
                    ay = r.AY
                    az = r.AZ
                    xu = xc + 50*SinBJ(a+8)*CosBJ(ax)
                    if az > 0
                        yu = yc + 50*CosBJ(a+8)*SinBJ(ay)
                    else
                        yu = yc + 50*SinBJ(a+8)*CosBJ(ay)
                    endif
                    zu = zc + 50*CosBJ(a+8)*CosBJ(az)
                    SetUnitX(r.d,xu)
                    SetUnitY(r.d,yu)
                    SetUnitFlyHeight(r.d,zu,0.00)
                    r.Angle = r.Angle + 8
                    if r.Angle >= 360
                        r.Angle = 0
                    endif
                endif
            else
                if r.d!=null
                    r.i=GetUnitTypeId(r.d)
                    RemoveUnit(r.d)
                    r.d=null
                endif
            endif
            clear
        endmethod
        
        static method onCreate takes unit u,int i returns thistype
            thistype r = thistype.create()
            timer t = NewTimer()
            r.u=u
            if i==SpellId1
                r.d=CreateUnit(GetOwningPlayer(u),DummyId1,GetUnitX(u),GetUnitY(u),0)
                r.Angle=180
                r.AX=0
                r.AY=90
                r.AZ=0
            elseif i==SpellId2
                r.d=CreateUnit(GetOwningPlayer(u),DummyId2,GetUnitX(u),GetUnitY(u),0)
                r.Angle=0
                r.AX=90
                r.AY=0
                r.AZ=0
            elseif i==SpellId3
                r.d=CreateUnit(GetOwningPlayer(u),DummyId3,GetUnitX(u),GetUnitY(u),0)
                r.Angle=90
                r.AX=0
                r.AY=90
                r.AZ=90
            endif
            SetTimerData(t, r)
            TimerStart(t, 0.03125, true, function thistype.onAction)
            clear
            return r
        endmethod
    }
    private bool Con(){
        unit u=GetTriggerUnit()
        if GetLearnedSkill()==SpellId1 and GetUnitAbilityLevel(u,SpellId1)==1
            AddEffect.onCreate(u,SpellId1)
        elseif GetLearnedSkill()==SpellId2 and GetUnitAbilityLevel(u,SpellId2)==1
            AddEffect.onCreate(u,SpellId2)
        elseif GetLearnedSkill()==SpellId3 and GetUnitAbilityLevel(u,SpellId3)==1
            AddEffect.onCreate(u,SpellId3)
        endif
        clear
        return false
    }
    
    private void Init(){
        trigger t=CreateTrigger()
        TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_HERO_SKILL )
        TriggerAddCondition( t, Condition( function Con ) )
        clear
    }
}
Прикрепленные файлы
Тип файла: w3x Random Skills.w3x (32.8 Кбайт, 116 просмотров )
Старый 13.11.2011, 17:29
Критик
Нету времени(
offline
Опыт: 3,375
Активность:

Мой герой - Бордо


Имеет 4 способности:
  • Злость медведя;
    Медведь впадает в ярость и наносит увеличеный урон, так же увеличивается скорость боя и перемещения на протяжении 6 секунд.
    Уровень 1 - 2-х кратное увеличение урона, увеличение скорости боя на 30%, а скорости перемещения на 20%.
    Уровень 2 - 2.5-х кратное увеличение урона, увеличение скорости боя на 40%, а скорости перемещения на 25%.
    Уровень 3 - 3-х кратное увеличение урона, увеличение скорости боя на 50%, а скорости перемещения на 30%.
  • Сила холода;
    Бордо силен в магии холода. Он способен заморозить противников в радиусе 400 AOE вокруг него и при этом нанести им урон.
    Уровень 1 - Заморозка на 1.5 секунд, помимо этого нанесение 50 ед. урона.
    Уровень 2 - Заморозка на 2 секунд, помимо этого нанесение 75 ед. урона.
    Уровень 3 - Заморозка на 2.5 секунд, помимо этого нанесение 100 ед. урона.
  • Размах лап;
    Часть урона, наносимого медведем Бордо, передается воинам, которые находятся рядом с целью его атаки.
    Уровень 1 - 25% урона.
    Уровень 2 - 45% урона.
    Уровень 3 - 70% урона.
  • Бешенство;
    Бордо теряет голову и впадает в бешенство, его цель просто обречена. Если у нее меньше чем 350 ед. здоровья Бордо ее разрывает на части, в противном случае Бордо наносит 250 ед. урона. После этого медведь теряет 3 ед. брони на 10 секунд.
Все способности сделаны на GUI + CS (но по ошибке были переведены в JASS)
Пришлось уже плясать с того, что было)
Все способности можно использовать в мультиплеере, то-есть MUI.

Не пинать ногами) После этого примера как раз начал читать Оптимизацию от J и сразу увидел ошибки)
Прикрепленные файлы
Тип файла: w3x Бордо.w3x (60.1 Кбайт, 59 просмотров )

Отредактировано Критик, 16.11.2011 в 01:40.
Старый 16.11.2011, 01:28
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
Яростный таурен
Всплеск Ярости
Таурен бьет врага с такой силой что враг отлетает и получает урон равный набранной ярости.
1 уровень - Увеличение ярости на 10%
2 уровень - Увеличение ярости на 20%
3 уровень - Увеличение ярости на 30%
Зверийный топот
С каждым ударом в землю таурен начинает набирать все больше и больше ярости из за чего последущий удар будет сильней на 20%. ярость спадает после 5 применений. при этом если враг напуган ему нанесется доп урон в размере 50/100/150 ед.
1 Уровень 100 ед урона (основной урон)
2 Уровень 200 ед урона (основной урон)
3 Уровень 300 ед урона (основной урон)
Аура сокрушения
Таурен пугает ближайших к нему врагов из за чего у них немного уменьшается скорость передвижения и атаки
1 уровень снижение скорости боя и атаки на 10%
2 уровень снижение скорости боя и атаки на 20%
3 уровень снижение скорости боя и атаки на 30%
Ярость
Таурен вспоминает свою ярость которую он проявлял в бою,из за чего таурен накапливает свою ярость - (ярость накапливается быстрей с каждым уровнем всплеска ярости). При всплеске вся ярость спадает.При этом таурен получает шанс в 12% получить 1/2/3 ед силы при атаке навсегда.
1 уровень шанс 10% нанести доп 40 ед урона,12%
Шанс получить 1 доп ед силы навсегда.
2 уровень шанс 10% нанести доп 60 ед урона,а также совершить 2х смертельный удар по врагу12%
Шанс получить 2 доп ед силы навсегда.
3 уровень шанс 10% нанести доп 80 ед урона а также совершить 3х смертельный удар по врагу 12% Шанс получить 3 доп ед силы навсегда.
Способ исполнения Gui
Прикрепленные файлы
Тип файла: w3x Яростный Таурен.w3x (70.6 Кбайт, 72 просмотров )
Старый 19.11.2011, 10:04
Arti

offline
Опыт: 11,196
Активность:
делал на хайв на конкурс) с англ слабовато, та и спелы не ахти)

Gloin, Techno dwarf



Electric charge
An electric bolt that deals damage any unit it encounters. The damage is reduced 10% with each affected unit.


Force field
Techno-dwarf creates force field around himself. All covered allied units get less damage from range and magic attacks. And every 3 seconds it purges all positive buffs from enemies, pause them for 1 second and deals damage to summoned units.

Overload
Dwarf's suit stores energy charges after 6/5/4 his attacks or after using "Electric charge" or "Mechanical dispersal", that dealing damage to every ground unit and slow them, on small area with his next attack.


Mechanical dispersal
Dwarf overheats his suit and chases enemy target, ignoring any obstacles on his way. When dwarf reaches his target, he uses energy from overheating, to gain ultra fast attack speed for next 5 hits. Buff dispel if hero change target.
Прикрепленные файлы
Тип файла: w3x Techno dwarf.w3x (197.0 Кбайт, 85 просмотров )
Старый 05.12.2011, 20:32
Atideva

offline
Опыт: 1,361
Активность:
Портал
  • ГУИ -
Красивый портал.
Можно использовать как способность.
Когда юнит входит в портал, портал сжимается и телепортирует юнита в пункт назначения. И снова открывается.
В карте есть примеры.
Советую: посмотреть в игре, а не на скриншоте.
обновил:
-в точке назначения тоже создается портал (можно перемещатся в двух направлениях, если не запретить при создании портала)
-добавил всякие мелочи, чтобы можно было настроить по своему заклинание
Миниатюры
Кликните на картинку для увеличения
Название:  PortalTP.jpg
Просмотров: 296
Размер:  147.1 Кбайт  
Прикрепленные файлы
Тип файла: w3x Portal_nice.w3x (33.4 Кбайт, 80 просмотров )

Отредактировано Atideva, 18.12.2011 в 22:52.
Старый 13.12.2011, 00:15
DualShock

offline
Опыт: 5,023
Активность:
Название: Fade Bolt
Метод исполнения: vjass/cjass (только define-ы) + можно выбрать cjass или vjass
Нужен ли JNGP: Конечно
Тип цели: Unit
MUI: Конечно
Для героя? Да
Кол-во уровней: 4
Оригинальное описание:
Ceates a powerful stream of arcane energy that travels between enemy units, dealing damage and reducing their attack damage for 10 seconds.
Комментарии: От нечего делать, решил сделать Fade Bolt из доты (Rubick), без импорта. Давно ничего не выкладывал т. к. подзабил на модмокинг. В общей сложности у меня ушло на него не так уж много времени (2 часа). Настроить можно практически всё.
Cтавим плюсики <3
Happy New Year! =)
Миниатюры
Кликните на картинку для увеличения
Название:  Безымянный.jpg
Просмотров: 349
Размер:  388.9 Кбайт  Кликните на картинку для увеличения
Название:  2.jpg
Просмотров: 205
Размер:  439.5 Кбайт  
Прикрепленные файлы
Тип файла: w3x Fade Bolt.w3x (39.0 Кбайт, 87 просмотров )

Отредактировано DualShock, 07.07.2012 в 22:23.
Старый 31.12.2011, 21:35
Arti

offline
Опыт: 11,196
Активность:
Название: Росток(Sprout)
Метод исполнения: GUI
Тип цели: Точка
Результат применения: Вокруг врага вырастают деревья, не давая ему двигаться 3/4/5 сек.
Наличие глобальных переменных: 1
Название: Стена из деревьев
Метод исполнения: GUI
Тип цели: Точка
Результат применения: Создание непроходимой стены из деревьев между указаной точкой и героем на 3/4/5 секунд, через которую может проходить только герой.
Наличие глобальных переменных: 7
Прикрепленные файлы
Тип файла: w3x Tree Spells.w3x (19.0 Кбайт, 85 просмотров )
Старый 15.01.2012, 16:03
Arti

offline
Опыт: 11,196
Активность:
Название: Рывок
Метод исполнения: GUI
Тип цели: Враг
Результат применения: Герой мчиться к указаной целе, по достижении атакуя её и нанеся в 1.5/2.5/3.5 раз больше урона, не учитывая дополнительную атаку от предметов. Прерываемо.
Исправил баг.
Прикрепленные файлы
Тип файла: w3x Jerk.w3x (16.3 Кбайт, 86 просмотров )

Отредактировано Arti, 26.01.2012 в 00:46.
Старый 15.01.2012, 22:35
Arti

offline
Опыт: 11,196
Активность:
Название: Рывок(действует с иллюзиями героя)
Метод исполнения: GUI
Результат применения: Герой и все его иллюзии мчаться к указаной целе, по достижении атакуя её и нанеся в 1.5/2.5/3.5 раз больше урона, не учитывая дополнительную атаку от предметов. Прерываемо.
Количество уровней: 4
Название: Стремительный меч(Omnislash)
Метод исполнения: GUI
Результат применения: Герой врывается на врагов и становится на время атаки неуязвимым, поражая их один за другим не учитывая дополнительную атаку от предметов. Максимальное количество атак - 10/20/30.
Количество уровней: 3
Прикрепленные файлы
Тип файла: w3x Jerk.w3x (21.8 Кбайт, 78 просмотров )
Старый 26.01.2012, 01:30
Msey
????
offline
Опыт: 67,346
Активность:
Название:Extra speed 522+
Тип исполнения: cJass [custom script] (требуются AdicHelper и JNGP последних версий)
Муи: да
Для кого: для любой боевой единицы с инвентарем
Описание: При поднятии предмета, у юнита становится скорость передвижения выше 522мс
Легко настраивается
Также, к системе можно прикрутить дамаг (на подобии Rupture бладсикера из доты итд) или манаберн
решил запилить спелл сюда, хоть он и был заказан приватно)
Прикрепленные файлы
Тип файла: w3x boots_cJass.w3x (34.6 Кбайт, 79 просмотров )
Старый 13.02.2012, 03:06
Msey
????
offline
Опыт: 67,346
Активность:
Vadik29, вот тебе пример с хеш-таблицей
Название: сold snap
Метод исполнения: cJass requires adic helper (last ver)
Муи: как всегДА
Для героя: для кого хочешь
Уровни: да сколько захочется, столько и выставишь
Описуха:Спелл простенький. При касте заклинания все вражеские юниты возле героя временно замораживаются и замирают в той позиции, в которой они были.
Прикрепленные файлы
Тип файла: w3x Cold Snap_cJass.w3x (34.9 Кбайт, 42 просмотров )

Отредактировано Msey, 03.03.2012 в 09:43.
Старый 02.03.2012, 22:31
Ответ

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

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

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

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



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