nazarpunk, Как она его будет там перебирать, если он не в ренже то? Только если что-то в этот момент там случиться, но случиться там ничего не может (не потому что он далеко, а потому что времени не хватит чему-либо случиться, кроме того что написано)
nazarpunk, если у всех 10 юнитов разные ауры, то вот тут уже мои полномочия всё, я разные ауры планирую обрабатывать в разные промежутки времени, потому что пока что в моём предствлении даже если там всё чики-пуки оптимизированно будет, но всё это будет обрабатываться в 1 момент, всё равно лаганёт
собственно кастеров, как обладателей ауры можно сразу отправить на край света
останутся точки, вокруг них и будут все эти GroupEnumUnitsInRange() делаться
3.Х. внезапный поворот, оказалось, что рядом с этими 10 кастерами ещё 20 микрочеликов
3.1. вокруг первой точки (которая осталась на месте первого кастера), оказалось 18/20 из них, они так же идут на край света
3.2. вокруг второй точки (которая осталась на месте второго кастера), оказались оставшиеся 2, они так же идут на край света
3.3. вокруг 3-10 точек ни осталось никого, поэтому GroupEnumUnitsInRange() не пропикает там никого
Ну короче, как только юнита пикают в первый раз, его отправляют на край света (чтоб не пикался больше), вешают бафф и больше не пикают, пока все точки не переберут, а потом назад возвращают
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 раз? А не каждый раз от каждой ауры, я правильно понял?
» WarCraft 3 / UjAPI подсветка
» WarCraft 3 / Использование кастомного кода
» WarCraft 3 / Использование кастомного кода
Ред. Tredor46
» WarCraft 3 / Как накренить декорацию?
» WarCraft 3 / Где утечки
» WarCraft 3 / Где утечки
Это не удаление даммика, это обнуление переменной, нужно RemoveUnit(dummy)
» WarCraft 3 / Как сделать триггерный поджог?
» WarCraft 3 / Как сделать триггерный поджог?
» WarCraft 3 / Как сделать триггерный поджог?
» WarCraft 3 / Как сделать триггерный поджог?
» WarCraft 3 / Как сделать триггерный поджог?
» WarCraft 3 / Как сделать триггерный поджог?
» WarCraft 3 / Как сделать триггерный поджог?
» 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 / Даммик не кастует способность