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:
23

» WarCraft 3 / Картинка-preview для Reforged (1.32+) и Classic (1.26+) разом

Bergi_Bear:
Полезно, я как-то давно спрашивал, как ты это делаешь (при комбинировании версий), ты ответил но я ничего не понял, а теперь как понял...
Да. Решил тут всё подробно расписать. Надеюсь, будет кому полезно. Вроде ещё не мало карт выкладываются с заявленной обратной совместимостью.
23

» WarCraft 3 / Как использовать Preload для устранения лага при нажатии F9

quq_CCCP:
makkad, ты удивишся сколько всего грузится, звуки открытия, кнопки, текстура интерфейса, у абилок грузятся все описания, даже если ты их не видишь, хоткеи, хренокеи и все подряд. Посмотрев подробно что грузит игра у тебя будет возможность загрузить это заранее, до игры, чтобы игроки лага не почуяли а карта грузилась чуть дольше.
Да. Это я знаю. Но проведя эксперемент, убедился, что лаг в этом конкретном случае вызвает только файл со строками. Чем больше файл - тем больше лаг. От остального он не зависит.
23

» WarCraft 3 / Как использовать Preload для устранения лага при нажатии F9

quq_CCCP:
makkad, у прелоаде есть функция создания автоматического создания pld скриптов, в статье про preload автор там мусор ловит, да к вот нужно таким же кодом посмотреть что грузит игра в момент открытия меню и загрузить эти данные при запуске карты.
Понятно, спасибо. Но по идее должно быть всё стандартно. В тестовой карте ничего нет почти, кроме текстового файла. Всякие иконки и интерфейсы тоже пробовал добавлять в Preload.
23

» WarCraft 3 / Как использовать Preload для устранения лага при нажатии F9

quq_CCCP:
Просто подгрузить иконки и строки, и лага не будет.
В примере иконка всего одна. Их число не влияет на лаг. Строки подгружал сразу весь файл. Не помогало. Имеется ввиду, заранее сделать вызов всех строк?
23

» WarCraft 3 / Как использовать Preload для устранения лага при нажатии F9

ledoed:
а поочередно мелкими порциями?
Тут нечего разбивать, кроме самого текстового файла. Но он стандартный war3map.wts .
23

» Northrend RPG / Northrend RPG. Перевод карты на английский язык. Краудфандинг

Nzoth:
Посоветую сделать таблицу с городами,именами персонажей и т.д А иначе каждый будет по-своему переводить название одного и того же места.
Хорошо. Создал для этого лист-страничку Глоссарий. Её тоже можно редактировать.