Если вы хотели бы использовать в своей карте нестандартное, оригинальное заклинание или наработку, но у вас не хватает знаний для реализации, то эта тема специально для вас. В данной теме вы можете, в определённом правилами формате, оставить заявку на создание необходимого вам заклинания или системы.
Если вы считаете, что у вас есть возможность выполнить какую-либо из имеющихся заявок, то вы можете оставить сообщение в определённом правилами формате, в котором указать какую из заявок собираетесь исполнить.

Правила темы

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

Как составить заявку

Необходимо, используя форму составить сообщение в данной теме, где указать:
  • Желаемое название заказа
  • Желаемый метод исполнения (GUI/Jass/cJass/vJass)
  • Требуется ли возможность использовать спелл несколькими юнитами одновременно (MUI)
  • Цель применения способности
  • Количество уровней
  • Описание (Смысловое, а не художественное)
  • Технические характеристики (кол-во маны, параметры урона, перезарядки, время действия и т.п.) для каждого из уровней
Форма для составления заявки
# Заказ
**Название:** Название способности (или системы)
**Метод:** GUI/Jass/cJass/vJass/lua/angelscript
**MUI:** Обязательно/Не обязательно
**Цели:** Другой юнит / Сам юнит / Точка/ Область/Нет цели/Прочее (указать что именно)
**Количество уровней:** Целое число
**Описание:** Ваше описание. Можно слить со следующим.
**Технические характеристики:** Ваше описание. Можно слить с предыдущим.

Как принимать заказ

Необходимо, используя форму составить сообщение в данной теме, где указать:
  • Никнейм заказчика
  • Название выбранного вами заказа
  • Примерные сроки исполнения (конечно, их соблюдение не критично, но желательно)
Форма для принятия заявки
# Заказ принят
**Заказчик:** Никнейм заказчика
**Заказ:** Название способности/алгоритма
((центр
**Спелл будет завершен к [дата в формате дд.мм.гггг. без скобок]**
))
[ дата принятия заявки в формате дд.мм.гггг / дата, к которой спелл предположительно будет готов в формате дд.мм.гггг ]

Как сообщить о не/выполнении заказа

Необходимо, используя форму составить сообщение в данной теме, где указать:
  • Никнейм заказчика
  • Название выбранного вами заказа
  • Выполнен ли заказ
  • В случае, если заказ невыполним/не выполнен полностью, рекомендуется описать, что именно вам удалось/не удалось сделать.

  • Предоставить карту
Форма для не/выполненного заказа
Заклинание готово! [Если заказ выполнен успешно] / Не удалось выполнить заклинание [Если по каким-либо причинам вы не способны его выполнить] (1 из 2)
=
Заказчик: Никнейм заказчика
Заказ: Название способности
Выполнено: Да/Нет
-
[Сюда добавить инструкцию по импорту, или описать что у вас не/получилось, если не удалось выполнить заказ]
За качественно выполненный заказ вы получите дополнительно 200 единиц опыта.

Дополнительно: как приобрести спелл, не прибегая к этой теме

0. Пройдитесь по базе способностей xgm.guru/p/wc3/tag/ability или алгоритмов xgm.guru/p/wc3/tag/algorithm
A. Для начала загляните в Архив готовых спеллов. Возможно, спелл, аналогичный вашему, уже был сделан.
B. Проверьте, нет-ли нужного спелла в Библиотеке заклинаний. Проверенные спелл-мейкеры изготавливали заклинания специально для общественного использования.
C. Поищите общедоступные для открытия карты - там тоже бывают полезные вещи.
D. Если ничего не помогает, пройдитесь поиском по Академии - вероятно, что такие спеллы уже пытались делать и спрашивали как.
E. Если поиски не помогли, попробуй сделать его сам:
  • Осваиваем триггеры в Базе статей, F.A.Q., если не имеем понятия о них.
  • Существуют специальные статьи по созданию спеллов и баффов: 1, 2, 3, 4, 5
  • Поскольку ваши спеллы будут неоптимизированы, и более того, с кучей утечек - настоятельно рекомендуется читать статьи\темы про JASS. Тяжело читать? Легко делать!
  • Если ну никак не выходит сделать то что требуется, заходим в Академию и используем ее по основному назначению - задаем вопросы.

Разумные поиски и тщательное изучение помогут вам добиться результата.
`
ОЖИДАНИЕ РЕКЛАМЫ...
4

Заказ

Название: Массовая телепортация
Метод: GUI/Jass/cJass/vJass
MUI: Желательно
Цель: Точка
Количество уровней: 2
Описание: Ульт архимага, который телепортирует не к боевой единице, а в указанную точку. Кол-во телепортируемых не ограничено. От уровня зависит только время срабатывания (5/3 сек.).
24

Заказ

Название: Лесная Стена
Метод: Любой, лишь бы был оптимизирован и не лагал
Цель: AOE (Стана\Линия\Вектор\По направляющей)
Уровни: 1
Описание: Создание лесного массива, в указанной точке. Заклинание попадает в указанную точку, например визуальный эффект в виде выстрела зелёной энергией (энергией природы), и на этом месте вырастает лес, вырастает сразу и навсегда, до тех пор, пока его не срубят.

Кто возьмется за исполнение оповестите в личку, добавлю в соавторы проекта.
28
NilasAran_39, лесная стена по направлению к точке каста или перпендикулярно кастующему?
28

Заклинание готово!

Заказчик: NilasAran_39
Способность: Лесная Стена
Выполнено: Да

короче подробностей было очень мало поэтому остальное я сделал на своё усмотрение, все настройки в коде, я добавил комменты что можешь изменять
код
library SpellCastLib
globals
    private constant timer TempTimer = CreateTimer( )
    private constant real timerPeriodic = 0.01
    
    private integer max = 0

    private unit array dummy
    
    private real array startx
    private real array starty
    private real array startz
    private real array midx
    private real array midy
    private real array midz
    private real array endx
    private real array endy
    private real array endz
    private real array lastx
    private real array lasty
    
    private real array time
    private real array maxTime
    
    private location LFZ = Location( 0.00, 0.00 )
endglobals

private function GetLocZ takes real x, real y returns real
    call MoveLocation( LFZ, x, y )
    return GetLocationZ( LFZ )
endfunction

private function move takes nothing returns nothing
    local real x
    local real y
    local real z
    local integer i
    
    set i = 1
    loop
        set x = startx[i] + ( ( 2.00 * ( midx[i] - startx[i] ) ) + ( startx[i] - 2.00 * midx[i] + endx[i] ) * time[i] ) * time[i]
        set y = starty[i] + ( ( 2.00 * ( midy[i] - starty[i] ) ) + ( starty[i] - 2.00 * midy[i] + endy[i] ) * time[i] ) * time[i]
        set z = startz[i] + ( ( 2.00 * ( midz[i] - startz[i] ) ) + ( startz[i] - 2.00 * midz[i] + endz[i] ) * time[i] ) * time[i]
        
        call SetUnitX( dummy[i], x )
        call SetUnitY( dummy[i], y )
        call SetUnitFlyHeight( dummy[i], z - GetLocZ( x, y ), 0.00 )
        call SetUnitFacing( dummy[i], Atan2( y - lasty[i], x - lastx[i] ) * bj_RADTODEG )
        
        set lastx[i] = x
        set lasty[i] = y
        
        set time[i] = time[i] + timerPeriodic / maxTime[i]
        
        if time[i] >= 1.00 then
            call KillUnit( dummy[i] )
            call DestroyEffect( AddSpecialEffect( "Objects\\Spawnmodels\\NightElf\\EntBirthTarget\\EntBirthTarget.mdl", x, y ) )
            call CreateDestructable( 'ATtr', x, y, 270.00, 1.00, GetRandomInt( 0, 4 ) )
            
            if i != max then
                set dummy[i] = dummy[max]
                
                set startx[i] = startx[max]
                set starty[i] = starty[max]
                set startz[i] = startz[max]
                
                set lastx[i] = lastx[max]
                set lasty[i] = lasty[max]
                
                set endx[i] = endx[max]
                set endy[i] = endy[max]
                set endz[i] = endz[max]
                
                set midx[i] = midx[max]
                set midy[i] = midy[max]
                set midz[i] = midz[max]
                
                set time[i] = time[max]
                set maxTime[i] = maxTime[max]
            endif
            
            set dummy[max] = null
            
            set i = i - 1
            set max = max - 1
            
            if max <= 0 then
                call PauseTimer( TempTimer )
            endif
        endif
        
        set i = i + 1
        exitwhen i > max
    endloop
endfunction

function Trig_SpellCast_Actions takes nothing returns nothing
    local unit caster = GetTriggerUnit( )
    local real x = GetSpellTargetX( )
    local real y = GetSpellTargetY( )
    local real angle
    local real angle1
    local real angle2
    local real distance
    local integer i
    local integer count = 10 // кол-во деревьев
    local boolean b 
    local real d
    
    set b = count / 2 * 2 == count
    
    if b then
        set d = 32.00 // начальная дистанция между деревьями
        set angle2 = 5.00 // начальный угол полёта
    else
        set d = 0.00
        set angle2 = 0.00
    endif
    
    set angle1 = Atan2( y - GetUnitY( caster ), x - GetUnitX( caster ) )
    
    set i = 1
    loop
        set max = max + 1
        
        set startx[max] = GetUnitX( caster )
        set starty[max] = GetUnitY( caster )
        set startz[max] = GetLocZ( startx[max], starty[max] ) + 50.00 + GetUnitFlyHeight( caster )
        
        set lastx[max] = startx[max]
        set lasty[max] = starty[max]
        
        set dummy[max] = CreateUnit( GetOwningPlayer( caster ), 'u000', startx[max], starty[max], angle1 * bj_RADTODEG )
        
        call UnitAddAbility( dummy[max], 'Arav' )
        call UnitRemoveAbility( dummy[max], 'Arav' )
        call SetUnitPathing( dummy[max], false )
        call SetUnitX( dummy[max], startx[max] )
        call SetUnitY( dummy[max], starty[max] )
        call SetUnitFlyHeight( dummy[max], startz[max], 0.00 )
        
        if b then
            set endx[max] = x + d * Cos( angle1 + 90.00 * bj_DEGTORAD )
            set endy[max] = y + d * Sin( angle1 + 90.00 * bj_DEGTORAD )
        else
            set endx[max] = x + d * Cos( angle1 - 90.00 * bj_DEGTORAD )
            set endy[max] = y + d * Sin( angle1 - 90.00 * bj_DEGTORAD )
        endif
        
        set endz[max] = GetLocZ( endx[max], endy[max] )
        set angle     = Atan2( endy[max] - starty[max], endx[max] - startx[max] )
        set distance  = SquareRoot( ( endx[max] - startx[max] ) * ( endx[max] - startx[max] ) + ( endy[max] - starty[max] ) * ( endy[max] - starty[max] ) )
        
        if b then
            set midx[max] = startx[max] + distance / 2.00 * Cos( angle + angle2 * bj_DEGTORAD )
            set midy[max] = starty[max] + distance / 2.00 * Sin( angle + angle2 * bj_DEGTORAD )
            set midz[max] = GetLocZ( midx[max], midy[max] )
            
            set b = false
        else
            set midx[max] = startx[max] + distance / 2.00 * Cos( angle - angle2 * bj_DEGTORAD )
            set midy[max] = starty[max] + distance / 2.00 * Sin( angle - angle2 * bj_DEGTORAD )
            set midz[max] = GetLocZ( midx[max], midy[max] )
            
            set angle2 = angle2 + 10.00 // доп угол
            set d = d + 64.00 // расстояние между деревьями
            set b = true
        endif
        
        if startz[max] < endz[max] then
            set midz[max] = midz[max] + endz[max]
        else
            set midz[max] = midz[max] + startz[max]
        endif
        
        set midz[max] = midz[max] + 50.00
        
        set time[max] = 0.00
        set maxTime[max] = distance * timerPeriodic * 0.20 // скорость полёта
        
        if max == 1 then
            call TimerStart( TempTimer, timerPeriodic, true, function move )
        endif
        
        set i = i + 1
        exitwhen i > count
    endloop
    
    set caster = null
endfunction
endlibrary

function Trig_SpellCast_Conditions takes nothing returns boolean
    return GetSpellAbilityId( ) == 'A000' // равкод абилки
endfunction

//===========================================================================
function InitTrig_SpellCast takes nothing returns nothing
    set gg_trg_SpellCast = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_SpellCast, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_SpellCast, Condition( function Trig_SpellCast_Conditions ) )
    call TriggerAddAction( gg_trg_SpellCast, function Trig_SpellCast_Actions )
endfunction


если нужна помощь в импорте или переделать всё на корню - пиши, но подробнее в этот раз
Загруженные файлы
24
NilasAran_39, лесная стена по направлению к точке каста или перпендикулярно кастующему?
Паралельно но не суть, спасибо огромное)

NilasAran_39, лесная стена по направлению к точке каста или перпендикулярно кастующему?
Шикарно! просто 10\10 Ты просто красавчек!
24

Заказ

Название: Система тоннелей\Подземный переход
Метод: Любой но желательно Jass (лишь бы не лагал и был прост в переносе)
Уровни: 1 (способность для здания)
Описание: В подземный переход который может построить игрок входят юниты и остаются там как внутри дирижабля, проход связывается с сетью тоннелей и юниты можно выпустить из любого такого же проход, где угодно, а именно там где игрок его построит. Важно чтобы связывались все точки перехода, а не два тоннеля по отдельности. Так же важно чтобы вошедшие и вышедшие юниты были одними и теме же а не другими, то есть если в здание вошёл юнит с маркировкой (А), то он же должен выйти из тоннеля а не юнит такого же типа с маркировкой (Б).
4

Заказ

Название: Отточенная стрельба
Метод: GUI/Jass/cJass/vJass
MUI: Обязательно
Цель: Другой юнит
Количество уровней: 30
Описание: Принцип тот же, что и у пассивки Повелителя Огня, но погибшие юниты должны не взрываться с нанесением урона, а просто умирать, оставляя труп. С каждым уровнем способности накопительный урон равен 1/2/3/4...30 ед.

Сама способность пассивная
2
Название: Отравленная сетка (способность предмета)
Метод: любой, лишь бы в WC Reforged работало)
MUI: Должна быть возможность использования предмета несколькими героями параллельно🙄
Цель: Другой юнит
Количество уровней: 1
Описание: Нужна способность как стандартная сетка (опутывание), но чтобы помимо самой сетки был наложен эффект отравленного оружия, время действия сетки - 10 сек., яда - 20 сек., 2 ед. урона/сек. длительность на героев 5 и 10 сек соответственно.
П.С. стыдно немного по таким пустякам обращаться, но на самостоятельное обучение свободного времени нет. За старания готов скинуть на пивко😉
28
Яшка, стандартную сетку/яд можно при этом брать?
28

Заказ принят

Заказчик: MaxIKor
Способность: Отточенная стрельба
Спелл будет завершен к: возможно сегодня
28

Заклинание готово!

Заказчик: MaxIKor
Способность: Отточенная стрельба
Выполнено: Да

инструкция по импорту
скопируй папку к себе в карту, на основе яда создай абилку для героя (можешь просто скопировать из карты), в триггере DamageEventGUI указываешь эту абилку и в коде триггера DamageEvent заклинания от этого яда, так же в коде есть время, через которое нужно удалять стаки с юнита (там стоит 3 сек), в принципе там больше нечего изменять
не уверен есть ли какие-то баги и в принципе если будут трудности с импортом, можешь написать, я попробую исправить/помочь
код
делал на вджассе
library DamageEventLib
globals
    private constant hashtable H     = InitHashtable( )
    private constant timer TempTimer = CreateTimer( )
    private constant group TempGroup = CreateGroup( )
endglobals

private struct UnitStruct
    integer attacker
    integer damaged
    integer count
    timer t
endstruct

private function RemoveStacks takes nothing returns nothing
    local timer t = GetExpiredTimer( )
    local UnitStruct A = LoadInteger( H, GetHandleId( t ), 0 )
    
    call RemoveSavedInteger( H, A.attacker, A.damaged )
    call FlushChildHashtable( H, GetHandleId( t ) )
    call DestroyTimer( t )
    
    set A.t = null
    set A.count    = 0
    set A.attacker = 0
    set A.damaged  = 0
    call A.destroy( )
    
    set t = null
endfunction

private function DamageEvent_Actions takes nothing returns nothing
    local UnitStruct A
    
    set udg_damaged = GetTriggerUnit( )
    
    if GetUnitAbilityLevel( udg_damaged, 'Bssd' ) > 0 then // заклинания яда
        call UnitRemoveAbility( udg_damaged, 'Bssd' )
        
        set udg_damage = GetEventDamage( )
        set udg_attacker = GetEventDamageSource( )
        set A = LoadInteger( H, GetHandleId( udg_attacker ), GetHandleId( udg_damaged ) )
        
        if A == 0 then
            set A = UnitStruct.create( )
            set A.t = CreateTimer( )
            set A.attacker = GetHandleId( udg_attacker )
            set A.damaged = GetHandleId( udg_damaged )
            
            call SaveInteger( H, A.attacker, A.damaged, A )
            call SaveInteger( H, GetHandleId( A.t ), 0, A )
        endif
            
        call TimerStart( A.t, 3.00, false, function RemoveStacks ) // через какое время удалить стаки ( 3.00 сек )
        
        set A.count = A.count + 1
        set udg_count = A.count
        
        call TriggerExecute( gg_trg_DamageEventGUI )
        
        set A.count = udg_count
    endif
endfunction

//===========================================================================
private function Regist_2 takes nothing returns boolean
    call TriggerRegisterUnitEvent( gg_trg_DamageEvent, GetTriggerUnit( ), EVENT_UNIT_DAMAGED )
    
    return false
endfunction

private function Regist_1 takes nothing returns boolean
    call TriggerRegisterUnitEvent( gg_trg_DamageEvent, GetFilterUnit( ), EVENT_UNIT_DAMAGED )
    
    return false
endfunction

private function Regist takes nothing returns nothing
    if gg_trg_DamageEvent != null then
        call DestroyTrigger( gg_trg_DamageEvent )
    endif
    
    set gg_trg_DamageEvent = CreateTrigger(  )
    
    call GroupEnumUnitsInRect( TempGroup, bj_mapInitialPlayableArea, Condition( function Regist_1 ) )
    call TriggerAddAction( gg_trg_DamageEvent, function DamageEvent_Actions )
    
    call TimerStart( TempTimer, 600.00, false, function Regist )
endfunction

function InitTrig_DamageEvent takes nothing returns nothing
    local region rectRegion = CreateRegion( )
    local trigger trg = CreateTrigger( )
    
    call RegionAddRect( rectRegion, bj_mapInitialPlayableArea )
    call TriggerRegisterEnterRegion( trg, rectRegion, null )
    call TriggerAddCondition( trg, Condition( function Regist_2 ) )
    call TimerStart( TempTimer, 0.00, false, function Regist )
    
    set trg = null
    set rectRegion = null
endfunction
endlibrary
Загруженные файлы
2
rsfghd:стандартную сетку/яд можно при этом брать?
Мне эту абилку уже создали😅
1

Заказ

Название: Система выбора способностей как в legends of dota
Метод: GUI/Jass/cJass/vJass
MUI: -
Цель: -
Количество уровней: -
Описание: Игрокам дается на выбор несколько героев в таверне. У каждого героя в таверне по 4 способности. Каждый игрок может взять любые способности от каждого героя в таверне(максимум способностей 6, из них две ультимейты) .Выбранные способности заносятся в мультиборд. Как все способности будут выбраны или истечет время этап выбора способностей закончится и игроки могут выбрать героя
26

Заказ

Название: Система тоннелей\Подземный переход
Метод: Любой но желательно Jass (лишь бы не лагал и был прост в переносе)
Уровни: 1 (способность для здания)
Описание: В подземный переход который может построить игрок входят юниты и остаются там как внутри дирижабля, проход связывается с сетью тоннелей и юниты можно выпустить из любого такого же проход, где угодно, а именно там где игрок его построит. Важно чтобы связывались все точки перехода, а не два тоннеля по отдельности. Так же важно чтобы вошедшие и вышедшие юниты были одними и теме же а не другими, то есть если в здание вошёл юнит с маркировкой (А), то он же должен выйти из тоннеля а не юнит такого же типа с маркировкой (Б).
Прямо как в C&C Generals?
5

Заказ

Можете мне сделать способность " Кольцо Мороза " из доп . кампании " Проклятье Отрёкшихся " . Полностью аналогичную .
28
Svet_2009, в душе хз что за абилка из какой-то там неизвестной кампании, оформи заказ в соответствии с шаблоном, как положено, а так же пометь коммент в категорию заказов
7

Заказ

Название: Технический симбиоз
Метод: GUI/Jass/
MUI: Обязательно!
Цель: Другой юнит
Количество уровней: 1 уровень
Описание: Способность для техники. Катапульта подьезжает к вражеской башне и проводит симбиоз. Башня перестает атаковать. Заклинание должно быть прерываемым, тоесть кактапульта и башня или древо, должны находиться быть неподвижными. Как только заклинание прерывается, башня может атаковать.
Технические характеристики: CHANNELING заклинание, которое заставляет вражескую башню прекратить атаковать. Использоваться будет при нападении на базу врага, чтоб обезоружить/обезвредить несколько башен врага.
ps. хотелось бы чтоб заклинание можно было использовать ТОЛЬКО на башни. Если для этого нужно добавить всем башням какую-то способность (невидимку) чтоб добавить проверку на башню, то это приемлимо (добавлю), можно реализовать. Либо уже юзабельность и на все здания, но только так чтоб симбиоз запрещал исключительно атаку здания, а не наем войск, улучшения, исследования и ремонт, а именно атаку.
28

Заказ принят

Заказчик: mistwood
Способность: Технический симбиоз
Спелл будет завершен к: возможно сегодня
28
Выполнение заказа

Заклинание готово!

Заказчик: mistwood
Способность: Технический симбиоз
Выполнено: Да

инструкция по импорту
делал на гуи так что надеюсь проблем с импортом не возникнет, достаточно удалить триггер выбора, скопировать папку и закинуть к себе в карту, ну и абилку скопировать либо настроить самостоятельно, так же раздать абилку-пустышку всем зданиям, на которые скилл должен срабатывать
Загруженные файлы
7

Заклинание готово!

Заказчик: mistwood
Способность: Технический симбиоз
Выполнено: Да

инструкция по импорту
делал на гуи так что надеюсь проблем с импортом не возникнет, достаточно удалить триггер выбора, скопировать папку и закинуть к себе в карту, ну и абилку скопировать либо настроить самостоятельно, так же раздать абилку-пустышку всем зданиям, на которые скилл должен срабатывать
Спасибо большое, сегодня гляну, даже интересно...
3
Заказ на работу

Заказ

Добрый день!
Нужны следующие способности для босса:
  1. Название: Бросок топора
Метод: для рефорджа оптимальный.
Уровни: 1 (способность для юнита)
Описание: Годрагон кидает в сторону самого дальнего, выбранного противника или на случайный край арены топор, нанося 75% урона от атаки на пути и в области приземления радиусом 275. После попадания он остается в земле на 4 сек. а затем возвращается, обратно к нему нанося 300% урона всем врагам на пути, снижая защиту задетых противников на 25 ед. Перезарядка 12 сек.
  1. Название: Мощные удары
Метод: для рефорджа оптимальный.
Уровни: 1 (способность для юнита)
Описание: Годрагон выбирает область и через 0.75 сек. наносит три удара по одному раз в сек. в течении 3 сек. замедляя скорость передвижения противников на 100% в течении 0,33 сек.
Первый удар наносит 125% урона от атаки в области 300 перед собой.
Второй удар наносит 250% урона от атаки в области 500 перед собой.
Третий удар наносит 375% урона от атаки в области 700 перед собой.
Перезарядка 18 сек.
  1. Название: Землетрясение
Метод: для рефорджа оптимальный.
Уровни: 1 (способность для юнита)
Описание: Спустя 2,5 сек подготовки, Годрагон испускает крик и наносит сокрушительный удар в конусе перед собой нанося 350% урона от оружия и оглушая противников на 4 сек. Перезарядка 20 сек.
Если не трудно сделать комменты и возможность менять урон, длительность, радиус и дальность у спеллов.
Загруженные файлы
28
SebastianCarrey, в коде разбираешься или настройки на уровень гуи выносить?
3
SebastianCarrey, в коде разбираешься или настройки на уровень гуи выносить?
В коде полный ноль. Но если там будут коменты и цифры понятные куда что ставить и менять, то разберусь.
28
SebastianCarrey, не, дело в том, что на 1.26 какие-то статы там от атаки юнита только мемхаком, если ты в коде не сможешь это сделать то лучше тогда на гуи куда-то вывести, чтобы ты уже сам настроил
28

Заказ принят

Заказчик: SebastianCarrey
Способность: Бросок топора
Спелл будет завершен к: возможно сегодня
Чтобы оставить комментарий, пожалуйста, войдите на сайт.