15

» WarCraft 3 / WFE - Warcraft Feature Extender

У Cooldown UI в старых версиях отображался кулдаун в точности до десятых, если кулдаун меньше 10 сек, сейчас только если меньше 1 сек, в остальных случаях округляется, это как-то можно пофиксить?
15

» WarCraft 3 / Экспоненциальный рост статы в улучшении

Ладно, раз менее костыльного решения проблемы нет, сделал дополнительное исследование (скрытое), которое триггерно изучается при изучении 3-го левела оригинального улучшения.
15

» WarCraft 3 / Проблема с "Too many nested ifs"

int convertIndex(int id){
    if id == 'E005' {
        return 0
    
    elseif id == 'E009' 
        return 1
    
    elseif id == 'E000' 
        return 2
        
    elseif id == 'H000' 
        return 3
        
    elseif id == 'H01A' 
        return 4
        
    elseif id == 'H009' 
        return 5
        
    elseif id == 'H00B' 
        return 6    
        
    elseif id == 'O007' 
        return 7
        
    elseif id == 'O00X' 
        return 8
        
    elseif id == 'O008' 
        return 9
    
    elseif id == 'O00J' 
        return 10
    
    elseif id == 'N00P' 
        return 11
        
    elseif id == 'H001' 
        return 12
        
    elseif id == 'H019' 
        return 13
        
    elseif id == 'N00O' 
        return 14
        
    elseif id == 'H00D' 
        return 15
    }
    BJDebugMsg("Ошибка при попытке конвертации ID героя")
    return -1
    
}
Для таких вещей лучше словарь заводить, уж больно много места занимает такой код.
15

» WarCraft 3 / Jass Pseudo Group API

Unryze, разве константы в vJass ведут себя как обычные переменные, а не подставляются препроцессором?
15

» WarCraft 3 / Экспоненциальный рост статы в улучшении

Скорее костыль в виде дополнительной абилки от предмета, которая добавляет ману, дать её юниту в РО, и в ней прописать технологии - требования - улучшение, и требование- уровни - 3, чтобы она разблокировалась только после прокачки третьего уровня улучшения. Естественно, кастомную абилку переделать в абилку для юнита. У себя не проверял, это в теории.
О, я изначально хотел при изучении третьего уровня исследования триггерно изучать дополнительное, а твой вариант вообще без триггеров, спасибо)

EugeAl, а, нет, не работает. Требование поставил, а мана всё равно даётся на старте.
15

» WarCraft 3 / Странные функции в jass

По идее все эти функции должны начинаться с глагола Try, но когда Близзы писали Jass API, особо не заморачивались.
15

» WarCraft 3 / Jass Pseudo Group API

Равкоды много где повторяются, было бы правильно вынести их в константу.
15

» WarCraft 3 / Hashtable - работаем с хеш-таблицей

Поскольку эта статья входит в список статей XGM по Варкрафту, думаю стоит доработать её, а именно информацию о ресурсоёмкости хэш-таблиц, миф о которых развеивается Анрайзом: xgm.guru/p/wc3/Jass-MythBusters-9RA
15

» WarCraft 3 / Jass MythBusters

Unryze, ну тут скорее тема обсуждения: насколько критично плодить обёртки ради читаемости и поддерживаемости кода)
15

» WarCraft 3 / Бесплатный AutoHost Bot на IrInA для вашего проекта

Блин, карта постоянно обновляется, а ресурс последний раз в 2017-ом публиковал, придётся чем-то наполнять)
А какой срок регистрации? Я так понимаю до 20 мая?
15

» WarCraft 3 / Jass MythBusters

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

» WarCraft 3 / MemoryHackAPI

Для ХП баров ничего не завезли? Вообще как-то можно получить указатель на хп-бар юнита, или всё гораздо сложнее и нужна отдельная DLL?
15

» WarCraft 3 / MemoryHackAPI

Функция ReduceAbilityCooldown иногда работает только визуально: на UI кулдаун уменьшается, но кулдаун самой абилки при этом не изменился, и даже когда на UI уже нет кулдауна, абилка всё равно будет говорить, что пока нельзя применить. Это как-нибудь фиксится?
15

» WarCraft 3 / Jass MythBusters

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

» WarCraft 3 / Как сделать Триггер наподобии "повторяй за мной"

AncientOverlord, то что я предложил при этом не подходит?
Не, если автору просто абилки надо кастить, то всё ок. Я к тому, что если вдруг надо чтобы эти юниты двигались приказом move, и если это юниты одного игрока, то они очень жёстко тупить будут.
15

» WarCraft 3 / Как сделать Триггер наподобии "повторяй за мной"

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

» WarCraft 3 / Нужно определить угол

Для этого есть функция Atan2.
Atan2(y2 - y, x2 - x)
Вернёт угол в радианах от точки (x, y) до точки (x2, y2).
Для притягивания используешь полярное движение:
call SetUnitX(u, x + distance * Cos(angle))
call SetUnitY(u, y + distance * Sin(angle))
15

» WarCraft 3 / Плавающий текст периодически пропадает

goodlyhero, оказывается глобальные массивы тексттэгов надо обнулять после уничтожения. Обалдеть просто, долго промучился с этим.