28

» WarCraft 3 / Lua

Угадай, почему.
Потому что всё сделанное там принадлежит Blizzard?
28

» WarCraft 3 / Свиток регенерации с отрицательным восстановлением

Принятый ответ
все вокруг него автоматически поджигались.
Сделай спел на основе канала, при применении создаёшь руну с дождём и даёшь герою, ИЛИ создаёшь даммика и приказываешь ему кастовать дождь, но с руной всё же лучше.
28

» WarCraft 3 / Lua

Принятый ответ
Я больше скажу, они могут вообще ничего не сделать)
Lua так-то будет полезен, если заниматься программированием вне вара, он не игрушечный, как JASS.
28

» WarCraft 3 / Что делать?

вызов функции пишется до её описания\содания (видел много раз, мб ошибаюсь и не так понял)
Это не так, такое только может быть в методах структур vJass, и это чревато более медленным вызовом.
Нельзя вызвать функцию через call, если она не была определена ранее. Либо через триггер, либо через ExecuteFunc, либо сахаром от vJass. Так что тут ты ошибаешься.
А вообще в ООП языках (Java, C#, Eiffel) порядок функций (фич, методов, называйте как хотите) не важен.
ssbbssc:
в джазе же блоки непонятно (лично мне) в каком порядке
Потому что таковых блоков вообще нет, данные конструкции в GUI это попросту упрощение.
Я могу хоть все действия в самом событии прописать, если мне будет достаточно GetFilterUnit(), но обычно это не так.
Если просто сконвертировать GUI в JASS, то внизу будет создание триггера, посередине действия, а вверху условия и доп. функции от GUI.
Более того, там даже подписано (по-английски, разумеется), что есть действия, условия и инициализация триггера (в последнем также регистрируются события).
Названия нативок и бж интуитивно понятны, если не понятны, то в помощь Blizzard.j и common.j, там есть комментарии к некоторым функциям. В крайнем случае спрашиваешь на этом форуме.
Если больше нравится C style (или не нравится синтаксис JASS), то нужно прочитать мануал по cJass и писать на нём.
Если нужно ООП и куча синтаксического сахара, читаешь мануал по vJass, на XGM есть достойный перевод.
28

» WarCraft 3 / Вопрос по хеш таблице

Принятый ответ
Скачаю чистый варкрафт 1.26 попробую.
Рекомендую эти торренты.
Русская версия.
Английская версия.
28

» WarCraft 3 / Вопрос по хеш таблице

Карта полностью на GUI.
Тогда cJass пока стоит отключить, там с ним есть некоторые непонятки (для это нужно снять только 2 первые галки).
Отключи cJass и замени в папке jasshelper файл pjass.exe на этот.
Убедись, что включён UMSWE. Если нет, то включи и перезапусти редактор.
После всех этих действий сохрани карту. Если ошибок нет, то нажми проверить карту (Ctrl+F9). Если есть ошибки, то скрины ошибок сюда.
Загруженные файлы
28

» WarCraft 3 / Что делать?

Лично мне это быстро помогло перейти на Jass за несколько дней.
А мне помог случайный протект своей карты и её дальнейший депротект с растаскиванием кода назад в триггеры для удобства.
28

» WarCraft 3 / Когда бываю скидки на Battele.net?

Принятый ответ
И когда они будут на "Warcraft III: Reforged"?
Через полгода-год после выхода игры, смысл делать скидку на ПРЕДЗАКАЗ нет. Одно дело, когда ты купил игру, а через полгода она стала дешевле -- ты-то мог играть в неё полгода. А тут играть не во что!
Ну и что за Battele.net...
28

» WarCraft 3 / Какая последняя версия warcraft 3 на данный момент?

Принятый ответ
Будут ли новые патчи и когда?
Тут нет представителей Blizzard, за этим на официальные форумы.
И когда она вышла?
Тебя в поисковиках забанили? Это легко найти.
Заходим на официальный сайт, покупаем игру и скачиваем лаунчер, он и поставит последнюю версию.

Вот официальный форум со всеми патчноутами.
28

» WarCraft 3 / Что делать?

Что делать, если я, уже целый год, не могу ни как понять Jass?
Открыть англоязычный букварь и выучить латинские буквы. Для начала этого хватит.
А потом статьи на сайте прочитать про Jass.
28

» WarCraft 3 / Вопрос по хеш таблице

Русификатор триггеров стоит? Если да, его нужно снести и поставить FNWE.
Camby:
include "cj_antibj_base.j" ничего не дала
А cJass при этом был включён? С отключённым cJass это вообще ничего не делает.

Ещё раз. Карта полностью на GUI? Если да, то cJass стоит отключить. Если нет, то используется ли cJass в написании кода карты?
Включён ли vJass, как я показал?
Будь добр, ответь на все эти вопросы.
Camby:
Кстати, пробовал стоковый редактор от варика 1.29, там в одной из карт смог создать хеш таблицу. Правда нужная карта не открывается из за "функция триггера отсутствует в базе данных"
Потому что в 1.29 нет UMSWE, который добавляет доп. функции в GUI.
28

» WarCraft 3 / Свиток регенерации с отрицательным восстановлением

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

» WarCraft 3 / missing return

Принятый ответ
Мне и нужно, чтобы возвращало первого попавшего
Окей, я тогда чутка переделаю свою версию.
code
globals
    player TransPlayer
    unit LastEnemyUnit
endglobals

function filter takes nothing returns boolean
    if IsUnitEnemy(GetFilterUnit(), TransPlayer) then
        set LastEnemyUnit = GetFilterUnit()
    endif
    return false
endfunction

function EnemyInRange takes unit u, real x, real y, real range returns unit
    set TransPlayer = GetOwningPlayer(u)
    set LastEnemyUnit = null
    call GroupEnumUnitsInRange(bj_lastCreatedGroup, x, y, range, Filter(function filter))
    return LastEnemyUnit
endfunction
Плохо, что ретурн позволяет появлятся утечкам.
Только если это локальная переменная, тип которой наследник handle. Если локальная другого типа, или это аргумент функции, или это глобальная, то утечек не будет.
Это, кстати, обещают исправить в будущих патчах.
28

» WarCraft 3 / Вопрос по хеш таблице

Camby:
Если снять галки, то ошибки при сохранении нет. Правда карта так не запускается. Просто при выборе этой карте в игре выкидывает обратно в выбор карт
А карта использует cJass? Если да, то включи cJass назад и где-нибудь пропиши include "cj_antibj_base.j". Если же это где-то уже прописано, то, наоборот, убери.
В этой библиотеке есть замены всех плохие вещи из Blizzard.j, в частности call InitHashtableBJ() заменится на bj_lastCreatedHashtable = InitHashtable().
Больше о библиотеках cJass тут.

Чтобы включить cJass назад, нужно поставить в этом меню первую галку.
Скриншот

Если cJass не используется, то включи vJass вот так.
Скриншот

Вот common.j и Blizzard.j для патча 1.26а, нужно их скопировать в папку jasshelper, заменяя имеющиеся, и поставить в атрибутах "Только чтение".
28

» WarCraft 3 / Не могу убрать способность у юнита. Продажа юнита.

Принятый ответ
Нужно не Sold Unit (проданный юнит), а Selling Unit (продающий юнит, продавец).
Ты отнимаешь способность у юнита, что был куплен.

А ещё, раз тебе известен продавец, то лучше использовать не Selling Unit, а сразу Druid of Horon 0018 <gen>.
28

» WarCraft 3 / Реально вернуть инициализацию в нормальный вид

Принятый ответ
так тебе в гуи надо?
Нет, у него нет открытой карты, скорее всего.
После оптимизатора стандартную инициализацию, можно вернуть?
А смысл? Так оно быстрее работает.
При добавлении новых триггеров делай по стандарту, а эти так оставь.
28

» WarCraft 3 / Вопрос по хеш таблице

Какой редактор используется? Если JNGP, то попробуй отключить cJass (сними первые 2 галки в этой вкладке).
28

» WarCraft 3 / missing return

С каких это пор параметры функции утекают?
xD
Там это и параметр, и локальная, параметр не заметил. Аргументы да, не утекают.
28

» WarCraft 3 / missing return

Попробуйте вот это.
Но тут ведь тоже в случае наличия противника будет утечка в u, ибо она не обнуляется (баг такой пока есть). Нужно использовать глобалку вместо локальной. Ну и мой вариант получше, там возвращается boolean, а один из вражеских юнитов записан в LastEnemyUnit.
exitwhen (B==true)  // просто exitwhen B.
28

» WarCraft 3 / Слишком агрессивные крипы

Не "Acquire" случаем?
Его и назвал Raised, если нажать Ctrl+D, то поле будет под названием acquire.
28

» WarCraft 3 / Слишком агрессивные крипы

а изменение радиуса агрессивности монстров в игровых константах не повлияло на этих варваров
Надо изменить радиус обнаружения цели у самого юнита.
28

» WarCraft 3 / Вопрос по хеш таблице

Undeclared function InitHashtableBJ
В папке с jasshelper есть файл Blizzard.j? Также выше совершенно верно заметили про присвоение переменной. В ГУИ надо буде после создания хеш-таблицы занести bj_LastCreatedHashtable в свою переменную.
28

» WarCraft 3 / Движение, jass

если заказы не исполняют в обычном ресурсе, есть всегда мой xgm.guru/p/blog-hatsumehate/218684
Тут дело в том, что он не может адекватно объяснить, что ему нужно.
28

» WarCraft 3 / missing return

exitwhen true выходит из цикла.
У тебя уже есть return который выходит из целой функции. Всё, что после return, просто игнорируется.
LainMikoroso:
Не использую глобалки
Тогда будут утечки.
28

» WarCraft 3 / Крашится игра при низких настройках из за этой модели

а в чём косяк-то был?
Текстура имела размер не кратный степени 2.

Я полагаю, что дело в битмапах, ведь именно они являются уменьшенными вариантами текстуры, каждый раз вдвое, потому и текстура должна иметь размер кратный 2.