23

» WarCraft 3 / Оптимальна ли реализация?

PT153:
makkad, убедил. TriggerClearActions и ResetTrigger не нужно, это ничего не удаляет.
Да. И это тоже проверялось.
23

» WarCraft 3 / Game data set. Разница между 1.07 и 1.26

PT153:
Карта писалась не на 1.07 же
У тебя изначально стоял дефолт, если карта не мили. А потому ничего не изменится.
Нет. Проблема в том, что стоял не дефолт. Стояла последняя версия. Поэтому и менялись вещи от патча к патчу.
23

» WarCraft 3 / Game data set. Разница между 1.07 и 1.26

PT153:
makkad, там есть 2 варианта - последний патч и 1.07 (1.01). Дефолт говорит, что он возмёт один из двух вариантов в зависимости от статуса карты.
Так нельзя поступать. Карта писалась не на 1.07 же. Если поставить дефолт не думая, то очень многое поменяется. Нужно знать, что именно.
Главный вопрос, как узнать эти изменения. Додумался пока только делать скриншоты всех страниц всех объектов из РО. Сначала на 1.26, потом те же скриншоты на 1.07. Вставлять их слоями в фотошоп, а подсвечивать разницу между слоями.
В РО почти 1000 объектов, таким можно заниматься месяц. Вопрос, можно ли достать эти данные файлом и сравнить напрямую, без скриншотов.

PT153, Ладно. Попробую поставить Default и скажу, сработало ли.

PT153, Поставив Default. Всё просто меняется на 1.07. Этот вариант не подходит в лоб.
23

» WarCraft 3 / Оптимальна ли реализация?

PT153, Разница в утечке памяти. Вот тестовая карта. А удалять - это больше строчек на код тратить, конкретно в этом случае. Если sleep не нужен.
Загруженные файлы
23

» WarCraft 3 / Оптимальна ли реализация?

map_maiker, Filter() - в твоём случае позволит подставить вместо функции, которая должна возвратить boolean, подставить функцию, которая возвращает nothing
23

» WarCraft 3 / Оптимальна ли реализация?

local code c=function Trig_attacking_Actions
call TriggerAddCondition( gg_trg_attacking, Filter(c) )
23

» WarCraft 3 / Оптимальна ли реализация?

Могу сказать, что TriggerAddAction вызывает утечку памяти, если отдельно его не сохранять и позже удалять. Лучше через TriggerAddCondition вызывать действия триггера.
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 и редактор одновременно.