27

» WarCraft 3 / Надо ли очищать группу перед уничтожением

не надо. основные утечки: это объекты и необнуленные локалки. группа эта как автобус, а пассажиры автобуса - юниты, при удалении удаляешь автобус с пассажирами, если ли смысл чистить группу перед удалением тогда? это же не спасательная операция или это вместо автобуса можно представить как таблицу. по идее нативка Destroy сама удалять и подчищать
27

» WarCraft 3 / Memory Hack: GetUnitAttackSpeed( )

Скорость атаки - задержка между первой атакой и второй. Эти проценты прицепляют к формуле
тема
В процентах же конечно.
27

» WarCraft 3 / Как правильно установить текстурку?

Принятый ответ
узнать путь расположения текстуры (записано в импортируемой модели, если вы хотите поменять в существуемой стандартной модели вара, то тоже нужно узнать путь и заменить: то есть импортировать текстуру по этому пути). В этом поможет mpq-архив и прога работающая с моделью
приблизительно рассказываю
  1. открываете РО юнитов, ищите нужного юнита, смотрите что за модель (там обычно прописан путь)
  2. с помощью mpq-архиватора (проги: mpqmaster или Ladik's MPQ Editor) находите эту модель и вытаскиваете из архива вара (возможно просмотреть можно напрямую и с модельными прогами (War3ModelEditor и MdlVis) - неизвестно мне)
  3. в программах, работающих с моделями (War3ModelEditor и MdlVis), смотрите какие текстуры используются, по какому пути лежат.
  4. заменяете по этому же пути. Замена одной текстуры может быть повлиять и на другие модели.
Примечание: В случае с импортной моделью, обычно авторы дают модели и текстуры, текстовик приклепляют с этим, в нем указывают путь текстур, нужные для модели. Если нет там такого, используйте проги War3ModelEditor и MdlVis, чтоб посмотреть (можно даже самому изменить). Но и не редко, бывает, что текстура в модели есть, или использует стандартную варкрафтовскую, так что не нужно ничего импортировать и указывать пути. Кстати есть еще прога zmodeler-2.2.3-build971, скачал, у себя лежит, не пользовался
27

» WarCraft 3 / Туман войны

Принятый ответ
есть в триггерах раздел "Видимость". Есть черная маска (Black Mask) и туман войны (Fog of war). Черная маска заграждает обзор юнита черным, на мини-карте отображается, открыть можно если войти в нее юнитом, но разведанные участки ранее обратно не покрывается черной маской, остается туман. Туман - это тоже заграждение, но здесь оставляет разведанные участки, можем видеть какие здания поставил и прочее.
Можно периодично включать и выключать эти настройки (EnableBlackMask/DisableBlackMask или EnableWarOfFog/DisableWarOfFog), но получается не очень красиво (юниты пропадают на секунду). Мгновенно туман или маска не может появится и тут же сразу же исчезнуть, одновременно с этим пропадают юниты, не сами юниты, а их изображение на секунду (типа баг).
Для того, чтобы ранее разведанные участки покрывали туманом войны или черной маской, достаточно создать модификатор видимости один раз на всю игру. можно без Enable - в скрине не нужное действие.
модификатор видимости можно выключить (disable), так и включить (enable). не нужно плодить. единственное, что нужно ли для каждого 12 игроков создавать свой модификатор или через гетлокалплеер заработает без десинка? по идее можно ли сделать, чтоб каждый игрок будет на своей машине видеть разные участки?
ссылка
единственное вопрос, как сделать черную маску настолько темной (или как скрыть мини-карту), что даже не видно будет деревьев и прочее. не помню уже как это делал. вспомнил. Сценарий>>Параметры Карты>>Скрытые области частично видны, снимаем галочку. И все, мини-карта черная, и сама карта. ссылка
есть система реалистичного обзора на jass
Загруженные файлы
27

» WarCraft 3 / Как задетектить число в сообщении?

может поможет эта тема
английские буквы принимает как за 1 символ, русские буквы как за 2 символа принимает
27

» WarCraft 3 / Едкое дыхание

DemonoiD, да ничего она не делает, по зданиям, не зданиям проверял. Видимо и правду убрали в ранних версиях. Теперь это чисто визуалка.Только можно этим скиллом модель анимации снаряда указать. Поменяет на указанную. Даешь лучнице, стреляет не стрелами, а чем-то другим. Все конец.
27

» WarCraft 3 / Новые нативные функции в 1.29

awesomesk1ll, да ладно. уж не страшно, это бж-функция, самому можно написать такую
27

» WarCraft 3 / Новые нативные функции в 1.29

awesomesk1ll, ModuloInteger - это остаток от деления, что не так то? что добавили там? эта функция очень полезна
27

» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3

А можно ли сделать бафф отрицательным или положительным? Например, бафф от от скилла "Рев" друида. По идее это положительный бафф, а если сделать дебафф (там отрицательный реген, мана, защита, урон), то все равно это дебаффом то не будет. У меня вот есть автокастовый скилл дриады "Рассеять чары", вот она рассеивает эти бафы с врагов. Глупо.
27

» WarCraft 3 / Помогите убрать утечку в триггерном заклинании

Принятый ответ
Alexey103, а у меня работает, проверял. тут ошибка в названии переменной, скорее всего, зачем ты задал такое. Мб оно слишком длинное и через нижнее подчеркивание? и путь модель указывают в jass не через один обратный слэш "/", а через двойной слэш "//". Это на гуи один, на джаз два слэша
27

» WarCraft 3 / Помогите убрать утечку в триггерном заклинании

Maniac_91, Хм, посмотрю, хотя не вижу разницы между удалением джассом и обычным.
ну есть предположение, что переменная "последний созданный спецэффект" перезаписывается, и возможно из-за этого что-то не до конца работает. По идее так не должно быть. тогда либо локалка либо сразу удаляй как выше сказали
ForGroup - цикл, вызывает функцию.
но лучше сразу удаляй
Ну так если там не обнуляются локалки то как обнулить?
необнуленная локалка приводит к утечке
Загруженные файлы
27

» WarCraft 3 / Помогите убрать утечку в триггерном заклинании

утечки: Units within 300 pos - бж функция, если раскрыть ее, то можно увидеть как там не обнуляются локалки
по поводу спецэффектов - попробуй воткнуть внутрь цикла ForGroup (на гуи Pick Every unit in group and do (action) ) локалки. Тогда точно все будут удаляться. Еще точнее прописать CS
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl",GetEnumUnit(),"overhead"))
27

» WarCraft 3 / Работа с w3o

Cancel, в генерированной карте, открываешь mpq-архиватором карту, и смотришь slk и тексты. Юниты и абилки например в папке Units находятся и др. Обратно в w3o преобразует программа w3map Restorer (но не всегда работает, в сложных картах типа доты пишет: "не удалось извлечь файлы", и дальше не может, все. Хотя нет, также и простые не работают тоже пишет: "не удалось извлечь файлы" )
27

» WarCraft 3 / Работа с w3o

Cancel, инструкция? там нужно правильные настройки ставить. так тоже пробовал, оказалось, что там в одной из папок внутри папки Widgitizer-а отредактированную карту сохраняет. Короче смотри в папке Widgitizer-а. Папка называется Output, в ней будет все сохраняться
там есть инструкция, найти текстовик, правда на английском
  1. Запустите виджетайзер, нажмите кнопку «Добавить» и найдите карту, которую вы хотите виджетировать. Затем карта появится в списке исходных файлов.
  2. Теперь вам нужно будет решить, какие типы объектов вы хотите конвертировать, как правило, вы захотите конвертировать все типы объектов, просто активировать соответствующие флажки (Units добавляют таблицы slk и тексты юнитов, Items добавляют таблицы slk и тексты предметов и др.).
  3. Теперь у нас есть некоторые дополнительные настройки.
-> Remove Unused Objects (Удалить неиспользуемые объекты): эти семь флажков позволяют указать, какие неиспользуемые объекты будут удалены из выходных файлов, отключение этих параметров оставляет стандартные объекты без изменении, короче так и хранятся в исходных файлах
-> Keep Placed Objects (Сохранить размещенные на карте объекты): этот флажок определяет, все ли элементы: units, doodads и destructables, размещенные на карте, будут сохранены, а также единицы и элементы на случайных таблицах будут сохранены, если этот параметр включен
-> Keep Trigger Referenced Objects (Сохранить связь между триггерами и объектами): этот флажок определяет, будут ли объекты, на которые ссылаются где-то в триггере карты будут сохранены, а также технические элементы, которые изменить их доступность на экране свойств карты будут сохранены, а также
-> Keep Referenced Objects (Сохранить ссылочные объекты): этот флажок определяет, проверяются ли все сохраненные объекты для ссылок к другим объектам, они будут сохранены, если этот параметр включен, это вариант часто приводит к сохранению целой технологии расы не понял что пишут
-> Ignore Basic References (Игнорировать основные ссылки): в ini-файле этого инструмента вы найдете основной список исключений с Идентификаторы объектов, которые не следует удалять (например, перемещение и атака способности и крестьянская единица), теперь, если включен второй флажок, объекты, на которые ссылаются эти объекты (например, все построенные здания крестьянином) также будет сохранено, вы, вероятно, этого не хотите, так что вы может активировать эту опцию, чтобы игнорировать те ссылки основных объектов не понял что пишут
-> Clean Trigger Strings (Очистить строки из триггеров): множество строк, таких как имена элементов, суффиксы редактора, подсказки и т. д. сохраняются в WTS-файле карты, во время преобразования ссылки эти строки будут заменены фактическими строками, в большинстве случаев запись строки в файле WTS будет устаревшей, поэтому может быть удаляется, вот что делает этот флажок (только если одна и та же строка повторно используется в других местах, например, в скрипте карты, это может вызвать проблемы)
-> Clean SLK Tables (Очистить slk-таблицы): удаляет необязательные данные из таблиц SLK, таких как комментарии, бета-флаги и дефисы, и удалит комментарии и пустые строки из полученного TXT-файлы, если это не проверено, будут сохранены комментарии и комментарии, которые начало с :: будет добавлено в конец каждого файла
-> Custom Keys Resistant (отменить изменения в Custom Keys.txt): гарантирует, что результирующая карта будет работать с файлами CustomKeys.txt точно так же, как исходная карта (что означает, что ваши изменения будут отменены возможные файлы CustomKeys.txt)
-> Reference Logging: создаст файл ReferenceLog.txt в выходной папке, где вы можете почему некоторые объекты не очищаются
  1. Итак, теперь мы готовы нажать кнопку компиляции, чтобы начать конвертацию.
Будьте терпеливы с инструментом, особенно на больших картах, конверсия может занять довольно много времени (до 5 минут на старых процессорах или больших картах, обычно около 1 минуты).
  1. Найдите сгенерированные файлы в папке Output \ виджета. Вы, скорее всего, будете только интересуется созданным файлом карты. Он будет иметь то же имя, что и исходная карта. Чтобы открыть преобразованную карту в редакторе World без ошибок (и иметь возможность редактировать ее после конверсия) запустите редактор сгенерированным файлом Editor Patch.exe.

    Для модов и итоговых преобразований он также скомпилирует ROC Patch.exe и файл TFT Patch.exe. Они могут использоваться, чтобы не импортировать скомпилированные файлы в каждую из ваших карт. Если вы собираетесь
    для использования такого патча обязательно удалите все данные пользовательских объектов с карт, которые вы используете на нем (w3u, w3t, w3b, w3d, w3a, w3h, w3q). Скрытая опция конвертирования постоянных игр и игры
    настройки интерфейса могут быть активированы с помощью констант ключа INI.
Вы можете заставить Виджеты автоматически заменять идентификатор ваших настроенных объектов на идентификатор твой выбор. Поэтому измените имя объекта в редакторе объектов на формат Имя :: newid (fex Blast :: Abla изменит идентификатор способности от A000 до Abla). После id был заменен, добавленный идентификатор будет удален из имени объекта.
27

» WarCraft 3 / Патч 1.29 вышел на основных серверах

ScopteRectuS, нет, в старой карте не может быть больше 12 слотов.
Тем не менее, войска нейтрала перестанут быть нейтральными и станут войсками неактивного игрока, что может что-нибудь сломать
Если в старой 12 игроков, то теперь стало 24. Действительно может сломать карту. я думаю, может быть так, что.в новых картах должна стоять галочка "Обновление 1.29" - Да. И тогда ничего не собьет. Они такое делали. Недавно, просматривал скилл "Похищение маны", там написано похищает ману у врага, а еще передает ее союзнику. Меня смутило, что может передавать. Пока на форуме на нашел ответ. В параметрах где-то галочка
27

» WarCraft 3 / Патч 1.29 вышел на основных серверах

а чем большинству не нравится интерфейс-то? мало что изменили. мне кажется, что стал покрасивее что ли с нижними боковинками, необычным от стандарта (интерфейс хуманов стал больше нравится с кирпичиками, а у орков что-то наоборот, у эльфов с андедами не видал пока) , хотя обзор карты закрывает (мб прозрачными слегка сделать?).
27

» WarCraft 3 / Патч 1.29 вышел на основных серверах

Clamp, а нейтральные игроки где? они останутся? будет 27 или 24? и почему цвета у последних игроков белые (а все понял, типа наблюдатели)
Лимит на размеры карты увеличен до 480 x 480.
помню была проблема_с_порчей пришлось делать костыль как меллиса писал, интересно исправили?
27

» WarCraft 3 / Оптимизация: Количество событий

Vadik29, если в хэше ничего не сохранено, то оно вернет для хэндлов = null или для чисел = ноль. возможно и ничего не случится.
27

» WarCraft 3 / Патч 1.29 вышел на основных серверах

а что такое
SetSpecialEffectPitch              takes effect whichEffect, real pitch returns nothing
SetSpecialEffectRoll               takes effect whichEffect, real roll returns nothing
SetSpecialEffectYaw                takes effect whichEffect, real yaw returns nothing
ну это классно. думаю по-тихонечко добавлять будут. Не нравится что крит изменили
27

» WarCraft 3 / Оптимизация: Количество событий

посмотри здесь тему, примеры
Используйте хэш-таблицу. С помощью нее делаете базу данных при инициализации. В ней сохраняете строку, название функции. Вызываете через ExecuteFunc. Выводы какие:
  1. не надо перебирать if-ами условия, проще напрямую
  2. можно было в качестве ключа строки использовать, но быстрее было бы использовать числа, что есть у хэш-таблицы.
  3. Используйте фильтр boolexpr для отсеивания тех, на кого событие не должно работать. см. внизу нативку, вместо null ставите условие
TriggerRegisterPlayerUnitEvent(trig, whichPlayer, whichEvent, null)
Что тут не понятно то?
пример ExecuteFunc
function ASWE takes nothing returns nothing
действие........
endfunction
call ExecuteFunc("ASWE")
27

» WarCraft 3 / Проверка заполненности логического массива

Alexey103, тогда по-другому делать надо. Не до конца понимаю. У тебя скрещивание итемов или просто подборка итемов. Итемы случайны или что. Мог бы и сделать, но что-то сегодня лень.
27

» WarCraft 3 / Проверка заполненности логического массива

Alexey103, все зависит от того, что вы пытаетесь сделать. Зачем тебе
Нужно получить такую цепочку "table от 1 до Х = да" в условии
переменная (Integer A) используется для циклов, может не подойти так как используется где-нибудь в другом триггере, и значение меняется. Тебе точно не подойдет, не говорил прямо использовал именно ее (а скорее какую глобалку). Неизвестно. что вы пытаетесь сделать (что за table). Мб тебе номер игрока нужен вместо этой глобалки, скорее всего (вместо Integer A укажи номер игрока, если это то, что нужно),