30

» WarCraft 3 / Как быстро прописать всем моделям путь?

Arthas080801, Ты собираешь модели в папку с нужными путями, а потом просто импортируешь папку. Все пути будут сохранены.
30

» WarCraft 3 / Как быстро прописать всем моделям путь?

Принятый ответ
Так вроди же можно импортировать глобально для всей кампании.

Если дело только в импорте, то можно подготовить папку и импортировать её с помощью Map Import Manager
30

» WarCraft 3 / Как быстро прописать всем моделям путь?

Arthas080801, если память не изменят, то можно или импортировать в каждую карту отдельно, или глобально для всех карт кампании. Я давно редактор не клацал, так что не совсем помощник.
30

» WarCraft 3 / Сборка предметов

N7 Molot,
  1. Не для новичков на гуй-муй?
  2. Законом запрещено крафтить из стакающихся предметов?
  3. ru.wikipedia.org/wiki/%D0%92%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD...
  4. Сорян, продолбился в глаза.
30

» WarCraft 3 / Захват генератора с помощью точки/области

ScorpioT1000, я бы по другому сделал. На каждый генератор повесил бы событие UnitEntresRange. И запускал бы таймер, который бы выибрал всех юнитов вокруг генератора, проверял условия и считал прогресс.
30

» WarCraft 3 / Сборка предметов

Ужасная система, противопоказаная новичкам.

Нет работы со стакабельными предметами. Например две бутылки хп + две бутылки мп = 1 бутылка регена.

O(n)

Копипаст кучи гуя, и все рецепты нельзя посмотреть одним списком.

Счётчик хэндлов на основе спама локациями в 2к24. Почему не брать данные прям из движка?
30

» WarCraft 3 / Редактор: Очередь юнитов на смерть

SharrKnen, держи на грязножассе. Думаю триггер установки SetUnitUserData осилишь написать.
native UnitAlive takes unit id returns boolean 

library FoodQuery initializer Init 

    globals 
        private group Group = CreateGroup() 
        private integer array Counter 
        private integer dummyId = 'dumy' // Равкод даммика              
        private integer abilId = 'abil' // Равкод абилки с отрицательным регеном             
    endglobals 

    private function periodic takes nothing returns nothing 
        local integer i = -1 
        local unit target = null 
        local unit found = null 
        local integer count = 0 

        loop 
            set i = i + 1 
            exitwhen i > bj_MAX_PLAYER_SLOTS 

            call GroupClear(Group) 
            call GroupEnumUnitsOfPlayer(Group, Player(i), null) 

            loop 
                set target = FirstOfGroup(Group) 
                exitwhen target = null 
                call GroupRemoveUnit(Group, target) 

                if UnitAlive(target) and GetUnitTypeId(target) == dummyId then 
                    // Считаем юнитов с абилкой         
                    if GetUnitAbilityLevel(target, abilId) > 0 then 
                        count = count + 1 
                    endif 

                    // Сразу выбираем юнита с максимальным значением     
                    if found == null or GetUnitUserData(target) > GetUnitUserData(found) then 
                        set found = target 
                    endif 
                endif 
            endloop 

            // Если никто не найден, то выдаём абилку юниту  
            if count == 0 and found != null then 
                call UnitAddAbility(found, abilId) 
            endif 

        endloop 

    endfunction 

    private function Init takes nothing returns nothing 
        local trigger t = CreateTrigger() 
        call TriggerRegisterTimerEventPeriodic(t, 1.00) 
        call TriggerAddAction(t, function periodic) 

        // Здесь нужно дописать триггор, который присвоит SetUnitUserData  

        set t = null 
    endfunction 
endlibrary
30

» WarCraft 3 / Заклинание дух воды

Вообще не помню такой механики. Может ты её в какой-то кастомке видел? Или это было тысячу патчей назад…
30

» WarCraft 3 / Редактор: Очередь юнитов на смерть

Принятый ответ
Тупое решение в лоб - делаешь абилку с отрицательным регеном. Каждую секунду перебираешь всех живых даммиков. Если ни у одного из них нет абилки на Реген, то выдаёшь одному из даммиков эту абилку.
Если нужно от последнего созданного, то так же в лоб создаешь переменную DummyEatCounter. При каждом появлении нового дам Мика увеличиваешь её на единицу и пишешь в CustomValue юнита. Потом при выборе нужного даммика просто выбираешь того, у кого наибольший CustomValue.
30

» Unryze Jass API / [UjAPI] Конкурс Наработок 2024

но из-за луа и ангелскрипта будет гемморная установка
На луа и ангеле можно сделать не геморную установку. Если сделал геморную, то сам себе злобный Буратина.
непонятность для многих новобранцев
Как хорошо, что оценивать работы будут не новобранцы. Не правда ли?
Но если с ГУИ будет понятно и установка тоже ясная, что оценится выше?
То, что будет выше качеством, как это бы странно не звучало.
30

» Unryze Jass API / [UjAPI] Конкурс Наработок 2024

Чтоб уж точно понятно было, что делать.
А сейчас вот ниразу не понятно что делать?
30

» WarCraft 3 / 2-3. Локальные переменные

можно вписывать jass код в любом месте действий триггера
Прям таки в любом? Можно даже в каллбеке таймера например?
30

» Unryze Jass API / [UjAPI] Конкурс Наработок 2024

Пожалуй стоит описать весь существующий нынче функционал.

Документация

Редактор

Мнением большинства для работы был выбран JNGP: Rebuild от PT153. Главное не забудьте после установки удалить папку AdicHelper в корне редактора.

GUI

Братьев наших меньших мы тоже не забыли и добавили поддержку GUI для UjAPI. А так же все нативки из common.j, что позволит их использовать в проектах, не расчитанных на UjAPI.

Для установки просто поместите umswe.mpq с заменой в
Jass New Gen Pack\umswe\umswe.mpq

JetBrains

Если у вас есть одна из ниже перечисленных IDE, то можете установить JASS. В недавнем обновлении был добавлен автокомплит, кстати.
Нижеперечисленные IDE
  • IntelliJ IDEA (Ultimate, Community)
  • Android Studio
  • AppCode
  • Aqua
  • CLion
  • Code With Me Guest
  • DataGrip
  • DataSpell
  • GoLand
  • JetBrains Client
  • JetBrains Gateway
  • MPS
  • PhpStorm
  • PyCharm (Professional, Community)
  • Rider
  • RubyMine
  • RustRover
  • WebStorm
  • Writerside

VSCode

Все плагины к ней являются форком jass. Можете просто руками заменить common.j и пользоваться новыми нативками.
  • ujass форк jass, в котором добавлена подстветка нативок и BJ.
30

» Программирование / Flutter - странное поведение ReorderableList при itemExtent != n

ScorpioT1000, там оказалось всё проще. Если пердать itemExtent, то будет использован упрощённый механизм рендера, где элементы одного размера по главной оси. Только вот сортировка построена на том, что исходному элементу задаётся нолевой размер, а его копия помещается поверх всех слоёв. Только вот, при itemExtent любое указание размера элемента будет проигрнорировано. Отсюда и дырка справа.
30

» WarCraft 3 / JNGP: Rebuild от PT153

При удалении AdicHelper всё нормально, но вот удалив ScExp я получил ошибку.
Загруженные файлы
30

» WarCraft 3 / как создать окошко?

Dark_Son, если им можно задать цвет, то сделай прозрачный. Если нет, то сделай периодический таймер на десять минут и чтоб он не впустую молотил выдавай по истечении немного голды.
30

» WarRaft / IntelliJASS

кстати, в mpq всегда обратный слеш? И тот же вопрос про модели.
Там делали нормализацию пути, но правда не везде. Реф с DISBTN не даст соврать. Для просмотрщика тоже нужно делать нормализацию и не париться.