32

» WarCraft 3 / Spirit Breaker из DotA со всеми способностями

В том числе, а еще если жертва убежит, бара как идиот идет догонять и не стопится...
32

» WarCraft 3 / Строка

Ну чат довольно убого, делай левелами или на мемхаке пили пассивку со счетчиком, так куда удобнее.
32

» WarCraft 3 / Как сделать, чтобы зданием могли пользоваться несколько игроков?

Магическая лавка альянса, помните такой магазин - рассмотрите его устройство поподробнее и найдите ответ на свой вопрос.
32

» WarCraft 3 / Spirit Breaker из DotA со всеми способностями

Ну там норм физ детект надо, 1 никак не блочится линкой, в кд не уходит, кулдауна то по сути нет, пока разбег в кд бара не может выучить разбег еще раз, реализация чисто по фроговски, нет вручать спеллбук с техникой и манащит в качестве кнопки стоп, а техникой свапать разбег на другой с иконкой 0,-11 или настройками канала без визуализации чтобы скрыть иконку. Кнопку ауры бы сделал из веера ножей, бара встает и танцует при касте усилялки ауры, что нафиг ненужно. Его ульт по нормальному не остановить, если тебя станят ты сам стоишь и всерано принудительно кастуешь ульт, не работает приказ пойти куда то еще, юзнуть предмет из инвентаря.
32

» WarCraft 3 / Spirit Breaker из DotA со всеми способностями

UrsaBoss, ну ты еще забываешь про оптимизатор векса, и прочие тулы, векс есть в титрах карты.
Кстати, не забудь написать о багах.
32

» WarCraft 3 / Как сделать так,чтоб героя можно было купить только 1 раз?

Есть триггерное действие на лимит найма определенного типа юнитов, оно распространяется и на героев.
На гуях Раздел Игрок - Set Traning\Construction Avalible of unit.
32

» WarCraft 3 / Spirit Breaker из DotA со всеми способностями

ClotPh, фрог не кодер, ваще на гуи писал а его кодер переводил в jass, сравните разные способности героев и системы, вы удивитесь насколько они непохожи, реализация одних и тех же вещей бывает очень различной. У фрога был очень хороший кодер который в торопях делал переводил все в jass или исправлял баги фрога, как только фрог остался без кодера - он забил на доту для варкравта, ибо был совершенно не способен вносить изменения в карту.
UrsaBoss, что то невижу функции о переполнении массива триггеров, о Retalitation тоже не слова, в дота системе нету "Dummy_Control", удаляет спустя 20 сек. всех даммиков которые появились на карте, вспомни функцию нанесения урона, что там в 6 пункте?
тут радостные хомяки понакопируют, а потом будут плакать а че оно утечки, багует, и так далее....
32

» WarCraft 3 / Высота торнадо

Вы знаете как работает торнадо? Оно не поднимает и не крутит Юнита, это тупо анимация, там движка крепит спецэффект с моделью Юнита к кости модели торнадодля эмитации вращения сподьемом в воздух, нужен даммик с вращающейся костью.
32

» WarCraft 3 / Есть ли русификатор триггеров для версии 1.29

Принятый ответ
saffd, потому что это переходной патч, которы почти никому не нужен, он есть только на офф бнете, где 2.5 пользователя. Потом авторы оригинальных руссификаторов, всяких расширенных редакторов и прочее, забили на поддержку еще при выходе 1.26, делать некому и не для кого.
Сидите на 1.26 или учите инглиш на 1.29.
32

» WarCraft 3 / Spirit Breaker из DotA со всеми способностями

Странновато изменил код, совсем минимум комментов, а так же ни слова про баги.
32

» WarCraft 3 / Что бы юнит мог проходить сквозь других юнитов?

Сделать юнита летающим, иначе по нормальному никак. Виндвалк не работает у летающих.
32

» WarCraft 3 / Почему не проигрывается spell morph, а сразу прыгает к цели

Принятый ответ
Ну тут вся фитча в канале, тут чаннелинг когда завершится тогда бара переместится + защита от сбивания приказа, т.е снова начинает кастовать скилл. Сам ульт бары основан на канале, смотри его настройки. Мне больше нравился старый вариант, где бара мгновенно кастовал ульт и растворялся в воздухе, после атаковал цель...
32

» WarCraft 3 / Перенос данных между обычными картами

Принятый ответ
Globder, просто - никак, а так через PreloadExploit и тщательную синхронизацию данных.
32

» WarCraft 3 / Время

Разумеется без мемхака никак, а так смотри тему с мх, вроде мусолилось.
32

» WarCraft 3 / Вопрос по коду из доты

Принятый ответ
А это ресайкл групп, кусок системы GroupUtils.
код
library GroupUtils
//******************************************************************************
//* BY: Rising_Dusk
//* 
//* This library is a simple implementation of a stack for groups that need to
//* be in the user's control for greater than an instant of time. Additionally,
//* this library provides a single, global group variable for use with user-end
//* enumerations. It is important to note that users should not be calling
//* DestroyGroup() on the global group, since then it may not exist for when it
//* it is next needed.
//*
//* The group stack removes the need for destroying groups and replaces it with
//* a recycling method.
//*     function NewGroup takes nothing returns group
//*     function ReleaseGroup takes group g returns boolean
//*     function GroupRefresh takes group g returns nothing
//* 
//* NewGroup grabs a currently unused group from the stack or creates one if the
//* stack is empty. You can use this group however you'd like, but always
//* remember to call ReleaseGroup on it when you are done with it. If you don't
//* release it, it will 'leak' and your stack may eventually overflow if you
//* keep doing that.
//* 
//* GroupRefresh cleans a group of any shadow references which may be clogging
//* its hash table. If you remove a unit from the game who is a member of a unit
//* group, it will 'effectively' remove the unit from the group, but leave a
//* shadow in its place. Calling GroupRefresh on a group will clean up any
//* shadow references that may exist within it.
//* 
globals
    //* Group for use with all instant enumerations
    group ENUM_GROUP = CreateGroup()
    
    //* Temporary references for GroupRefresh
    private boolean Flag                                              = false
    private group Refr                                                = null
    
    //* Assorted constants
    private constant integer MAX_HANDLE_COUNT                         = 408000
    private constant integer MIN_HANDLE_ID                            = 0x100000
    
    //* Arrays and counter for the group stack
    private group array Groups
    private integer array Status[MAX_HANDLE_COUNT]
    private integer Count                                             = 0
endglobals

private function AddEx takes nothing returns nothing
    if Flag then
        call GroupClear(Refr)
        set Flag = false
    endif
    call GroupAddUnit(Refr, GetEnumUnit())
endfunction
    
function GroupRefresh takes group g returns nothing
    set Flag = true
    set Refr = g
    call ForGroup(Refr, function AddEx)
    if Flag then
        call GroupClear(g)
    endif
endfunction

function NewGroup takes nothing returns group
    if Count == 0 then
        set Groups[0] = CreateGroup()
    else
        set Count = Count - 1
    endif
    set Status[GetHandleId(Groups[Count])-MIN_HANDLE_ID] = 1
    return Groups[Count]
endfunction

function ReleaseGroup takes group g returns boolean
    local integer stat = Status[GetHandleId(g)-MIN_HANDLE_ID]
    local boolean b    = true
    if g == null then
        debug call BJDebugMsg(SCOPE_PREFIX+" Error: Null groups cannot be released")
        set b = false
    elseif stat == 0 then
        debug call BJDebugMsg(SCOPE_PREFIX+" Error: Group not part of stack")
        set b = false
    elseif stat == 2 then
        debug call BJDebugMsg(SCOPE_PREFIX+" Error: Groups cannot be multiply released")
        set b = false
    elseif Count == 8191 then
        debug call BJDebugMsg(SCOPE_PREFIX+" Error: Max groups achieved, destroying group")
        call DestroyGroup(g)
        set b = false
    else
        call GroupClear(g)
        set Groups[Count]                = g
        set Count                        = Count + 1
        set Status[GetHandleId(g)-MIN_HANDLE_ID] = 2
    endif
    return b
endfunction
endlibrary
А вот её код, ничего особо заумного...