22

» WarCraft 3 / Отмена исследования технологии

можно здание вручить нетрайлу что итог все игроки имеет 1 иследование от нетрального что все видят прогресс изучение и отмены.. чтобы работал просто вручаем ему союзник себя и абилку "обшие магазины"
например у мя здание на общие но нажимать и изучить могут только хост.
22

» WarCraft 3 / Корни ломают полёт

как бы корни только наземным ловят а не воздуха пользуй паук сетка он возврашает исходную высоту
22

» WarCraft 3 / Иконка

Бывает что ты указал 1 уровня а 2 уровня нет если ты про апгрейд
22

» WarCraft 3 / Ошибка при выборе рандомного игрока (Jass)

потому что не правильно ты получаеш рандом...
судя у тя прибавляет +1 если данный игрок найден. Значит рандом должен
GetRandomInt(1,udg_Buf_A) - 1 возврашает 0 если только 1 красный играет, а если красный и синый то 0,1
22

» WarCraft 3 / [Важно!] Как оптимизировать цикл порядка?

Принятый ответ
set powers[power + offset] = count
забыл вот так стоял
если 32 бит то цикл 31 раз прибавляет ему то есть не актуально
чтобы быстрый поиск по значение и получить порядок
чтобы быстрый поиск по значение и получить порядок
например если у меня 3 бит значит будет выполнять порядок с 2 очереди до 0, или если 2 бит то очередь 2 до 0 ну суть понял?
чтобы не было целиком порядок и вычеслять количество байтов
переделал
внутри код
library xePower initializer Init
    globals
        /* --------------------------------------- */
        private integer       xe_count    = 1
        private integer       xe_powerMax = 0
        private integer array xe_powersOf2
        private integer array xe_helpers
        /* --------------------------------------- */
    endglobals
    
    function GetPower takes integer index returns integer
        local integer offset = 1
        
        if index < 0 then
            return 0
        endif
        
        if xe_powersOf2[index] == 0 then
            set xe_powersOf2[index] = xe_powersOf2[index - 1] * 2
            set xe_count = xe_count + 1
            
            loop
                exitwhen offset == xe_powersOf2[index]
                set xe_helpers[xe_powersOf2[index] + offset] = index
                set offset = offset + 1
            endloop
            
            set xe_powerMax = xe_powersOf2[index] + offset
        endif

        return xe_powersOf2[index] 
    endfunction
    
    function GetPowerHelper takes integer power returns integer
        if power <= 0 then
            return 0
        endif
        
        if power > xe_powerMax then
            set power = xe_powerMax
        endif
        
        return xe_helpers[power]
    endfunction
    
    private function Init takes nothing returns nothing
        set xe_powersOf2[0] = 1
        set xe_helpers[1] = 1
    endfunction
endlibrary
PS обновил
library xePower initializer Init
    globals
        /* --------------------------------------- */
        private integer       xe_powerMax = 0
        private integer array xe_powersOf2
        private integer array xe_helpers
        /* --------------------------------------- */
    endglobals
    
    function GetPower takes integer index returns integer
        local integer offset = 0
        
        if index <= 0 then
            return 0
        endif

        if xe_powersOf2[index] == 0 then
            set xe_powersOf2[index] = xe_powersOf2[index - 1] * 2

            loop
                exitwhen offset == xe_powersOf2[index]
                set xe_helpers[xe_powersOf2[index] + offset] = index
                set offset = offset + 1
            endloop
            
            set xe_powerMax = xe_powersOf2[index] + offset
        endif

        return xe_powersOf2[index] 
    endfunction
    
    function GetPowerHelper takes integer power returns integer
        if power <= 0 then
            return 0
        endif
        
        if power > xe_powerMax then
            set power = xe_powerMax
        endif
        
        return xe_helpers[power]
    endfunction
    
    private function Init takes nothing returns nothing
        set xe_powersOf2[1] = 1
        set xe_helpers[1] = 1
    endfunction
endlibrary
Терь можно делать подбор только важных а не целиком.
local integer index = GetPowerHelper(33)
            
            loop
                exitwhen IDs == 0 or index == 0
                if IDs >= GetPower(index) then
					// Выполняет правильно index (32,1) а раньше было (32,16,8 и так далее)
                    set IDs = IDs - GetPower(index)
                    set index = GetPowerHelper(IDs)
                else
                    set index = index - 1
                endif
            endloop
22

» WarCraft 3 / Защита карты в 2019

тогда без модели пусть сидят. Ради чего модели охраняют не пойму!
22

» WarCraft 3 / Как удалить высоту для воды!

Принятый ответ
8gabriel8, земноводный но все равно дергает верх и низ если вода глубогая. Изврашеным способом не заметно как дергает.
22

» WarCraft 3 / Мемхак 1 + Мемхак 2 = ?

Bergi_Bear, давно и так стоял.
Bergi_Bear, там адрес не меняют а лишь функционалов перенести и все!
Загруженные файлы
22

» WarCraft 3 / Защита карты в 2019

почему вы мечтаете 100% зашиты? Для этого есть лизенционые права . Тех кто ворует люди запросто узнают что эти модели сворованы. А варкрафт как раз являет свободным исходным. Если вы читали правила при 1 раза захода в редактора.
22

» WarCraft 3 / Мемхак 1 + Мемхак 2 = ?

зачем 2 мемхак когда они все схожы просто копируй код который вам нужны.