Делая первый скриншот надо было нажать I, это убирает не отображаемые в игре эллементы (такие как дроп предметов с объектов, стартовые позиции игроков, тела моделей без четкой точки выбора).
Карту я не смотрел, но судя по тому что ты её делаешь 5+ лет, можно сделать вывод что взять и разом убрать утечки будет не просто. В какой именно момент стало всё так плохо? с какой-то конкретной версии или это накопительный эффект?
Может ты уточнишь что именно вызывает появление утечек? Появление в игре определенных героев/юнитов/абилок/предметов? Как именно лагает? - фризит игру? появляется задержка отклика? исключительно крипы начинают тупить? картинка прыгает в некоторых местах на карте?
Как вариант - полностью поставить всё распределение опыта на триггерную основу.
Кто-то умер? чекаем кто это был, кто его убил, сколько опыта надо дать, выбираем между кем можно опыт распределить, и выдаём.
Так же можно и кучу иных проверок прикрутить, например наличие какого-то баффа повышает получаемое кол-во опыта или вообще обнуляет его.
Ну я тебе так не скажу по памяти, вроде как было вариант что туман войны активен, но карта изначальео разведана. Когда я у себя подобное пытался сделать по-умолчанию, то были какие-то проблемы и результат был не такой как я хотел, поэтому я вручную через эти флаги открывал и закрывал обзор.
Тебе надо методом тыка на голой карте определить что из этого отвечает на определенную видимость карты и за туман войны. На сколько я помню - доя конкретного игрока я ничего не создавал, просто общим действием "раскрыть карту" / "убрать туман" / "вернуть туман".
когда мой герой бьёт с руки, то почему-то система распознает это как атака от руки и как от заклинаний
У тебя должно отрабатывать только за урон с руки, как это я описывал.
А вот уже в иначе можно сделать проверку для всего остального.
Попробуй сделай на голой карте, а я уже посмотрю что к чему.
Frosty102, не знаю как тебе ещё объяснить, но ты вообще всё не так делаешь.
входящий урон больше 10... зачем?
обнуляешь переменные юнитов через CS... зачем? там же можно выбрать "Нет боевой единицы"
удаляй бафф яда сразу, а не после проверки и используй один бафф
Если ты хочешь отлавливать любой урон и если он не с руки то по-умолчанию является заклинанием (при этом сами заклинания НЕ триггерные на 100%), то тебе придётся писать ивенты урона на всех появляющихся на карте юнитов и выдавать каждому из них яд, что бы отличать его урон с руки от остального.
mistwood, если ты обратил внимание, то у меня время указывается в названии МБорда (мультиборд), а не в какой-либо его ячейке. Это сделано для того, что бы игрок мог скрыть МБорбд, но не лишался возможности видеть время (в доте время находится вместо Древесины и Еды).
Изменение названия МБорда не несёт утечек, на сколько я знаю.
На сколько я помню, была информация о том что GUI-шные действия ячейками МБорда имеющие возможность выбора сразу всего столбца/строки (т.е. циклом через указание 0 вместо конкретного числа) вызывают создание объекта multiboarditem, с которым и идёт работа, но далее он не чистится и не обнуляется. Ну как показывает практика, это не самое страшное из утечек. Главное не брать за правило делать так что бы каждую секунду (или чаще) обновлялись все данные на МБорде, а вместо этого изменять только конкретные значения в нужный момент:
каждую секунду писать сколько у игрока киллов? - нет
совешая килл увеличивать число и показывать в МБорде - да
но при входе новых юнитов на карту события триггера растет и растет
Скорее всего у тебя неправильное условие стоит, которое отсекает выбор всех юнитов и добавление ивентов к каждому. Таким образом, вероятно, каждый новый юнит на карте вызывает новую регистрацию ивентов для всех юнитов на карте.
Насколько я помню, яд работает только на ближниках
Нет, не только на ближниках. Абилка Отравленное оружие (орда) нормально работает юнитах с ближним типом атаки и с дальним. Есть только разница некоторая с типом снаряда - рикошет и прочее, вроде артиллерии. С ними яд не особо дружит. Но в доте оно и не нужно, более чем хватает "обычный" для ближнего боя и "дальний бой" для ренджевиков. Frosty102:
как в таком случае избежать проблем с тем же вампиризмом? Делать его триггерно, скорее всего, но это решение больше поможет, чем переделывать все.
Да, именно так - все вампиризмы и прочие абилки (пассивки на атаку) надо будет сделать полностью триггерными. Frosty102:
как в такой ситуации будет себя чувствовать жар преисподней?
Да никак вообще. Его эти яды не касаются его и ничего на них не срабатывает кроме атаки, вот и всё. Это работает совсем не так как пассивки Сларка/Найкса в доте, когда Радианс своим периодическим уроном проскакивал вперед после замаха, но до фактического удара.
Лучше при входе на карту добавлять событие на получение урона с проверкой на наличие в групе
Borodach, ну мой вариант отличается от этого тем что будет происходить ровно то же самое, но только не сразу при появлении, а тогда когда нужно, т.е. при замахе, при касте абилки (в более редких случаях). Получается так что крипы на лайнах, которые не имеют никаких пассивок на атаку никаким образом и не создают своими ударами новые ивенты, это могут делать только герои с абилками и/или соответствующими предметами, которые работают через эту механику.
но почему-то для существа А дальнего боя удар не задействует яд (так как я этот бафф сразу удаляю)
Ты быстро схватываешь)) именно так это и должно работать. Герой замахивается - чекается что у него есть яд или иная абилка/предмет. Если атакованная цель не в группе - тогда добавляем (маркируем) и создаём ивент. Когда прилетает любой урон проверяем что есть бафф яда = этот урон был с руки и нанёс яд, поэтому тут же снимает бафф яда. Далее делаем всё что необходимо, даже можно снова урон наносить (на него триггер так же сработает, но уже без яда он не будет активироваться). Ну и впринципе всё, готово. А если перед нанесением урона любым образом юниту принудительно дать бафф яда, то система подумает что это была авто-атака с руки, т.е. то о чём я изначально и говорил - можно делать скиллы урон которых будет ударным (на него срабатывают пассивки).
не понимаю в чем дело, триггер работает как-то неправильно, удары в дальнем бою он засчитывает как 3 удара
Скорее всего у тебя регистрируется 0.00 урона, которые наносятся юниту в момент получения и потери баффа (ещё вроде бы даже само по себе попадание снаряда даёт 0 урона).
Сам триггер выключать/включать не обязательно, если всё будет сделано правильно.
Не нужно чекать оба баффа яда, используй один, просто поставь его ДВА раза в самой абилке.
Удаляй бафф яда СРАЗУ ЖЕ, а уже потом проверяй чем владеет "источник урона".
если плодить много триггеров на "юнит получает урон", сильно ли забьеться память?
Joma, память будет засираться, но на столько мало, что в карте вроде доты этого никто и не заметит, если конечно не произойдёт какой-то лютый буст этого спавна ивентов. В общем - имеем что имеем, мешать не должно.
так вот оно в чем дело. Всегда удивлялся Морте которая кидает кинжал а там крита срабатывает, думал как?
Joma, нее, в доте у Мортры специально сделано что даггер критует. Тут для реализации как бы очень много места. Можно сделать в нанесении урона проверку на уровень ульты, и если он больше 0, то чекать шанс и домножать урон. Но это не будет работать на другие ударные пассивки. А ведь вся суть её нынешнего даггера как раз в том что он наносит урон равный % от текущей атаки Мортры, и уже поверх этого мы имеет эффект того что на него срабатывают ударные пассивки. То что я описал - вообще не похоже на это. Я лишь привел пример как это можно использовать.
Joma, имеется ввиду то, что когда у тебя полностью кастомный скилл триггерно наносит урон, то и детектить можно что угодно и от чего угодно. Например тот же Снайпер в доте, допустим его ульт наносит 550 маг.урона по указанной цели. Имея кастомные орбы и прочие абилки, буквально в два клика можно прицепить к наносимому урону эффект "ударного" (т.е. того, который вызывает срабатывание пассивок для авто-атаки). И вот уже на этот снайперский выстрел распространняется вампиризм, баш, дезоль, дифуза, и вообще всё что угодно. Можно заставить Урсу топать ножкой и давать всем вокруг +1 стак пассивки. Гондар кидает сюрикен и нанося урон срабатывает крит+замедление от джинажы (его пассивка). Мортра бросаед даггер в цель и он попадая критует от ульты (и вампирится, и башит если шанс так же прокнет). Вот чем это удобно.
Joma, не "при каждой атаке создавать новый триггер на получение урона", а "при каждой атаке чекать необходимость создавать новый триггер на получение урона, и создавать его только если это необходимо". А уже в этом триггере чекать наличие всяких абилок и предметов.
Это не нагружает игру, поверь.
У меня у самого мини-дота есть, и там постоянно крипы мутузятся между собой и с героями, и это никак не мешает с их орбам (пассивные абилки на атаку или предметные пассивкы) и прочим скиллам. Всё отлично работает вплоть до того, что в нужный момент с триггерого скилла можно наносить "ударный" урон, т.е. такой, на который реагируют эти самые пассивки. Например: кидаешь молот бурь, а он выжигает ману цели, потому что у героя есть манабёрн (не важно свой скилл или от предмета).
Проще чем делать все абилки триггерно, это сделать триггерно лишь часть абилок... Можно отлавливать авто-атаку героев через яд, и уже от этого отталкиваться. Это заметно проще чем если взяться за все скиллы сразу. Но, я полагаю, что со временем ты придёшь к тому что бы поставить всё на триггерную основу, т.к. это даёт полный контроль над происходящим.
Birdboy, это "размерность" массива, т.е. предустановка для дефолтного блока инициализации глобальных переменных (это то тесто в скрипте, где всем глобалкам задаются дефолтные значения). Именно в этом месте и за счёт этого параметра отрабатывает создание пустых групп и запись их в каждый из массивов переменной.
set GROUP[1] = СоздатьГруппу()
set GROUP[2] = СоздатьГруппу()
set GROUP[3] = СоздатьГруппу()
set GROUP[_] = СоздатьГруппу() // и так далее...
Это так же касается и других типов переменных - таймеры, самый очевидный из них.
Yae Miko, приходя сюда ты должен давать ответы на поставленные вопросы, а не сопли тут свои размазывать на весь экран.
Тот неловкий момент, когда очень сильно хотел кого-то унизить, но даже не знаешь, как обращаться с языком, на котором пишешь. Как же много веса в твоих "словах".
Да? Ну попробуй перебери только конкретных юнитов, скинешь потом пример.
Конкретные юниты на то и конкретные, что они конкретизируются/проверяются заранее и отфильтровываются туда, где проверка будет проходить исключительно дня них.
автор не указал что нужно
Опять же, автор не указал подробное тз
Поэтому ты решил внести конкретики от себя.
Ну продолжай костылить дальше, мне то что с того? Я лично ...
Твоим личным мнением никто не интересовался.
Я не рекламный агент
хотелось бы поговорить об оплате
Это в другое заведение.
но меня пока не спрашивал
Как видишь, и не спросят.
тебе не кажется
Нет, не кажется.
Давай может быть вместе посмотрим комментарии, например, от nazarpunk?
Ну вот ты в его стиле и ответил. Не это ли и есть лицемерие?
Почему ты решил именно меня заткнуть
Потому что я дал развернутый ответ, который с твоим ничего отщего не имеет, как и информационной ценности для вопращающего в общем и целом.
говорить "а как это, а может вы не будете уходить, у нас же есть своё, зачем вам чужое?"
Об этом речи не шло вообще. Свои интерпритации более можешь не оглашать.
neversleepy, ну у меня пока нет возможности скачать и посмотреть, а через пару дней я могу и забыть...так что... Ничего не обещаю. Может к тому моменту загадка уже будет разгадана.
Клифф это высота рельефа, т.е. уклона, она будет меняться каждый раз когда юнит поднимается или спускается двигаясь по карте в зависимости от рельефа, при этом даже не важно летающий ли он или плавающий, всё одно. Максимум что из этого можно выжать - сравнивать высоту клиффов между двумя юнитами (или юнитом и точкой), что бы определить кто стоит выше/ниже, для реализации чего-то вроде стандартных промахов или подобного.
У юнитов так же есть высота полёта - это такой параметр, который равен текущему расстоянию от поверхности земли под ногами юнита и до высоты, на которую поднята его модель. Она имеется у всех юнитов, но отлична от нуля лишь у тех, которые в стандарте имеют летающий или парящий тип движения. Например, когда Друид-ворон трансформируется его высота так же плавно меняется, ибо в облике эльфа высота нулевая, а в облике птицы - ... ну где-то 200-300 наверно, не знаю точно. Эту высоту можно регулировать триггерно, но работает только с теми юнитам, которые имеют указанные выше типы движения (или хотя бы могут превратиться в того, кто таким владеет, в чём собственно и заключается метод поднятия в воздух изначально НЕ летающих юнитов, например под действием триггерных скиллов).
Так же в игре имеется еще одна высота - высота точки на рельефе. Она равняется значению абсолютной высоты конкретной точки на рельефе относительно общего нуля. Её можно получить функцией GetLocationZ(point), где point - конкретная точка.
Для получения и сравнения абсолютных высот юнитов можно использовать высоту точки на рельефе+высоту полёта юнита. В первую очередь это применимо для создания эффекта молнии, высота которого регулируется (по XYZ, вместо XY), а не определяется автоматически высотой рельефа (при XY).
» WarCraft 3 / Unity of forces
» WarCraft 3 / Карта начинает фризить, помогите
Может ты уточнишь что именно вызывает появление утечек? Появление в игре определенных героев/юнитов/абилок/предметов? Как именно лагает? - фризит игру? появляется задержка отклика? исключительно крипы начинают тупить? картинка прыгает в некоторых местах на карте?
» WarCraft 3 / Как увеличить получаемый героем опыт, или уменьшить необходимый…
Кто-то умер? чекаем кто это был, кто его убил, сколько опыта надо дать, выбираем между кем можно опыт распределить, и выдаём.
Так же можно и кучу иных проверок прикрутить, например наличие какого-то баффа повышает получаемое кол-во опыта или вообще обнуляет его.
» WarCraft 3 / Видимость "туман войны" не работаетЗдравствуйте, подскажите…
» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…
А вот уже в иначе можно сделать проверку для всего остального.
Попробуй сделай на голой карте, а я уже посмотрю что к чему.
» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…
» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…
» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…
а ещё я знаю что можно извращаться с зельем вампиризма, но... )))
» WarCraft 3 / таймер времени игры
» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…
Изучай.
» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…
» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…
» WarCraft 3 / таймер времени игры
Ред. Extremator
» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…
Frosty102: Да, именно так - все вампиризмы и прочие абилки (пассивки на атаку) надо будет сделать полностью триггерными.
Frosty102: Да никак вообще. Его эти яды не касаются его и ничего на них не срабатывает кроме атаки, вот и всё. Это работает совсем не так как пассивки Сларка/Найкса в доте, когда Радианс своим периодическим уроном проскакивал вперед после замаха, но до фактического удара.
Сам триггер выключать/включать не обязательно, если всё будет сделано правильно.
Не нужно чекать оба баффа яда, используй один, просто поставь его ДВА раза в самой абилке.
Удаляй бафф яда СРАЗУ ЖЕ, а уже потом проверяй чем владеет "источник урона".
» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…
Ред. Extremator
» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…
» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…
» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…
Ред. Extremator
» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…
Ред. Extremator
» WarCraft 3 / Не понимаю в чём дело, но юниты не добавляются в группу юнитов,…
» WarCraft 3 / Иконка отрицательного и положительного эффекта
Ред. Extremator
» WarCraft 3 / Нанесение урона при нахождении на высоте
Ред. Extremator
» WarCraft 3 / Нанесение урона при нахождении на высоте
Ред. Extremator
» WarCraft 3 / Всем привет! Уже который день бьюсь головой по этому вопросу и…
Ред. Extremator
» WarCraft 3 / Нанесение урона при нахождении на высоте