Всем доброго времени суток! Недавно я натолкнулся на парочку апдейтов (апдейт AdicHelper от августа 2011 и JassHelper от февраля 2012) и решил закинуть их в сборку от Драгона. Программы оставил на месте, просто привел в порядок оба парсера, а так же перевел меню дополнений (актуально для незнающих). Также добавлена подсветка и автодополнение некоторых ключевых слов (полный список здесь). Особых и глобальных апдейтов, как видите, нет, но тем, кто пишет на cJass / vJass, это понадобится. Ознакомиться со списком изменений вы можете здесь: JassHelper и AdicHelper. vJass я не юзаю, а вот о новых возможностях Адика доложу примером:
private group gMain = CreateGroup() private nothing Pick(real x, real y) { group g = CreateGroup() for (unit u; UnitsInRange(x, y, 256.) use g) { if (!IsUnitInGroup (u, gMain)) { GroupAddUnit(gMain, u) Pick(GetUnitX(u), GetUnitY(u)) } } DestroyGroup(g) }
Бтв, такой цикл[code=jass]do { unit target = FirstOfGroup(g) exitwhen target == null //code }[/code]теперь не пашет - его Адик в кривой вайл трансформирует. Но новые фичи с циклом for (like стандартный Си-обработчик) перебивают эту фигню.
Ну и напоследок для "нубов" (не люблю это слово, всем без обид) - есть функция автоматической очистки локалок, радуемся.
Добавлено (02 Март 2012, 14:23:25) --------------------------------------------- Особенно порадовало упрощенное создание Инита через callback (ну в примере видно)
Добавлено (02 Март 2012, 14:24:06) --------------------------------------------- SirNikolas, недооформленно
Нигде. Коллбэк просто транслируется в инитфунку либы или скопа, создавая локальный триггер и добавляя ему действие, код которого находился в блоке коллбэка
тобишь он не переименовывает set tt=null на set cjlocgn_00000000=null пофиксите, или я старый jngp скачаю лучше, ато привык же уже расставлять переменные прямо в коде
И мне интересно, как я должен фиксить? Я асм не знаю. Но флюш локалс тебя спасет
Добавлено (03 Апрель 2012, 15:48:15) --------------------------------------------- Бтв, при наличии соответствующей галочки в меню cJass эта директива не нужна. Но это к слову
Ну вот, я же говорил, что флаш локалз глючит. Она не обнуляет тексттэги.
Hexing, а вообще, если сравнивать с Си, в твоем коде под переменную tt память бы выделялась и освобождалась 10 раз. Поэтому лучше приучатся не объявлять переменные в циклах.