18

» WarCraft 3 / Конвертация картинки в .mdx

Принятый ответ
Можно триггерно одевать картинку на юнита, тогда и в РО будет одна запись. DGUI если не ошибаюсь
trackable нужны только для события наведения. Если можно обойтись без него, используйте юнитов (или фреймы)
18

» WarCraft 3 / Что лучше использовать?

LainMikoroso, если вопрос в том, какой перебор группы вызывает большие лаги, то для этого запустите 1000 снарядов и перебирайте, постепенно уменьшая период. Какой способ быстрее вызовет лаги, тот и более тяжелый
18

» WarCraft 3 / Вращающиеся модели

А тут и нет карты и кода, это же рубрика "посмотрите как я могу" от Влода
Так вот какого ты мнения обо мне)
18

» WarCraft 3 / Еще одна глупая идея про оптимизацию

Триггеры предназначены для удобства разработки, если вам удобно разрабатывать на jass, переводите в jass. Существенного значения это не оказывает
18

» WarCraft 3 / Способности и алгоритмы на заказ

mistwood, выбираешь нужных юнитов в радиусе тысяча и для каждого делаешь дамми каст невидимости
18

» WarCraft 3 / Обнуление массива отрядов

PT153, BJ функция создает группу-локалку и не обнуляет. Насколько я знаю, hendle следует возвращать через глобальную переменную
18

» WarCraft 3 / Обнуление массива отрядов

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

» WarCraft 3 / Обнуление массива отрядов

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

Любой пик юнитов в группу вызывает утечку
одно из решений
Загруженные файлы
18

» WarCraft 3 / Обнуление массива отрядов

Venommm, посмотри, хендл сначала будет увеличиваться, а потом встанет
Загруженные файлы
18

» WarCraft 3 / Снегопад

в мдлвисе можно же добавить анимации качения, и во время вьюги поставить, допустим stand alternate, где качение усиленное
Если знаешь как приделать анимацию качения по нескольким осям к любому дереву, то можно записать видео
А как ты удаляешь снег? Его нужно заносить в массив?
Запоминаю старый рельеф перед работой со снегом. Скорее всего там хеш таблица на двух ключах
18

» WarCraft 3 / Hashtable 8000

Обновление
  • Отобрана возможность задавать собственные названия типов для таблиц. Теперь все типы имеют строго определенный синтаксис.
  • Теперь все типы доступны сначала, а пользователь может лишь отключать ненужные для оптимизации.
  • Добавлен новый показательный пример.
  • Наработка разделена на 2 версии: cjass+vjass и vjass only. Обе имею одинаковую установку и синтаксис обращения, а отличаются лишь внутренней реализацией.
18

» WarCraft 3 / Hashtable 8000

Ну если кто то чем то не пользовался, разве это значит, что это не нужно) В lua, например, все построено на таблицах, и код получается гибким и легким.
ScorpioT1000:
Там вроде вся фича была в том, что можно хранить разные типы в одной хешмапе?
Когда в статических языках можно было класть в переменную значения разных типов.
СмысОл в том, чтобы не указывать тип переменной при каждом обращении:
call SaveUnitHandle(hashtable, _, key, unit)
call SaveEffectHandle(hashtable, _, key, effect)

set target[key] = unit
set baff[key] = effect
18

» WarCraft 3 / Hashtable 8000

Обновление
Изменен синтаксис обращения к таблицам, теперь можно писать так:
//! runtextmacro HT8k("myInt","integer")
//! runtextmacro HT8k("myStr","string")
myInt i = myInt.create()
myStr s = myStr.create()
i[3] = 8
i[-50] = i[3]
s[i[3]] = "hello"
s.destroy()
18

» WarCraft 3 / Отличия static от глобальной переменной

Принятый ответ
Почему просто глобалку не создать тогда?
Потому что это глобалка, которая связана с конкретной структурой
Добавляя ключевое слово static к глобальной переменной, мы определяем её как внутреннюю, то есть такую, которую нельзя экспортировать и использовать в других файлах
Можно
struct AAA
    static integer I = 1
endstruct

function BBB takes nothing returns nothing
    local integer i = AAA.I
    call DisplayTextToPlayer(Player(0), 0, 0, I2S(i))
endfunction
А private|public не то же самое делают?
Это модификаторы доступа. Вот так уже не сработает
struct AAA
    private static integer I = 1
endstruct

function BBB takes nothing returns nothing
    local integer i = AAA.I
    call DisplayTextToPlayer(Player(0), 0, 0, I2S(i))
endfunction

18

» WarCraft 3 / JNGP: Rebuild от PT153

Просто в старом jnpg есть поддержка синтаксиса vjass+cjass + include user func в папку с tesh
Понятно, жалко