Если да, то лучше экспортировать и импортировать файл строк через редактор.
В редакторе ландшафта Файл -> Экспортировать\Импортировать строки.
После импорта нужно сохранить карту. После сохранения новые строки можно будет увидеть в самом редакторе.
Если нет, то нужно убедится, что в вытащенном файле из архива используется кодировка UTF-8-BOM и перенос строк через CRLF. ЧТобы определить эти параметры, следует установить Notepad++, это улучшенный текстовый редактор. В нижнем правом углу окна программы будут видны эти параметры.
Я веду речь о .wts файле.
Игра поддерживает кириллицу? Английская версия не поддерживает. Необходимо сделать описанные тут действия (способ 2), чтобы поддерживала.
Купить и поставить лицензию, там ввели поддержку этого знака. А так советую такие функции.
function IsEven takes integer a returns boolean
return a / 2 * 2 == a
endfunction
function IsOdd takes integer a returns boolean
return a / 2 * 2 != a
endfunction
function IsDivisibleByN takes integer a, integer n returns boolean
return a / n * n == a
endfunction
function IsNotDivisibleByN takes integer a, integer n returns boolean
return a / n * n != a
endfunction
function ModuloN takes integer a, integer n returns integer
return a - a / n * n
endfunction
function ModuloNPos takes integer a, integer n returns integer
set a = a - a / n * n
if a < 0 then
return a + n
endif
return a
endfunction
Дело сколько в экономии, сколько в удобстве. Во время написания строки можно ошибиться, и ничто тебе об этом скажет, а такую ошибку можно долго искать. А с этой либой парсер скажет тебе, что такой переменной нет.
Про это и про "stop". Зачем забивать таблицу строк мусором? Юзай либу, ссылку на которую я дал, там перечислены все приказы в виде чисел, помнить надо лишь эквивалентную строку.
call IssueImmediateOrderById(u, ORDER_stop)
Можешь взять прикреплённую, тут префикс изменён и чуть больше приказов.
Bergi_Bear, а ты использовал GetUnitCurrentOrder()? По идее, должно вернуть id attackground, потому что приказ не мгновенный. Hate:
не совсем понятно чего вы добиваетесь
Как я понял, юнит через SetUnitX() и SetUnitY() передвигается каждые N секунд, пока атакует землю. Вскоре он оказывается от точки атаки дальше, чем его дальность атаки, но при этом юнит не прекращает атаковать.
Предположил тогда, что дело в долгой работе без полного отключения
Дело в том, что выход из системы не через выключение или перезагрузку, на 1607 почему ломает некоторые вещи. Например, цветовую тему системы, приходится каждый раз открывать "Темы" и выбирать нужную. На 1809 этот баг исправили.
Да, в этом случае обнулять и удалять не надо, потому что новая группа нигде не создаётся.
Что глобалки нужно обнулять.
Лично я обнуляю ячейки с структурах, потому что неизвестно, когда данная ячейка будет вновь использована. То есть, записанный хендл там может висеть долго. Чтобы он был освобождён, я обнуляю. А ячейки в структурах - глобальные массивы. Также нужно обнулять локальные массивы типа handle и его наследников.
А так согласен с DracoL1ch.
предполагается, что ты в глобалку один фиг будешь что-то записывать и неиспользуемый хендл и так, и так будет "обнулен".
Хотя нет, точки и группы создают же объект, а эта просто ссылается.
Нужно понимать разницу между переменной и самим объектом. Переменная просто содержит ссылку на объект, и занимает 32 бита (для варкарафта), объект же занимает столько, сколько ему нужно. Объект нужно либо самому удалять, либо игра сама это сделает (юнит умер и разложился). Глобалки тоже нужно обнулять, чтобы garbage collector (или аналог этого для вара) видел, что хендл объекта никому не нужен, и выдавал этот хендл новому объекту.
Кстати господа мемхакеры, а что насчет GetLocalTime()? которая как понял позволяет считывать время с компа, должно раз и навсегда решить проблему в генераторе случайных чисел... ах забыл, у нас же все карты делают под рефордж... простите
А у чему это было? Автор вопроса нигде не говорил, что использует мемхак. Darknessay:
Нашел. Галка не стоит.
Тогда понятия не имею. А с помощью чего делает случай выбор предмета?
» WarCraft 3 / Что не так со способностью "Aamk"
» WarCraft 3 / Перевод карты(другой вопрос)
Ред. PT153
» WarCraft 3 / Проблема с переводом карты
Если да, то лучше экспортировать и импортировать файл строк через редактор.
В редакторе ландшафта Файл -> Экспортировать\Импортировать строки.
После импорта нужно сохранить карту. После сохранения новые строки можно будет увидеть в самом редакторе.
Если нет, то нужно убедится, что в вытащенном файле из архива используется кодировка UTF-8-BOM и перенос строк через CRLF. ЧТобы определить эти параметры, следует установить Notepad++, это улучшенный текстовый редактор. В нижнем правом углу окна программы будут видны эти параметры.
Я веду речь о .wts файле.
» WarCraft 3 / Как проверить % 2
» WarCraft 3 / Дополнительный эффект при использовании предмета
Я вот не понял, массив зачем там. Так ты глянь способность зелья и добавь там эффект.
» WarCraft 3 / Не начнет ли лагать карта?
» WarCraft 3 / отлов завершения wirlwind'a
Ред. PT153
» WarCraft 3 / Как играть в WC3 Classic имея Reforged
» WarCraft 3 / Анимация при улучшении построек
» WarCraft 3 / Атака земли отлов приказа
Ред. PT153
» WarCraft 3 / Атака земли отлов приказа
» WarCraft 3 / Момент вылета снаряда при атаке
Ред. PT153
» WarCraft 3 / Атака земли отлов приказа
Ред. PT153
» WarCraft 3 / Атака земли отлов приказа
Hate:
» WarCraft 3 / Анимация при улучшении построек
» WarCraft 3 / Момент вылета снаряда при атаке
» WarCraft 3 / Смертоносный рельеф :D
» WarCraft 3 / Как установить бота в пустой слот?
» WarCraft 3 / Очистка данных типа real или integer?
Также нужно обнулять локальные массивы типа handle и его наследников.
А так согласен с DracoL1ch.
» WarCraft 3 / Очистка данных типа real или integer?
» WarCraft 3 / Как отследить юнита к которому подходят?
Ред. PT153
» WarCraft 3 / Очистка данных типа real или integer?
» WarCraft 3 / Рандом дроп итемов
Darknessay:
Ред. PT153
» WarCraft 3 / Как отключить триггерно атаку?
Bergi_Bear:
» WarCraft 3 / Очистка данных типа real или integer?