23

» WarCraft 3 / Десинки при запуске карты

PT153, Как обычно, много противоречивой информации. Без наглядных тестов истину не найти.
23

» WarCraft 3 / Десинки при запуске карты

Принятый ответ
Деформация рельефа + использование нативки GetLocationZ() - популярная причина десинхронизации. Интересно, а какие способности вызывают деформацию рельефа, кроме Землетрясения и Волны силы?
23

» WarCraft 3 / Способность на кастомные криты

SirDragdord, Да. Это система для 1.26 JNGP. В рефордж это делается проще, чем в том примере.
23

» WarCraft 3 / Способность на кастомные криты

Привет. Вот, у меня есть тестовая карта с системой отлова урона. Сделал на ней лучницам способность Пристрелка (крит на x2 урона каждый третий выстрел). Сама пристрелка добавлена в триггер DSAdditionalAndCriticalDamage
Также на карте есть множество других примеров, например, поглощение урона, кастомные криты и прочее.
Загруженные файлы
23

» WarCraft 3 / Утекают ли не обнулённые переменные типа handle

quq_CCCP, Статьи чиьал. Переменные обнулял. Но у кого то когда то прочитал, что обнулять возвращаемые переменные и аргументы не нужно. А это не так (возвращаемые переменные нужно также обнулять, аргументы не нужно). Т..е. на моём примере очевидный косяк в этих всех старых базах инфы. Так как системы не было.

quq_CCCP, гуглится наверное всё. Но как гуглить то, о чём не подозреваешь. Или то, что ты думал знал как правильно, но оказывается что нет.
В Том и польза свежих статей в ленте. С актуализацией знаний, в том числе и по Lua.
23

» WarCraft 3 / Утекают ли не обнулённые переменные типа handle

quq_CCCP, Т.е. нужно искать эту разрозненную информацию на форумах. Отвечая на твой вопрос "к чему эти тесты", к тому, что это полезно хоть кому то именно в такой форме и именно сегодня.
23

» WarCraft 3 / Утекают ли не обнулённые переменные типа handle

Инфе то лет 20, к чему эти тесты, их уже лет 10 делали.
Мне было полезно. Не знал про неудаление из памяти локальной переменной даже при return . Об остальном инфу где-то уже получал.
23

» WarCraft 3 / Утекают ли не обнулённые переменные типа handle

PT153:
makkad, нет, зачем обнулять глобалку?
Незачем... вроде как. Но кто его знает, какие ещё "приколы" есть в движке. Хорошо, что ты сделал эти эксперименты.
23

» WarCraft 3 / Утекают ли не обнулённые переменные типа handle

PT153:
Хм.. подумал. Можно возвращать через глобалку в таком случае.
+
В этом коде утечек не будет (даже если не обнулять глобалку)?
23

» WarCraft 3 / Утекают ли не обнулённые переменные типа handle

Как жить с тем, что есть "Утечка локальной переменной, возвращающей значение"? В этом случае никак нельзя предотвратить утечку (кроме как фиктивно засунуть переменную в аргументы)?
Хм.. подумал. Можно возвращать через глобалку в таком случае.
globals
	location leak_location=null
endglobals

function NewLoc takes nothing returns location
    set leak_location = Location(0., 0.)
    return leak_location
endfunction

function ReturnCheck takes nothing returns nothing
    call RemoveLocation(NewLoc())
	set leak_location=null
endfunction
23

» Battle of Barons / Battle of Barons

x10azgmfx:
Не играйте в это, там тихий ужас 😛
А что именно не понравилось? Это мнение по скриншотам или вы в это сыграли?
23

» WarCraft 3 / Изменение текстуры земли (не из основного tileset) - Reforged HD

МрачныйВорон:
makkad, да но в том то и проблема, что при смене с SD на HD редактор выдает ошибку и закрывается. Открываешь заново, и в настройках опять SD. надо наверн перегрузить комп
пример

неа все равно перегрузил, не работает
Также, для тестирования, достаточно переключить режим графики во вкладке "Test map". Во вкладке "General" переключать не обязательно.
23

» WarCraft 3 / Изменение текстуры земли (не из основного tileset) - Reforged HD

МрачныйВорон, в battle.net лаунчере можно проверить целостность файлов игры и восстановить их. У меня были схожие проблемы когда используешь cascview и редактор одновременно.
23

» WarCraft 3 / Режим графики игрока SD или HD?

Не работает
Для себя использую следующий способ (на основе того, что звуковые файлы в SD и HD разные):
function IsHD takes nothing returns boolean
	return GetSoundFileDuration("sound\\buildings\\death\\ancientuprootdeath1.flac")==4631 //4631 - HD; 3250 - SD
endfunction
23

» WarCraft 3 / Как узнать версию графики в Warcraft 3 Reforged?

Для себя использую следующий способ (на основе того, что звуковые файлы в SD и HD разные):
function IsHD takes nothing returns boolean
	return GetSoundFileDuration("sound\\buildings\\death\\ancientuprootdeath1.flac")==4631 //4631 - HD; 3250 - SD
endfunction
23

» WarCraft 3 / Вопрос по аргументу функции StopSound и утечкам памяти

rsfghd:
Представь, что это вопрос, и переведи на русский
Kill when done - уничтожить по окончании, true/false - да/нет
По окончании чего? Ведь стоп уже оканчивает звук
23

» WarCraft 3 / Math library

Спасибо за натуральный логарифм в JASS. Бывает полезно написать функцию для нормально распределённой величины из равномерного распределения c заданным матожиданием и сигмой. Обычно для этого используется алгоритм Бокса-Мюллера, и для него как раз нужна функция натурального логарифма.
23

» WarCraft 3 / Рекомендации по успешным проектам

Популярность карты мало что вам даст (кроме разнообразия фидбека), но в погоне за ней вам придётся ограничивать свою творческую свободу, отодвигать на второй план свои предпочтения (например, облегчать игру, не смотря на то, что вы любите хардкор).
Лучше, делайте карту под себя и единомышленников. Чтобы вам самим было бы интересно играть в свой проект. Это в любом случае некоммерческая история.
23

» WarCraft 3 / По поводу "спама" в RPG-диалогах.

Принятый ответ
А не планируешь в будущем сделать поддержку нескольких героев, мультиплеер? Тогда лучше вариант с условием.
Для производительности карты особой разницы не будет, единичные проверки погоды не делают (главное за производительностью следить в циклах и короткопериодических таймерах),
Главное, когда будешь вписывать диалоги, сделай так, чтобы текст был максимально читаемым. В этом случае наверное проще делать отдельные триггеры с целыми версиями диалогов, чем ветвящиеся с условиями. Неветвящиеся диалоги проще редактировать и переводить; их можно потом отдать кому-то проверить. Текст из них проще занести в .wts файл.
Ещё отмечу такой глюк старого (1.26) варика, связанного с большим по размеру файла с текстами: xgm.guru/p/wc3/258604#lastpost . А именно, лаг при нажатии кнопки Задания (F9). Лечится оптимизацией.
23

» Legacy Of The Scourge: Prolongation / Legacy Of The Scourge: Prolongation

x10azgmfx, Это не ошибка, что проект опубликовали. Это политика поощрения творчества со стороны XGM. Что является его главной миссией.
Я сам начинал с подобных проектов (пусть и менее масштабных и амбициозных). Аналогично публиковал объявления о помощи идейщиков, ландшафтеров и.т.п. И хотя из той сумбурной совместной работы ничего не вышло, но это дало опыт для создания более серьёзного проекта.
23

» WarCraft 3 / Вызов новых функций версий 1.32+ из карты сделанной для 1.26

Принятый ответ
Да. Вызвать новые функции можно. Вот здесь подробнее, как это сделать, на примере задачи по установке preview: