Сделай спел на основе канала, при применении создаёшь руну с дождём и даёшь герою, ИЛИ создаёшь даммика и приказываешь ему кастовать дождь, но с руной всё же лучше.
вызов функции пишется до её описания\содания (видел много раз, мб ошибаюсь и не так понял)
Это не так, такое только может быть в методах структур vJass, и это чревато более медленным вызовом.
Нельзя вызвать функцию через call, если она не была определена ранее. Либо через триггер, либо через ExecuteFunc, либо сахаром от vJass. Так что тут ты ошибаешься.
А вообще в ООП языках (Java, C#, Eiffel) порядок функций (фич, методов, называйте как хотите) не важен. ssbbssc:
в джазе же блоки непонятно (лично мне) в каком порядке
Потому что таковых блоков вообще нет, данные конструкции в GUI это попросту упрощение. Я могу хоть все действия в самом событии прописать, если мне будет достаточно GetFilterUnit(), но обычно это не так.
Если просто сконвертировать GUI в JASS, то внизу будет создание триггера, посередине действия, а вверху условия и доп. функции от GUI.
Более того, там даже подписано (по-английски, разумеется), что есть действия, условия и инициализация триггера (в последнем также регистрируются события).
Названия нативок и бж интуитивно понятны, если не понятны, то в помощь Blizzard.j и common.j, там есть комментарии к некоторым функциям. В крайнем случае спрашиваешь на этом форуме.
Если больше нравится C style (или не нравится синтаксис JASS), то нужно прочитать мануал по cJass и писать на нём.
Если нужно ООП и куча синтаксического сахара, читаешь мануал по vJass, на XGM есть достойный перевод.
Тогда cJass пока стоит отключить, там с ним есть некоторые непонятки (для это нужно снять только 2 первые галки).
Отключи cJass и замени в папке jasshelper файл pjass.exe на этот.
Убедись, что включён UMSWE. Если нет, то включи и перезапусти редактор.
После всех этих действий сохрани карту. Если ошибок нет, то нажми проверить карту (Ctrl+F9). Если есть ошибки, то скрины ошибок сюда.
Через полгода-год после выхода игры, смысл делать скидку на ПРЕДЗАКАЗ нет. Одно дело, когда ты купил игру, а через полгода она стала дешевле -- ты-то мог играть в неё полгода. А тут играть не во что! Ну и что за Battele.net...
Русификатор триггеров стоит? Если да, его нужно снести и поставить FNWE. Camby:
include "cj_antibj_base.j" ничего не дала
А cJass при этом был включён? С отключённым cJass это вообще ничего не делает.
Ещё раз. Карта полностью на GUI? Если да, то cJass стоит отключить. Если нет, то используется ли cJass в написании кода карты?
Включён ли vJass, как я показал?
Будь добр, ответь на все эти вопросы. Camby:
Кстати, пробовал стоковый редактор от варика 1.29, там в одной из карт смог создать хеш таблицу. Правда нужная карта не открывается из за "функция триггера отсутствует в базе данных"
Потому что в 1.29 нет UMSWE, который добавляет доп. функции в GUI.
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. Если локальная другого типа, или это аргумент функции, или это глобальная, то утечек не будет.
Это, кстати, обещают исправить в будущих патчах.
Если снять галки, то ошибки при сохранении нет. Правда карта так не запускается. Просто при выборе этой карте в игре выкидывает обратно в выбор карт
А карта использует 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, заменяя имеющиеся, и поставить в атрибутах "Только чтение".
Но тут ведь тоже в случае наличия противника будет утечка в u, ибо она не обнуляется (баг такой пока есть). Нужно использовать глобалку вместо локальной. Ну и мой вариант получше, там возвращается boolean, а один из вражеских юнитов записан в LastEnemyUnit.
В папке с jasshelper есть файл Blizzard.j? Также выше совершенно верно заметили про присвоение переменной. В ГУИ надо буде после создания хеш-таблицы занести bj_LastCreatedHashtable в свою переменную.
Я полагаю, что дело в битмапах, ведь именно они являются уменьшенными вариантами текстуры, каждый раз вдвое, потому и текстура должна иметь размер кратный 2.
Ред. PT153
» WarCraft 3 / Lua
» WarCraft 3 / Свиток регенерации с отрицательным восстановлением
» WarCraft 3 / Lua
Lua так-то будет полезен, если заниматься программированием вне вара, он не игрушечный, как JASS.
Ред. PT153
» WarCraft 3 / Что делать?
Нельзя вызвать функцию через call, если она не была определена ранее. Либо через триггер, либо через ExecuteFunc, либо сахаром от vJass. Так что тут ты ошибаешься.
А вообще в ООП языках (Java, C#, Eiffel) порядок функций (фич, методов, называйте как хотите) не важен.
ssbbssc:
Я могу хоть все действия в самом событии прописать, если мне будет достаточно GetFilterUnit(), но обычно это не так.
Если просто сконвертировать GUI в JASS, то внизу будет создание триггера, посередине действия, а вверху условия и доп. функции от GUI.
Более того, там даже подписано (по-английски, разумеется), что есть действия, условия и инициализация триггера (в последнем также регистрируются события).
Названия нативок и бж интуитивно понятны, если не понятны, то в помощь Blizzard.j и common.j, там есть комментарии к некоторым функциям. В крайнем случае спрашиваешь на этом форуме.
Если больше нравится C style (или не нравится синтаксис JASS), то нужно прочитать мануал по cJass и писать на нём.
Если нужно ООП и куча синтаксического сахара, читаешь мануал по vJass, на XGM есть достойный перевод.
» WarCraft 3 / Вопрос по хеш таблице
Русская версия.
Английская версия.
» WarCraft 3 / Вопрос по хеш таблице
Отключи cJass и замени в папке jasshelper файл pjass.exe на этот.
Убедись, что включён UMSWE. Если нет, то включи и перезапусти редактор.
После всех этих действий сохрани карту. Если ошибок нет, то нажми проверить карту (Ctrl+F9). Если есть ошибки, то скрины ошибок сюда.
» WarCraft 3 / Что делать?
» WarCraft 3 / Когда бываю скидки на Battele.net?
Ну и что за Battele.net...
» WarCraft 3 / Какая последняя версия warcraft 3 на данный момент?
Заходим на официальный сайт, покупаем игру и скачиваем лаунчер, он и поставит последнюю версию.
Ред. PT153
» WarCraft 3 / Что делать?
А потом статьи на сайте прочитать про Jass.
Ред. PT153
» WarCraft 3 / Вопрос по хеш таблице
Camby:
Включён ли vJass, как я показал?
Будь добр, ответь на все эти вопросы.
Camby:
» WarCraft 3 / Свиток регенерации с отрицательным восстановлением
» WarCraft 3 / missing return
Это, кстати, обещают исправить в будущих патчах.
Ред. PT153
» WarCraft 3 / Вопрос по хеш таблице
В этой библиотеке есть замены всех плохие вещи из Blizzard.j, в частности call InitHashtableBJ() заменится на bj_lastCreatedHashtable = InitHashtable().
Больше о библиотеках cJass тут.
Чтобы включить cJass назад, нужно поставить в этом меню первую галку.
Ред. PT153
» WarCraft 3 / Не могу убрать способность у юнита. Продажа юнита.
Ты отнимаешь способность у юнита, что был куплен.
» WarCraft 3 / Реально вернуть инициализацию в нормальный вид
При добавлении новых триггеров делай по стандарту, а эти так оставь.
» WarCraft 3 / Вопрос по хеш таблице
Ред. PT153
» WarCraft 3 / missing return
Там это и параметр, и локальная, параметр не заметил. Аргументы да, не утекают.
» WarCraft 3 / missing return
» WarCraft 3 / Слишком агрессивные крипы
» WarCraft 3 / Слишком агрессивные крипы
» WarCraft 3 / Вопрос по хеш таблице
» WarCraft 3 / Движение, jass
» WarCraft 3 / missing return
LainMikoroso:
» WarCraft 3 / Крашится игра при низких настройках из за этой модели