20

» WarCraft 3 / Цепь молний пассивка

Ну если делать через орб эффект - у предметов есть способности "сфера замедления" и "сфера молний (новая)". Эти способности позволяют с указанным шансом применять в цель атаки указанный скилл.
20

» WarCraft 3 / Юниты на борту транспорта.

Есть триггерные события на посадку и выгрузку с транспорта. Дальше - полет твоей фантазии. Самое простое - менять уровень ауры по типу Endurance Aura (аура выносливости) по каждому такому событию.
20

» WarCraft 3 / Описание предметов

Только костыльным методом подмены одного объекта на другой
20

» WarCraft 3 / Циклы в cJass

++i = i + 2
равносильно
i = i + 1
i = i + 2
в то время как
i++ = i + 2
равносильно
i = i + 2
i = i + 1
20

» WarCraft 3 / Вопрос о функциях

quq_CCCP, только это не объясняет упомянутой разницы.
Само по себе*
Доц, конечно, рассказывал офигенные истории про различные коллбеки в оффтопке, но в рамках разницы глобалок и локалок это навряд ли имеет место быть
20

» WarCraft 3 / Вопрос о функциях

DracoL1ch:
в количестве операций максимум, ибо в приоритете ищется хеш по локалкам, затем - глобалкам. но, в любом случае, это последнее, о чем следует думать разработчику.
Почему, в таком случае, скорость записи так сильно различается? (относительно разницы в скорости чтения)
20

» WarCraft 3 / Вопрос о функциях

локалки и глобалки одинаковы - они ложатся в общую базу всех переменных и ищутся там перебором.
Относительно недавно некий чел утверждал что разница в скорости их использования все-таки есть
20

» WarCraft 3 / Лимит строк кода

Я нахожусь в очень неудобной позе чтобы юзать мышку, так что поищи на сайте лимит потока. Непосредственный объем кода сам по себе роли не играет(покуда хватает памяти)
Хотя по идее чем больше кода тем дольше поиск элементов в нем, но пока не тормозит - можно юзать костыли.
20

» WarCraft 3 / способ оглушить

Так то руны никто не отменял. Да и баш+крит вроде срабатывают одновременно в пассивках, разве нет?
20

» WarCraft 3 / как редактировать варкрафт в прямом эфире?

Возможно он редактировал файл в памяти оперативки. Хотя и не факт. Ссылку на сабж?
20

» WarCraft 3 / Можно ли использовать глобальную перeменную unit глобально?

Данные о юните удаляются как только не остается ссылок, ссылающихся на него. Наличие несколько лишних юнитов в памяти - незначительно, поэтому глобалки в общих случаях не обнуляют.
20

» WarCraft 3 / Использование SetUnitFlyHeight

Действия в движке происходят быстрее чем в Jass машине, увы.
Достаточно ли быстрее чтобы окупить их предположительно огромное количество?
20

» WarCraft 3 / Использование SetUnitFlyHeight

С практической точки зрения вопрос оптимизации не актуален. В наши дни следует думать о качестве кода и простоте его поддержки.
А я хочу мясо, грабить корованы и делать карту (двадцать) джва года.
А касательно нативности - опять же встает вопрос о периодичности вычислений, производимых движком. Если движок делает 200 вычислений когда я делаю 10, то 50 моих + 50 от движка выглядят симпотичнее.
20

» WarCraft 3 / Использование SetUnitFlyHeight

quq_CCCP:
Кстати насчет производительности, было же подбрасывание вовсе без кода, помню была тема...
Эх щяс бы найти её..
Ну там, наверняка, какие-то навороты с анимацией и взаимодействием с моделькой. А тут у меня полная свобода действия. Замутил подбрасывание, потом добавил в любой момент скорости заклинанием телекинеза - в зависимости от момента каста меняется итоговая скорость падения и, как следствие, урон. Имхо - это фан.
20

» WarCraft 3 / Использование SetUnitFlyHeight

все перемещают сами юнита по высоте, не юзая стандарт
Стандарт? Речь о SetUnitFlyHeight функции. Просто при 50 фпс явно юзают третий параметр равный нулю(скорость изменения высоты), а при 10 фпс я юзал динамическую скорость падения, которая высчитывается при каждом звонке.
паузится
Ну мне в помощь использование рун.
quq_CCCP:
получится ли сделать нужную плавность
Все плавно. Интересует тупо вопрос производительности. Нужно ли это? Вероятно как и сам вц3 - нет. Но перфекционизм можно считать моим вторым хобби. Тем более я впервые полез в дебри изменения высоты юнита.
ах да высота броска высчитывается исходя из маштаба юнитов, громадные юниты подлетают выше чем мелкие
При кастомном изменении высоты все ок.
20

» WarCraft 3 / Хеш-таблица против обуза глобальных массивных переменных

массив удобнее ТОЛЬКО потому, что слегка быстрее
При использовании БД на массивах прозрачны действия движка(как реализован интерфейс работы с хт - одним близзам известно). Сразу ясно какой из вариантов реализации эффективнее
20

» WarCraft 3 / Утечки

При использовании JNGP: Конвертируешь в код -> избавляешься от функций, подсвеченных красным, заменяя их на нативные эквиваленты -> по возможности избегаешь создания объектов вроде точек, даммиков -> чистишь локалки, которые не очищаются сами по себе
20

» WarCraft 3 / Событие на получение урона

Я не уверен что верно понял сабж, но что мешает при нанесении урона проверять наличие какого-нибудь баффа или абилки? Если таких баффов и абилок много - в помощь игра с их айдишниками (диапазоны вроде buffID > 'AQ00')
20

» WarCraft 3 / Продать все предметы

Пробовал продавать по ивенту на продажу предмета? (продал предмет -> приказывает продать следующий) Слот для продажи можно хранить в глобалке (применил скилл - включить триггер, глобалку установить равной 1(2 для GUI, т.к. нумерация с единицы, а не нуля), приказать продать предмет в 1 слоте. Далее срабатывает триггер, который приказывает продать следующий предмет. Когда глобалка равна 5(6), вырубать триггер)
20

» WarCraft 3 / Игрок открывает список построек

851994 (buildmenu): Приказ (без указания цели), открывающий меню строительства воина, способного возводить здания.
20

» WarCraft 3 / Ошибка синтаксиса

LainMikoroso:
Нельзя передать переменную через таймер. Можно разве что число с плавающей запятой передать, но это сомнительно полезно. Используй глобальные переменные.
А можно передать локальную переменную на простую функцию?(вроде можно)
Да, если не забыть указать нужные типы и названия переменных при ее определении :)
20

» WarCraft 3 / Ошибка синтаксиса

Нельзя передать переменную через таймер. Можно разве что число с плавающей запятой передать, но это сомнительно полезно. Используй глобальные переменные.
20

» WarCraft 3 / Ошибка синтаксиса

Ты передаешь функции TimerStart аргумент в виде ссылки на блок кода, который запускается. Очевидно, что ссылка аргументов не имеет.
Используй глобалки.