nazarpunk, фиг знает короче, у меня даже сосание не прерывается, авось между этими телепортациями и можно проверки делать, надо будет мне потом получше всё проверить
nazarpunk, Да я уже велосипеды знаю, уже делал, вот оцени ещё идею, я вот утром думал юнита удалять и создавать, а щас чёт подумал, а что если их всех просто тепнуть, ну типо, создать точки на их местах, 100 юнитов = 100 точек, собственно после каждой проверки вокруг точки тепать (проверенных) их нафиг в жопу мира, а потом назад, я сейчас проверял, тепал иллидана 50 раз в секунду, он как бегал, атаковал, юзал скиллы (протестил 1 скилл ток), у него ничего не прерывалось, мож и не прервётся ничё
Это тоже если набросок вот щас за 15 минут, поэтому он ну такое себе, вообще я думаю что если у меня ничё с аурами не получится, если даже у тебя не получается, у меня они просто будут в очередь становиться и будут срабатывать не одновременно, чтоб не лагало (ну а чо делать, хоть какая-то оптимизация)
nazarpunk, я имел ввиду не совсем приближенную, вот такую вот как на картинке
Её и какие-нибудь пересекающиеся/не пересекающиеся с ней ауры можно было бы разбить на неналегающие друг на друга регионы и потом каждого юнита с каждого региона пикнуть (получится 2 раза для владельцев аур и 1 раз для тех кто просто под аурой)
Но тут другая проблема правда возникает, как раз все эти регионы, я понятия не имею насколько максимально их можно оптимизировать и выгодно ли их делать вообще, это просто идея, пока что
Однако когда я доберусь до аур у себя в карте, я сделаю что-нибудь подобное и протесчу, может чо и выйдет годное
nazarpunk, Я вот щас подумал, вот стоит у меня 1000 юнитов с аурами в кучке, сначало, просчитается 999+1 юнит, а потом ещё 999*(999+1), то есть всего 1.000.000, а что если некому будет просчитываться
Можно создать 1000 точек (по точке под каждым юнитом), потом 1 раз взять группу GroupEnumUnitsInRange, в ней окажутся все эти 1000 юнитов, сохранить их и удалить, и тогда все остальные GroupEnumUnitsInRange вокруг оставшихся точек, не просчитают ни одного юнита, а потом всех этих сохранённых юнитов вернуть со всеми их приказами и прочей фигнёй
P.S. Я незнаю насколько сильно будет нагружать удаление и создание юнитов, вообще главная задача сделать так чтобы GroupEnumUnitsInRange не проверял юнита, а для этого нужно чтобы либо 1. Юнит перестал быть юнитом 2. Юнита не было
Ну вот короче мой вариант, скорее всего фегня, есть идея с созданием тектуры карты, но я не знаю как в варкрафте делать текстуры на ходу
nazarpunk, Опиши задачу пожалуйста поподробней, ни разу не слышал о ней, что нужно сделать, чтобы например при 20 юнитах с аурами и например ещё 30 без ауры, стоящими рядом/или не совсем рядом (рандомно), каждый юнит просчитывался только 1 раз? А не каждый раз от каждой ауры, я правильно понял?
Карту в студию, а вообще скорее всего не тот ивент, третья способность явно "Канал", для неё нужно другое событие, а именно EVENT_PLAYER_UNIT_SPELL_CHANNEL
IzobretatelBoom, я на своей карте через дамми-кастера проверяю, нанесён урон магией или нет, если урон от дамми-кастера, значит магией, если нет, значит тычка от юнита
Второй способ это через UjAPI, там вроде есть способы отловить то что нужно
P.S. Мега-хорош, лайк
Svintus, допустим есть число 28437, в цикле она получает первую цифру из числа 28437, то есть цифру "2", после чего конвертирует её в строку и складывает строки, потом берёт следующую цифру "8", опять конвертирует, складывает, получается уже "28", ну и делает это до тех пор, пока не получится строка "28437", а затем возвращает её
Она так же работает и с отрицательными числами
Как сказали выше "Запускаешь таймер и на его хэндл сохраняешь юнита." Внутри таймера собственно урон и наносишь
А чтобы горение обновлялось, сохраняешь сам таймер на хендл горящего юнита и при попадании скилла удаляешь таймер (старый) и запускаешь новый, тем самым огонь обновится
Да, но только в редакторе объектов, максимальной угол крена и максимальный угол поворота нужно установить в отрицательные значения, функции
SetWidgetYaw()
SetWidgetPitch()
SetWidgetRoll()
SetUnitYaw()
SetUnitPitch()
SetUnitRoll() из UjAPI - НЕ РАБОТАЮТ, проверял сейчас
И функции из мемхака не работали (проверял давно)
» WarCraft 3 / Как сделать триггерный поджог?
- сначала переберутся 10 кастеров, под ними создадутся точки
- собственно кастеров, как обладателей ауры можно сразу отправить на край света
- останутся точки, вокруг них и будут все эти GroupEnumUnitsInRange() делаться
- у точек никого не осталось, сработают 10 GroupEnumUnitsInRange() и не найдут юнитов вокруг себя (они же на краю света)
- на всех тех кто на краю света собственно вешается то что должно вешаться там
- их тепает назад (в тот же момент когда они и отправились на край света)
- ответ 10
Возможно, я где-то ошибся, но пока что я не понял где» WarCraft 3 / Как сделать триггерный поджог?
» WarCraft 3 / Как сделать триггерный поджог?
Это тоже если набросок вот щас за 15 минут, поэтому он ну такое себе, вообще я думаю что если у меня ничё с аурами не получится, если даже у тебя не получается, у меня они просто будут в очередь становиться и будут срабатывать не одновременно, чтоб не лагало (ну а чо делать, хоть какая-то оптимизация)
» WarCraft 3 / Как сделать триггерный поджог?
Её и какие-нибудь пересекающиеся/не пересекающиеся с ней ауры можно было бы разбить на неналегающие друг на друга регионы и потом каждого юнита с каждого региона пикнуть (получится 2 раза для владельцев аур и 1 раз для тех кто просто под аурой)
Но тут другая проблема правда возникает, как раз все эти регионы, я понятия не имею насколько максимально их можно оптимизировать и выгодно ли их делать вообще, это просто идея, пока что
Однако когда я доберусь до аур у себя в карте, я сделаю что-нибудь подобное и протесчу, может чо и выйдет годное
» WarCraft 3 / Как сделать триггерный поджог?
» WarCraft 3 / Как сделать триггерный поджог?
Можно создать 1000 точек (по точке под каждым юнитом), потом 1 раз взять группу GroupEnumUnitsInRange, в ней окажутся все эти 1000 юнитов, сохранить их и удалить, и тогда все остальные GroupEnumUnitsInRange вокруг оставшихся точек, не просчитают ни одного юнита, а потом всех этих сохранённых юнитов вернуть со всеми их приказами и прочей фигнёй
P.S. Я незнаю насколько сильно будет нагружать удаление и создание юнитов, вообще главная задача сделать так чтобы GroupEnumUnitsInRange не проверял юнита, а для этого нужно чтобы либо 1. Юнит перестал быть юнитом 2. Юнита не было
Ну вот короче мой вариант, скорее всего фегня, есть идея с созданием тектуры карты, но я не знаю как в варкрафте делать текстуры на ходу
» WarCraft 3 / Как сделать триггерный поджог?
» WarCraft 3 / Даммик не кастует способность
» WarCraft 3 / Даммик не кастует способность
» WarCraft 3 / UjAPI Как создать свой первый фрейм?
» WarCraft 3 / Даммик не кастует способность
» WarCraft 3 / Даммик не кастует способность
» WarCraft 3 / Даммик не кастует способность
» WarCraft 3 / Даммик не кастует способность
» WarCraft 3 / возможно ли такое пофиксить?
» WarCraft 3 / Как сделать триггерный поджог?
Второй способ это через UjAPI, там вроде есть способы отловить то что нужно
P.S. Мега-хорош, лайк
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
Она так же работает и с отрицательными числами
» WarCraft 3 / Как сделать триггерный поджог?
А чтобы горение обновлялось, сохраняешь сам таймер на хендл горящего юнита и при попадании скилла удаляешь таймер (старый) и запускаешь новый, тем самым огонь обновится
Ред. Tredor46
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
» WarCraft 3 / Есть ли возможность развернуть юнита вокруг своей оси?
SetWidgetYaw()
SetWidgetPitch()
SetWidgetRoll()
SetUnitYaw()
SetUnitPitch()
SetUnitRoll() из UjAPI - НЕ РАБОТАЮТ, проверял сейчас
И функции из мемхака не работали (проверял давно)
» WarCraft 3 / В какие моменты имя функции конвертируется в число?
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2