28

» WarCraft 3 / Не срабатывает точно условие сравнения

Выводи число следующим кодом, где r - твоё real число.
call DisplayTimedTextToPlayer(GetLocalPlayer(), 0., 0., 5., R2SW(r, 0, -1))
28

» WarCraft 3 / как сделать привязку предмета к классу

Desgul, Есть категория Общее или General. А также можно просто открыть список действий, не выбирая категорию.
28

» Btooom / Btooom

все не в ту сторону дует ветер
То есть полностью нативным кастомным интерфейсом и поддержкой Lua вас не удивишь, понятно.
28

» Btooom / Btooom

Ключевое слово тут последний, а не 1.31.1
В патчноуте 1.31 они написали, что 1.31 будет последним крупным патчем, дальше будут только фиксы багов и незначительные изменения.
28

» Btooom / Btooom

Maxim105, читай патчи WC3, начиная с 1.27.
Reforged будет повторять последний патч классики, потому ничего кардинально нового там не будет.
28

» WarCraft 3 / Депротект сотдрп, сотфрп и т.д. И их нереальность запуска в игре

то недопустимо во всех языках программирования
В JASS имена даже с _ начинаться не могут (и заканчиваться тоже).
28

» WarCraft 3 / Проверка кто нанёс урон

он проходит как событие EVENT_UNIT_DAMAGED
Тут не проходит. Юнит умер - событие не реагирует.
Загруженные файлы
28

» WarCraft 3 / Проверка кто нанёс урон

Naadir, причём тут это? Событие на получения урона срабатывает только для живых юнитов.
28

» WarCraft 3 / Изменение юнита

Naadir, возможно, только это надо будет проверять на 1.30+, ведь только там можно понизить уровень улучшения.
28

» WarCraft 3 / Проверка кто нанёс урон

IsUnitDead(c)==false and IsUnitIllusion(u)==false
Ну это бан.
UnitAlive(c) and (not IsUnitIllusion(u))
или
(not IsUnitDead(c)) and (not IsUnitIllusion(u))
или
(not (IsUnitDead(c) or IsUnitIllusion(u)))
Да и зачем проверять, что получатель урона жив? Получатель урона всегда жив, ведь урон нанесётся после окончания триггера, а мёртвые не могут получить урон.
28

» WarCraft 3 / Проверка кто нанёс урон

В триггере по получении урона смотришь GetEventDamageSource (тот, кто нанёс урон) и GetEventDamage (количество урона).
28

» WarCraft 3 / wc3 1.31 и lua

И давно их можно уничтожать? o_O Вот это внезапная новость для меня. Всегда был уверен что нет возможности их уничтожить и в итоге даже не искал нативки для этого...
В blizzard.j их всегда уничтожают.
28

» WarCraft 3 / wc3 1.31 и lua

или утечки
По идее, уничтожение булэкспры должно помогать.
28

» WarCraft 3 / wc3 1.31 и lua

Castiel, как я уже сказал, можно даже ничего не передавать, а использовать GetTriggerUnit и прочее в самом фильтре. Можно передавать глобалками (или через таблицы Lua), тоже будет верно.
Циклом будет быстрее, удобнее и порой надёжнее, если операции внутри цикла короткие. Лично я фильтр использую там, где операции долгие, так как фильтр создаёт поток на каждого юнита.
28

» WarCraft 3 / Кампания

BladeInDoom, самый простой конечно через замену оригинала, в Game Interface просто выбираешь тот звук, что заменил. Но если нужны оригиналы, или нужно звук вообще убрать (варианта None нет), то нужно делать моим способом.
28

» WarCraft 3 / wc3 1.31 и lua

не будет ли фарша, когда глобалка перебивается другим игроком вызвавшим таймер, вот к примеру
Не будет, на этом построен vJass.
А так да, при занесении в глобалку фильтр пне может быть кложуром.
Можно так, но тут снова каждый раз будет создаваться новый объект.
function u (p, id)
    B = Condition(function()
	    if p == GetOwningPlayer(GetFilterUnit()) and id == GetUnitId(GetFilterUnit()) then

	    end
    end)

	GroupEnumUnitsInRange(group, 500, 500, 500, B)
end
А ещё в фильтрах групп работает всякие GetTriggerUnit и так далее, их даже передавать не надо.
28

» WarCraft 3 / wc3 1.31 и lua

фильтры не текут
В Lua текут, в JASS нет, выясняли уже.
И лучше заносить фильтры в глобалки, тогда они доступны везде, даже до место определения фильтра. А вместо Condition советую использовать Filter, букв меньше.
28

» WarCraft 3 / Синхронизация строк в 1.26

Принятый ответ
ProximityCat, pld файл - это файл, что ты прелоадишь. В нём должен быть вызов только функции ExecuteFunc, которая вызывает другую функцию из карты.
28

» WarCraft 3 / Кампания

Принятый ответ
Меняется тут.
Но скорее всего там не будет выбора твоего звука. Нужно сделать вот что.
  1. Поставить какие-нибудь другие значения у нужного звука в Game Interface.
  2. Нажать Display Values As Raw Data и запомнить такое название поля.
  3. Сохранить кампанию.
  4. Открыть файл кампании через MPQ Editor.
  5. Найти файл war3campaignMisc.txt, нажать по нему ПКМ и выбрать Edit.
  6. В открывшемся файле найти запомненное поле и прописать путь, куда был импортирован твой звук.
  7. Сохранить файл. MPQ Editor спросит, вносить ли изменения, нужно нажать Yes (или OK).
  8. Если не спрашивает, то:
    • Экспортировать war3campaignMisc.txt в любое удобное место.
    • Отредактировать его, как сказано в пункте 6.
    • Импортировать его назад в архив подтверждая замену.
Загруженные файлы