8

» WarCraft 3 / Использование кастомного кода

Svintus, у меня там нет ошибок "(отсутствует конец строки, отсутствует название переменной)", а только ошибки с этими функциями
8

» WarCraft 3 / Где утечки

set dummy = null
Это не удаление даммика, это обнуление переменной, нужно RemoveUnit(dummy)
8

» WarCraft 3 / Как сделать триггерный поджог?

nazarpunk, Как она его будет там перебирать, если он не в ренже то? Только если что-то в этот момент там случиться, но случиться там ничего не может (не потому что он далеко, а потому что времени не хватит чему-либо случиться, кроме того что написано)
8

» WarCraft 3 / Как сделать триггерный поджог?

nazarpunk, если у всех 10 юнитов разные ауры, то вот тут уже мои полномочия всё, я разные ауры планирую обрабатывать в разные промежутки времени, потому что пока что в моём предствлении даже если там всё чики-пуки оптимизированно будет, но всё это будет обрабатываться в 1 момент, всё равно лаганёт
8

» WarCraft 3 / Как сделать триггерный поджог?

nazarpunk,
  1. собственно кастеров, как обладателей ауры можно сразу отправить на край света
  2. останутся точки, вокруг них и будут все эти GroupEnumUnitsInRange() делаться
3.Х. внезапный поворот, оказалось, что рядом с этими 10 кастерами ещё 20 микрочеликов
  • 3.1. вокруг первой точки (которая осталась на месте первого кастера), оказалось 18/20 из них, они так же идут на край света
  • 3.2. вокруг второй точки (которая осталась на месте второго кастера), оказались оставшиеся 2, они так же идут на край света
  • 3.3. вокруг 3-10 точек ни осталось никого, поэтому GroupEnumUnitsInRange() не пропикает там никого
Ну короче, как только юнита пикают в первый раз, его отправляют на край света (чтоб не пикался больше), вешают бафф и больше не пикают, пока все точки не переберут, а потом назад возвращают
8

» WarCraft 3 / Как сделать триггерный поджог?

nazarpunk, ну так они же его и получат
  1. на всех тех кто на краю света собственно вешается то что должно вешаться там (эффект ауры вешается)
8

» WarCraft 3 / Как сделать триггерный поджог?

nazarpunk, Имеет 10 кастеров ауры (в кучке)
  1. сначала переберутся 10 кастеров, под ними создадутся точки
  2. собственно кастеров, как обладателей ауры можно сразу отправить на край света
  3. останутся точки, вокруг них и будут все эти GroupEnumUnitsInRange() делаться
  4. у точек никого не осталось, сработают 10 GroupEnumUnitsInRange() и не найдут юнитов вокруг себя (они же на краю света)
  5. на всех тех кто на краю света собственно вешается то что должно вешаться там
  6. их тепает назад (в тот же момент когда они и отправились на край света)
  7. ответ 10
Возможно, я где-то ошибся, но пока что я не понял где
Загруженные файлы
8

» WarCraft 3 / Как сделать триггерный поджог?

nazarpunk, фиг знает короче, у меня даже сосание не прерывается, авось между этими телепортациями и можно проверки делать, надо будет мне потом получше всё проверить
Загруженные файлы
8

» WarCraft 3 / Как сделать триггерный поджог?

nazarpunk, Да я уже велосипеды знаю, уже делал, вот оцени ещё идею, я вот утром думал юнита удалять и создавать, а щас чёт подумал, а что если их всех просто тепнуть, ну типо, создать точки на их местах, 100 юнитов = 100 точек, собственно после каждой проверки вокруг точки тепать (проверенных) их нафиг в жопу мира, а потом назад, я сейчас проверял, тепал иллидана 50 раз в секунду, он как бегал, атаковал, юзал скиллы (протестил 1 скилл ток), у него ничего не прерывалось, мож и не прервётся ничё
Это тоже если набросок вот щас за 15 минут, поэтому он ну такое себе, вообще я думаю что если у меня ничё с аурами не получится, если даже у тебя не получается, у меня они просто будут в очередь становиться и будут срабатывать не одновременно, чтоб не лагало (ну а чо делать, хоть какая-то оптимизация)
SaveReal(FastHash, 0, 0, GetUnitX(gg_unit_OH07_0022))
SaveReal(FastHash, 0, 1, GetUnitY(gg_unit_OH07_0022))
SetUnitX(gg_unit_OH07_0022, 1000)
SetUnitY(gg_unit_OH07_0022, 1000)
SetUnitX(gg_unit_OH07_0022, LoadReal(FastHash, 0, 0))
SetUnitY(gg_unit_OH07_0022, LoadReal(FastHash, 0, 1))
8

» WarCraft 3 / Как сделать триггерный поджог?

nazarpunk, я имел ввиду не совсем приближенную, вот такую вот как на картинке
Её и какие-нибудь пересекающиеся/не пересекающиеся с ней ауры можно было бы разбить на неналегающие друг на друга регионы и потом каждого юнита с каждого региона пикнуть (получится 2 раза для владельцев аур и 1 раз для тех кто просто под аурой)
Но тут другая проблема правда возникает, как раз все эти регионы, я понятия не имею насколько максимально их можно оптимизировать и выгодно ли их делать вообще, это просто идея, пока что
Однако когда я доберусь до аур у себя в карте, я сделаю что-нибудь подобное и протесчу, может чо и выйдет годное
Загруженные файлы
8

» WarCraft 3 / Как сделать триггерный поджог?

nazarpunk, а если аура будет не круглой, а приблизительно круглой это пойдёт? или нужен прям идеальный круг
8

» WarCraft 3 / Как сделать триггерный поджог?

nazarpunk, Я вот щас подумал, вот стоит у меня 1000 юнитов с аурами в кучке, сначало, просчитается 999+1 юнит, а потом ещё 999*(999+1), то есть всего 1.000.000, а что если некому будет просчитываться
Можно создать 1000 точек (по точке под каждым юнитом), потом 1 раз взять группу GroupEnumUnitsInRange, в ней окажутся все эти 1000 юнитов, сохранить их и удалить, и тогда все остальные GroupEnumUnitsInRange вокруг оставшихся точек, не просчитают ни одного юнита, а потом всех этих сохранённых юнитов вернуть со всеми их приказами и прочей фигнёй
P.S. Я незнаю насколько сильно будет нагружать удаление и создание юнитов, вообще главная задача сделать так чтобы GroupEnumUnitsInRange не проверял юнита, а для этого нужно чтобы либо 1. Юнит перестал быть юнитом 2. Юнита не было
Ну вот короче мой вариант, скорее всего фегня, есть идея с созданием тектуры карты, но я не знаю как в варкрафте делать текстуры на ходу
8

» WarCraft 3 / Как сделать триггерный поджог?

nazarpunk, Опиши задачу пожалуйста поподробней, ни разу не слышал о ней, что нужно сделать, чтобы например при 20 юнитах с аурами и например ещё 30 без ауры, стоящими рядом/или не совсем рядом (рандомно), каждый юнит просчитывался только 1 раз? А не каждый раз от каждой ауры, я правильно понял?
8

» WarCraft 3 / Даммик не кастует способность

kg_toly, да, проверял, если кд поставить, то срабатывает, ну всмысле он итак срабатывает
8

» WarCraft 3 / Даммик не кастует способность

IzobretatelBoom, Ага, я уже на его карте заметил, но при EVENT_PLAYER_UNIT_SPELL_CHANNEL он кстати также срабатывает
8

» WarCraft 3 / Даммик не кастует способность

kg_toly, Всмысле не кастуется, она кастуется, просто это не заметно, так как ней перезарядки нет
8

» WarCraft 3 / Даммик не кастует способность

kg_toly, Что конкретно в способности не работает? Баффы не даются? Юнит не двигается или просто не катуется
8

» WarCraft 3 / Даммик не кастует способность

kg_toly, Я не понял что в конечном итоге должна делать способность, но если у тебя даммик не двигается, то поставь ему скорость передвижения 1