Jack-of-shadow, на последнем скрине не очень эффективное использование пространства текстуры. Авторазверткой не умеющей объединять идентичные острова разворачивал?
quq_CCCP, кстати, насколько я помню, что для стандартных, что для нестандартных, в файл данных перемещается только разница с базовым объектом - изменение пары полей будет занимать меньше места, чем полная переделка. Не уверен справедливо ли это утверждение после слк-оптимизации карты, которую обычно есть смысл делать.
Напомните, какая инфа у нас есть в варе? Номер нажатой кнопки в диалоге? Только сама нажатая кнопка? Диалог?
Прежде всего, создаем по диалогу на игрока, вместо одного общего диалога на всех и показываем каждому игроку свой диалог. Это позволит показывать каждому игроку свою версию диалога и не зависеть от того, кто и когда открывает диалог.
Дальше заводим массив, в который по номеру игрока и номеру кнопки пишем привязаного к этой кнопке игрока (номер кнопки плюс оффсет умноженый на номер игрока для которого открыт диалог) при открытии диалога.
При нажатии кнопки в диалоге получаем связаного с кнопкой игрока по тому-же индексу - номер кнопки плюс оффсет умноженый на номер игрока для которого открыт диалог.
Оффсет равен максимальному кол-ву кнопок в диалоге и в данном случае это максимальное кол-во игроков минус один.
Если вар вдруг сам не дает номер нажатой кнопки (я не помню дает ли), то перебор по массиву кнопок.
При желании, эту-же систему можно использовать с любыми диалогами, не только со списками игроков, с минимальными изменениями.
Если обе защиты снижают урон в процентах и не имеют ограничений по объему поглощенного урона, то результат всегда будет одинаковый, независимо от порядка срабатывания. В таком случае логичнее всего менять базовую характеристику при получении такой способности.
Интересно, а локальные файлы новый вар понимает или эту возможность тоже убрали вместе с MPQ? Раньше для таких манипуляций не обязательно было трогать архивы, можно было временно включить локальные файлы и в нужное место файл закинуть в папке вара.
Clamp, к сожалению, я это читал очень давно и в печатном виде, так что ссылок нет. Я в те времена не особо формулы читать умел, не то что понимать приведенные вычисления, так что не скажу насколько реалистично эта теория выглядит с точки зрения физики, только саму идею запомнил.
Clamp, эта теория, если я правильно помню, основана на предположении, что внутри ЧД идет процесс сродни термоядерному синтезу, с постоянным выделением энергии, которая не может покинуть ЧД и накапливается, а взрыв происходит когда энергии становится достаточно чтобы преодолеть гравитацию.
Мне больше нравится теория, согласно которой черные дыры это часть "жизненного цикла" вселенной - они собирают всю материю вокруг себя, до которой могут дотянуться, а затем происходит "взрыв", материя разлетается по окружающему пространству и цикл в этой части пространства начинается заново.
Нет. CASK это защищенный формат, который создан в том числе чтобы предотвратить манипуляции с файлами игры. Но переопределение уже существующих файлов через импорт в карту работает почти со всеми файлами.
Rare, значения полученные из дебага должны были навести тебя на правильный путь - ты должен был увидеть, что переменная на старте триггера нулевая, а значит кто-то её трогает между срабатываниями триггера. А дальше то о чем говорит PT153 - поиск мест использования переменной через F11.
Rare, Еще одна рекомендация, больше декоративного характера - избавиться от двух из трех триггеров и вместо этого выносить в глобалку фонтан который нужно заменять. Результат тот-же, но два триггера разменяны на одну глобалку и не надо в трех местах править одни и те же действия когда нужно что-то поменять.
Чтобы убедиться что за эту секунду действительно не произошло ничего лишнего. По сути, не обязательное действие, но меня много раз выручало и помогало найти мои косяки в самых неожиданных местах.
Rare, да, я уже перечитал еще раз, мой косяк.
Настоятельно рекомендую во-первых вернуться к первому способу, а потом вывести значение переменной в трех указанных мной местах - в начале триггера, сразу после вейта и сразу после присвоения. Да, по косвенным признакам все выглядит так будто переменная всегда равна 1 и присвоение не работает, но так ли это на самом деле можно узнать только с помощью отладки (есть еще минимум два варианта попадающих под эти-же косвенные признаки, с другими значениями переменной).
второй смущающий меня момент - в описании первого способа (правильного), у тебя указано что возможны значения и 1 и 2, но не 3, а в комментариях ты ищеш решение какой-то другой проблемы, при которой значение всегда равно 1.
А, нет, мой косяк, не достаточно внимательно прочитал.
Rare, я не занимаюсь поиском багов в чужом коде. Особенно когда в дело замешано больше одного триггера и вейты. Могу по советовать выводить на время отладки текстом имена сработавших триггеров и значения переменной в трех местах - сразу после срабатывания триггера, после вейта и после присвоения (все три с именем триггера, чтобы понимать откуда эти значения), а еще пригодится отладка в местах где активируются эти триггеры и запускается таймер.
» JackCraft / Фриланс. Или что меня отвлекает от проектов.
» WarCraft 3 / Что лучше стандартный или нестандартный обьекты?
» JackCraft / Фриланс. Или что меня отвлекает от проектов.
Ред. prog
» WarCraft 3 / Что лучше стандартный или нестандартный обьекты?
» WarCraft 3 / Проблема с изменением архива кампании с Ladik's MPQ Editor.
» WarCraft 3 / Диалог возвращающий номер или имя выбранного игрока.
Дальше заводим массив, в который по номеру игрока и номеру кнопки пишем привязаного к этой кнопке игрока (номер кнопки плюс оффсет умноженый на номер игрока для которого открыт диалог) при открытии диалога.
При нажатии кнопки в диалоге получаем связаного с кнопкой игрока по тому-же индексу - номер кнопки плюс оффсет умноженый на номер игрока для которого открыт диалог.
Оффсет равен максимальному кол-ву кнопок в диалоге и в данном случае это максимальное кол-во игроков минус один.
Если вар вдруг сам не дает номер нажатой кнопки (я не помню дает ли), то перебор по массиву кнопок.
При желании, эту-же систему можно использовать с любыми диалогами, не только со списками игроков, с минимальными изменениями.
» WarCraft 3 / Ответе пожалуйста на несколько моих вопросов...
» WarCraft 3 / Дайте совет по алгоритму фильтрации урона различными защитами
» WarCraft 3 / Ограничение уровня для печати преисподней
» WarCraft 3 / Спецэффекты.
Изменить тип прозрачности в материале?
Не использовать прозрачность?
» WarCraft 3 / Неслучайный рандом
» WarCraft 3 / Неслучайный рандом
Попробуй брать диапазон от 0 до 100 и остаток от деления на 3.
» Дневник одного повара / Заблуждения ученых или мое мнение.
» Дневник одного повара / Заблуждения ученых или мое мнение.
» Дневник одного повара / Заблуждения ученых или мое мнение.
» Дневник одного повара / Заблуждения ученых или мое мнение.
» StarCraft 2 / Возможно ли без редактора карт SC2 вытащить данные из игры?
Ред. prog
» StarCraft 2 / Возможно ли без редактора карт SC2 вытащить данные из игры?
» WarCraft 3 / Увеличение значения целочисленной переменной на 1
Ред. prog
» WarCraft 3 / Увеличение значения целочисленной переменной на 1
» WarCraft 3 / Увеличение значения целочисленной переменной на 1
» WarCraft 3 / Увеличение значения целочисленной переменной на 1
Настоятельно рекомендую во-первых вернуться к первому способу, а потом вывести значение переменной в трех указанных мной местах - в начале триггера, сразу после вейта и сразу после присвоения. Да, по косвенным признакам все выглядит так будто переменная всегда равна 1 и присвоение не работает, но так ли это на самом деле можно узнать только с помощью отладки (есть еще минимум два варианта попадающих под эти-же косвенные признаки, с другими значениями переменной).
Ред. prog
» WarCraft 3 / Увеличение значения целочисленной переменной на 1
второй смущающий меня момент - в описании первого способа (правильного), у тебя указано что возможны значения и 1 и 2, но не 3, а в комментариях ты ищеш решение какой-то другой проблемы, при которой значение всегда равно 1.А, нет, мой косяк, не достаточно внимательно прочитал.
» WarCraft 3 / Увеличение значения целочисленной переменной на 1
Ред. prog
» WarCraft 3 / Увеличение значения целочисленной переменной на 1