27

» WarCraft 3 / Как заставить...

попробуй проверить абилку ремонта. если работает в игре без триггеров. значит, надо проверить триггеры. как-то пробуй запустить триггеры.
если сама абилка не работает, берем станд рабочего.

у вас ремонт или стройка?
27

» WarCraft 3 / Lua: как вызвать без аргументов функцию?

Nelloy, использую lua-дебаггер что в статье берги. но нужно поточнее. просто внутри функции в переменных значения nil. Я думал что он к функции, думал проблема вызова функции или функция не так названа или не в том месте и пр

VsCode использую.
27

» WarCraft 3 / Lua: как вызвать без аргументов функцию?

PT153, у меня норм название)) A - это просто для примера

все нашел ошибку. оказывается, у меня из-за цикла не прописались в глобалках значения, обрыв потока. и опять 25.
27

» WarCraft 3 / Lua: как вызвать без аргументов функцию?

PT153, ясное дело. ExecuteFunc что-то не работает тоже. там ошибка же в другом, не знаю писать ли об этом постыдном.
сначала нужно что-то инициировать, а потом что-то с этим делать. У меня сначала инициируется как название функции как глобальная переменная. и поэтому не вызывается функция. Я просто думал в lua нет таких ограничении. вчера этот код работал хорошо, пока я не допустил ошибку в коде сегодня, и у меня перестало работать. Что произошло? Решил перестановки сделать, функцию наверх, потом ее вызвать таймером.
27

» WarCraft 3 / Рамка мёртвой зоны

у вас работает эта строчка BlzFrameSetScale(BlzFrameGetChild(BlzGetFrameByName("ConsoleUI",0),5), 0.001)

короче с SimpleButton тоже была проблема, но если уровень поднять выше, то вообще нет никаких проблем с SimpleButton. но она такая ограниченная в возможностях и функционале. Там один клик и всё, а где MOUSE UP/MOUSE DOWN, MOUSE ENTER/MOUSE LEAVE. Нет динамичной смены текстур, и tooltip
Поэтому работают с обычными кнопками. Они вот не работают. ура заработало =(( короче там кнопки CommandButton родителей тоже надо выключить, иначе не дают кликнуть, наверн там какой нибудь невидимый родитель-SimpleFrame застолбил место, и поэтому никак не кликнуть в ячейку. Я уже догадываюсь как такого же родителя делать. Ну если вы хотите поставить кастомную кнопку:
отключаете родителя-ячейку <- ставите свой фрейм
код
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,0)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,1)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,2)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,3)), FALSE)    BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,4)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,5)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,6)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,7)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,8)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,9)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,10)), FALSE)              BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,11)), FALSE)

все строчка тоже работаеть
27

» WarCraft 3 / Перенос анимаций между моделями [Retera]

ну я моделлинге не разбираюсь. даже как-то не получалось ничего. то ли программа mdlvis не работает, то еще чего. поэтому лень было, и забросил. не моя тема, и я как-то не думал создавать тысячи моделей. надо будет заново изучить. нынешние старые статьи в жопу, их надо заново перечитать и осмыслить, очень плохо разжеваны. щас еще много видео-уроки в ютуб и пр. короче поставил плюс)) как-то потом посмотрю
27

» WarCraft 3 / Универсальный фрейм

Нельзя добавить текст во внутрь, а если текст и наложить, но кнопка будет некликабельной в области текста.
А если уровни менять, то текст с остальными должен на задний план уйти? и кнопка должна быть выше
27

» WarCraft 3 / Действия после Передачи Ресурсов другим игрокам

не помню таких событии. но можно отслеживать изменения ресурсов, есть такое событие

пример хотя это не идеал, дело в том, что данный триггер отслеживает изменение у одного игрока. если что-то изменяется, мы уже знаем. А как отследить у обоих? на ум приходит чекать таймером 0.00 сек.
почему так? потому что изменения между игроками происходят сразу, у одного отобрали, другому передали. Но в триггерах все не так. просто тут последовательная обработка у триггеров. сначала сработало изменение у одного игрока, обработал. и тут же обработал второго. поэтому надо таймером 0.00 чекать. записали сколько потратили, скажем 100 руб. а другой получил эти 100 руб. совпало, значит произошла сделка. таймер просто обнуляет значение (100 руб), и все. пример, если нет передачи, то таймер просто обнуляет. А если передача есть, то таймер можно удалить.
почитай еще про потоки

на фреймах проще отслеживать.
27

» WarCraft 3 / Реген хп на джассе

я заметил в редакторе всякие подписки вроде 'uhpr' мб это там отдельные абилки или поля?
27

» WarCraft 3 / Реген хп на джассе

Bergi_Bear, я щас тестил филд на реген, вроде работает. никто моего раба пробить не может, быстро все отрегенивается. что там есть причинам не доверять им?
есть и get/set филды

вот скрин
Загруженные файлы
27

» WarCraft 3 / Добавление спелла в спеллбук героя без замены спелл бука

в рефордже можно скрыть все кнопки, и задать свои. проблема main selected unit решена. можно сделать свой контейнер. или даже несколько свои контейнеров.
Вот вы скрыли стандартный интерфейс кнопок ВРЕМЕННО. и на их место создали список фреймов-кнопок. Можно написать наработку, где на одного родителя все эти кнопки пихаем. Ладно, у вас открыт контейнер, далее ваши действия <- отследить несколько моментов:
отслеживаем клик по одной из этих фреймов-кнопок
зависит от условия, что решит автор после клика. пример после клика кнопки, мы вызываем прицел, который можно отменить, и значить вернуться к нашему контейнеру, или вернуть интерфейс
отслеживаем отмену клавишей ESC, или клик по кнопке отмена
отслеживаем сброс выделения с юнита
возвращаем все обратно

если нужно скрыть коммандную панель. точно также можно и обратно.
код
Если хотите навсегда выключить, вот код (мне пригодился, когда нужно было скрыть показ кнопок):
//найти фреймы можно и по BlzGetFrameByName ("CommandButton_0", 0)  ... в ("CommandButton_11", 0) вместо BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,0) по BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,11)

BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,0)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,1)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,2)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,3)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,4)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,5)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,6)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,7)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,8)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,9)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,10)), FALSE)
BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,11)), FALSE)
27

» WarCraft 3 / Универсальный фрейм

Bergi_Bear, у меня есть триггер, который ежесекудно чекает выделен у игрока локально ли раб. Кнопки-фреймы же для раба сделаны. В нее же с таким же успехом можно и чекать паузу. Или юзать импорт, но он не работает. Не смог че то disabled texture запускать без триггеров, текстуру можно заменить.
Пауза бывает: сингл-плеерная и мультиплеерная. У сингл-игрока все запаузено, в мультиплеере, только интерфейс вроде. Легче какие то кнопки или элементы интерфейса проверить, выключены ли фреймы. Вот как проверить то?

ладно паузу наверн не отследить. то ли дебаг не работает или триггеры во время паузы. короче все. будем без этого
27

» WarCraft 3 / Универсальный фрейм

кстати я никак не могу disabledBackdrop запустить с изображением, вернее вставить. да и не работает эта штука во время паузы. только кажись если триггерно отключить фрейм работает. не подключить никак в игру (во время паузы мой кастомный фрейм должен поменять на неактивное изобр, а он не меняется). и если это не работает, то нужно тогда будет отслеживать таймером паузу, и вставлять disabled. Нужно ли делать вторую неактивное изображение ?
код fdf
    ControlDisabledBackdrop "MyButtonDisabledBackdropTemplate",
    Frame "BACKDROP" "MyButtonDisabledBackdropTemplate" {
        DecorateFileNames,
        BackdropTileBackground,
        BackdropBackground  "ReplaceableTextures\CommandButtonsDisabled\DISBTNSelectHeroOn.blp",
        BackdropCornerFlags "UL|UR|BL|BR|T|L|B|R",
        BackdropCornerSize  0.0125,
        BackdropBackgroundSize  0.256,
        BackdropBackgroundInsets 0.005 0.005 0.005 0.005,
        BackdropEdgeFile  "EscMenuButtonDisabledBorder",
    }
27

» WarCraft 3 / Ошибка в скрипте (Lua)

Fly123, значит с этой строчкой что то не так. аргументы ввели неправильные или что там.
27

» WarCraft 3 / Дальность камеры больше 10000

Кет: заменить модель неба
mishanka122: Сделай размеры всех декораций поменьше
27

» WarCraft 3 / Дальность камеры больше 10000

koloff, а что больше 10000 не прописывается? я знаю, что настройки тонкая вещь, и там могут быть ограничения. Пока я сам не пробовал просматривать объекты с такой дальностью.

upd: на англ сайте пишут что 10000 это максимум
27

» WarCraft 3 / Дальность камеры больше 10000


чем дальше вы отдаляетесь, тем меньше становится. пока совсем перестанет перерисовываться. Есть спец константа защищающая от этого

CAMERA_FIELD_FARZ - дальность по оси Z - так понял это определяет как далеко видит камера, объекты прорисовывают и так далее. Если значение прописать слишком маленькие, то это у вас уйдет за черный экран (то есть вообще ничего не видит, обычно дальние объекты за черный туман уходят, даже если у вас карта открыта). По умолчанию значение равно 5000. Еще раз для тех кто в танке
CAMERA_FIELD_FARZ - защищает короче от подвисов компов, когда в ваше поле попадает много деталей.
27

» WarCraft 3 / у центра image есть какие-то отклонения

Bergi_Bear:
Просто Открой карту Прометея Wisp TD
у меня тоже с этим раньше были проблемы, там надо Image Правильно создавать и оказывается он даже не багуется.
по видосу у вас есть отставание таргета от курсора. у меня смещается юнит быстрее, чем images. Есть какие решения проблем? Имитация таргета стройки: просто получается не красиво, что изображение отрывается от здания. Нужно будет тогда двигать здание за курсором, а images за зданием.
ты в курсе, что событие мыши реагирует с отставанием. Я сейчас применил одну систему старую, и вижу отставание. че то нашел здесь наработку.
27

» WarCraft 3 / Ошибка в скрипте (Lua)

Fly123,
Ну да, ни черта не ясно, на самом деле. Оказалось, что "моя" функция не работала, работала только твоя. Попробовал заменить footman на doomguard в скриптах - всё-равно спаунятся футманы. Это какой-то кошмар.
мб потому что функция выкл? я ее под коммент. тк именная функция никогда не находила применения для меня. поэтому я ее выключил. надо снять коммент. в луа комментят не / /, а --
--CreateUnitByName(GetLocalPlayer(),'footman',BlzGetTriggerPlayerMouseX(),BlzGetTriggerPlayerMouseY(​),0)
CreateUnit(Player(0),FourCC('hfoo'),BlzGetTriggerPlayerMouseX(),BlzGetTriggerPlayerMouseY(),0)