20

» WarCraft 3 / По поводу обнуления рельефа

Принятый ответ
Как вариант копировать участок ландшафта на другую карту и обнулять там.
20

» WarCraft 3 / Задание произвольной высоты декорации

Дополнительно - обнулить высоты объектов (снять галку)
И можно перетаскивать декорации без изменения высоты.
20

» WarCraft 3 / WFE - Warcraft Feature Extender

С Украины нельзя скачать, по-моему там идёт переадресация на yandex.ru.

Если в карте использована функция EnablePreSelect(false, false), то игра фаталит, если использовать цвета хп.
20

» WarCraft 3 / GetClickedButton() error

Obelick, не знаю. Взял старый код, который был с багами, но с ним такой проблемы не было. И он работает... Хотя он практически идентичный. Версия 1.26.

Я просто создавал диалог каждый раз по новой и засовывал каждую кнопку в ифы, мне помогало.
У меня просто в диалоге не фиксированное количество кнопок. Сделал вообще без условия.
20

» WarCraft 3 / GetClickedButton() error

Кнопка вообще одна создается за всю игру. А мне пишет что кнопка не та...

TriggerRegisterDialogButtonEvent не подходит, т.к GetClickedButton() возвращает null

Такое впечетление, что GetClickedButton() просто возвращает иногда не то значение, что должно. Или я полный идиот, который убил на это 3 часа или близзы конченные.

Ожидал, что условие будет не работать. Но проблема все равно не в нём. Кстати, как сделать работающее условие для кнопки?
20

» WarCraft 3 / Триггерный Спелл

Лучшим решением будет отлов окончания баффа + хэш-таблица. Также нужно еще детектить появление этого баффа на других юнитах (похищение магии) и добавлять им соответсвующие эффекты баффа. Рекомендую не использовать таймер или вэйт, если в карте можно рассеять бафф или потерять его иным образом. Однако, пока для тебя будет проще всего использовать Wait (game-time). Юзай его и не парься (пока). А то залезешь сейчас в такие дебри, что создавать карту отпадёт желание.
20

» Резьня / Резьня

Пытаемся в 4 убить непобедимого рекса. Как это сделать? Есть какой-то секрет? Мы убили его 1 раз из 5 и нас съел туман. Реген у него просто невозможный, ему нужно наносить постоянный непрерывный урон, иначе отхилится за пару сек.
20

» WarCraft 3 / Локальный мультиборд

pro100master, не понимаю в чем проблема. Так и делаю. Показываю просто потом немного по-другому.
20

» WarCraft 3 / Локальный мультиборд

Принятый ответ
Давно известно, что лидерборды и мультиборды нужно создавать после старта игры. Причём пишут, что нельзя даже после 0 секунд, должен быть хоть какой-нибудь промежуток, я использую 1 / 128.
Напоминаю, что индексы игроков начинаются с 0.
Это все известно и учтено.

Проще всего сделать 1 мультиборд и менять текст локально.
Да, так и делаю, переписываю под один мультиборд.

Переделал под один мультиборд, но проблема не исчезла. После завершения функции mcsInit мультиборд перестает отвечать и подавать признаки жизни. К нему нельзя обратиться, скрыть, изменить текст. Если поставить ожидание(10 сек например) в конце mcsInit, то мультиборд будет исправно работать еще 10 сек. Совершенно не понимаю.

Решил проблему
Я удалял триггер, который вызывал функцию инициализации мультибордов. Не понимаю как, но после завершения функции как-то падала вся система. Я крч ***** не понял, но очень интересно.

пойду спать
Загруженные файлы
20

» WarCraft 3 / Локальный мультиборд

Крч, пока работает функция mcsInit, которая инициализирует мультиборды все работает. Как только она завершает свою работу, то мультиборды перестают отвечать.

Тип, если поставить в конце функции Wait(10), то все будет работать еще 10 сек.

TheMilka:
отпишись в дискорде, если можешь. будет проще взаимодействовать.
Скинь диск.
20

» WarCraft 3 / Локальный мультиборд

TheMilka, в этом и проблема. Индекс правильный (проверено, не на словах). Да и в коде ты видишь, что там есть call MultiboardSetItemValueBJ(Mb[p], 1, 1, "Test"). А первая ячейка так и остается неизменной.

Да и индекс проверял на цикле. Изменял все мультиборды, которые инициализоровал. Ничего не изменялось.
20

» WarCraft 3 / Локальный мультиборд

TheMilka, я знаю. Эти функции вызываются для всех игроков, но при этом у них разный индекс. Т.к set locPlayerNumber = P2I(GetLocalPlayer()) возвращает индекс локального игрока.

Это нужно, чтобы каждому игроку отобразился свой мультиборд. Я сделал твоим вариантом с использованием цикла - ничего не поменялось.
        set i = 1
        set iEnd = players
        loop
            exitwhen i > iEnd
            if GetLocalPlayer()==I2P(i) then
                call MultiboardMinimize(Mb[i], false) 
                call MultiboardDisplay(Mb[i], true) 
            endif
            set i = i + 1
        endloop
Ничего не поменялось.
20

» WarCraft 3 / Локальный мультиборд

Крч после инициализации мультибордов с ними ничего нельзя делать.
Хотя сразу после локального показа мультибордов они еще отвечают.

TheMilka, Нет, мне так не нужно. Проблема не в этом. (наверное)
20

» WarCraft 3 / Локальный мультиборд

Версия 1.26

Как видно на скрине, не работает и скрытие мультиборда.
20

» WarCraft 3 / Как открыть кастомные карты

Принятый ответ
Скорее всего ты пытаешься открыть защищённую карту.
20

» WarCraft 3 / Как сделать так чтобы любая текстура было прозрачной?

Точно не понял чего ты хочешь. Но если ты хочешь сделать даммика, то просто поставь ему модель .mdl через shift

Или любую другую, главное, чтоб этой модели не было
20

» WarCraft 3 / Проблемы с переменной force 2

Принятый ответ
Прилагаю карту

Надо было указать размер массива. Странно, во всех переменных стоит 1 и все работает. Наверное переменная занимает больше памяти, чем другие.
Загруженные файлы
20

» WarCraft 3 / Проблемы с переменной force

Принятый ответ
Даже так не хочет работать. Я добавляю игрока и сразу же вызываю функцию.

нельзя делать call DestroyForce
или call RemoveRect после этого ты их ни разу не сможешь юзнуть даже указав новую переменную
Как видишь выше, дело не в этом. Да и не уничтожал я их.

Может она просто не работает в массиве?...

Закрою вопрос и перефразирую для понимания.
Загруженные файлы