Попробуй вывести эту строку, набранную в джассе...
А потом попробуй её же, но с удвоенными '\'.
Просто этот символ в строке - спецсимвол. Читай правила работы со строками.
Весьма мягко ещё сказано.
Для подобной оптимизации существуют наработки. Их автор должен применять сознательно.
Попытки оптимизатора сделать это автоматически будут натыкаться на 1000 мелочей типа сохранения или определения хэндла триггера, пересекающихся условий, неоднократно применяемых функций и т.д.
у меня вопрос по оптимизатору - а является ли эта штука супер чудоштукой?))))
поясню немного:
допустим есть в карте несколько триггерных спелов, разумеется они регистрируются эквивалентными событиями с разными условиями
дак супероптимизатор объединяет их события в один триггер - где будет одна функция GetSpellAbilityId() и кучка ифоф?))
ну и соответственно с другими событиями...
если нет, то можно считать это предложением)
Такого делать нельзя!
Автор карты может явно использовать подобные системы (они есть), но оптимизатор не может.
Разные триггеры могут использовать по нескольку разных событий, разные функции - фильтры, на их хэндлы могут быть привязаны разные данные. Всего этого просто так не учесть.
Мне это нужно было, чтобы восстановить возможности zInc частично, так скажем. Все равно неприятный. Надо исправлять (догадываюсь что лаг изза main и конфиг)
narayan, Это типа "функция - ничто, юнит - всё" ?
Ну да. Делает из кода такую кашу, что cJass вешается. Хотя надо, конечно выдавать ошибку.
Нож - инструмент опасный. Можно и порезаться.
После такого, даже если в пользовательском коде всё хорошо (да хоть пусто), близовские функции рушатся.
Van_Damm, "Затыкаемся" - значит АдикХелпер зависает!
И с чего это твой апдейтер стал распознаваться трояном?
Кстати, в момент зависания (на функции Zlo) опять вылез антивирус.
ADOLF, Я понимаю, что вперёд Векса анонимные функции делать чревато, но может быть всё просто:
Выносим анонимную функцию перед текущей, даём ей уникальное имя, подставляем это имя в выражение. - Всё. Этого достаточно.
Векс, правда, хочет , чтобы внутрь передавались локалки, чтобы использовались интерфейсы, ещё что-то. Но уже этого будет достаточно для начала.
Теоретически можно проверять все ExecuteFunc на наличие переменных, и если нет ни одной такой функции с переменными в аргументах, невызываемые функции удалять.
» WarCraft 3 / cJass - дополнение к языку JASS
Van_Damm, спишь?
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / cJass - дополнение к языку JASS
3-4 пропущенные иногда буквы сильно не помогут.
» WarCraft 3 / cJass - дополнение к языку JASS
Хотя Адольф кое что всё таки во внешние файлы вынес.
Я имею в виду библиотеку ptintf.
» WarCraft 3 / cJass - дополнение к языку JASS
Зря ты всё в асме делаешь.
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / cJass - дополнение к языку JASS
Или что ты хочешь, и в какой форме?
Если не найдём, то для тебя сделаем. :)
» WarCraft 3 / [vJass] Создание moving system
» WarCraft 3 / [vJass] Создание moving system
Вижу, по поводу сухого трения ты своё мнение не изменил. Жаль.
» WarCraft 3 / cJass - дополнение к языку JASS
А потом попробуй её же, но с удвоенными '\'.
Просто этот символ в строке - спецсимвол. Читай правила работы со строками.
» WarCraft 3 / cJass - дополнение к языку JASS
Для подобной оптимизации существуют наработки. Их автор должен применять сознательно.
Попытки оптимизатора сделать это автоматически будут натыкаться на 1000 мелочей типа сохранения или определения хэндла триггера, пересекающихся условий, неоднократно применяемых функций и т.д.
» WarCraft 3 / cJass - дополнение к языку JASS
Автор карты может явно использовать подобные системы (они есть), но оптимизатор не может.
Разные триггеры могут использовать по нескольку разных событий, разные функции - фильтры, на их хэндлы могут быть привязаны разные данные. Всего этого просто так не учесть.
» WarCraft 3 / cJass - дополнение к языку JASS
Ну да. Делает из кода такую кашу, что cJass вешается. Хотя надо, конечно выдавать ошибку.
Нож - инструмент опасный. Можно и порезаться.
» WarCraft 3 / cJass - дополнение к языку JASS
И с чего это твой апдейтер стал распознаваться трояном?
Кстати, в момент зависания (на функции Zlo) опять вылез антивирус.
Векс, правда, хочет , чтобы внутрь передавались локалки, чтобы использовались интерфейсы, ещё что-то. Но уже этого будет достаточно для начала.
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / cJass - дополнение к языку JASS
Начались дефайны - ждём закрытие endlibrary
определение переменной
return GetWidgetLife(GetFilterUnit())>.405 and (not IsUnitAlly(GetFilterUnit(), dplayer))
}
» WarCraft 3 / cJass - дополнение к языку JASS
У Адика есть enum
» WarCraft 3 / cJass - дополнение к языку JASS
Ченджлог не правлен.
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / cJass - дополнение к языку JASS
:)
» WarCraft 3 / Библиотека функций
Вывод: свою разметку сделать можно, но придётся делать и свой массив цветов.
» WarCraft 3 / cJass - дополнение к языку JASS
Кстати, а почему отказался от варианта i++ => (++i-1) ?
» WarCraft 3 / Библиотека функций
Явно в инклуде где-то есть определение цвета по игроку, но я пока не докопался, где.
» WarCraft 3 / Библиотека функций