Пока болею, начал вновь ковыряться в редакторе.
В чем вопрос - камера стандартная игровая, прикреплена к герою. Как мне найти точку, которая находится ЗА пределами камеры игрока, не сильно далеко? Чтобы заспавнить там моба, к примеру

ssbbssc, используй не офсет смещение, а полярное смещение, где указываешь радиус (расстояние) 1750 и рандомный угол. Иначе у тебя почти все мобы будут приходить с одной стороны. Да и в целом изначально делай спавн со смещением от точки героя по полярным координатам, и не придется перепроверять, а где та самая точка.
`
ОЖИДАНИЕ РЕКЛАМЫ...
20
а, господи, что я туплю то
хотел по умному сделать, с отловом границ камеры, но ЭТО ЖЕ ВАРИК БЛЕЯТЬ
забыл куда зашел
короче, раз камера закреплена - значит можно посчитать расстояние от центра камеры (героя) до края, и там уже спавнить
теперь только осталось допедрить до исполнения
Ответы (1)
28
Может моба стоит спавнить при условии, что точка в тумане войны?
Ответы (1)
20
rsfghd, во-первых, я такого условия даже не видел
во-вторых, туман войны находится также за пределами карты, а если юнит туда улетит может зафаталить
20
Если врубать сетку, вот что появляется. Кто знает расстояние между углами этого квадрата?

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


теперь нужно выбрать точку, не ближе чем 1750 к герою и не дальше, чем 2500, к примеру
Загруженные файлы
Ответы (3)
31
ssbbssc, в углу редактора пишутся игровые координаты кусора. Наведи на края и посчитай.
20
nazarpunk, спасибо! получилось 510 примерно. а это именно игровые единицы, а не редакторские какие-нибудь? под игровыми я понимаю дальность действия абилок, к примеру
31
ssbbssc, это игровые границы которые используются для всего, что в игре имеет показатель расстояния.
20
в общем сделал вот так. может есть и более изящный способ, но видно я уже просто отупел
Загруженные файлы
Ответы (8)
20
хотя тут косяк в том, что если точка будет внизу на -1720, к примеру, оффсет её двинет вообще почти в ноль, и в итоге прямо под героя
31
ssbbssc, ты же понимаешь, что время зарандомится ровно один раз на всю игру?
31
но видно я уже просто отупел
Судя по гуй-муй то и не умнел...
25
ssbbssc, используй не офсет смещение, а полярное смещение, где указываешь радиус (расстояние) 1750 и рандомный угол. Иначе у тебя почти все мобы будут приходить с одной стороны. Да и в целом изначально делай спавн со смещением от точки героя по полярным координатам, и не придется перепроверять, а где та самая точка.
Принятый ответ
25
ssbbssc, вот пол триггера в одной функции со 100% спавном в радиусе 1750 в случайной стороне.
Загруженные файлы
25
ssbbssc, так-же nazarpunk уже тебе подсказал, что время, которое ты рандомишь в событии, зарандомится в начале игры и будет одинаковое в течении всей игры. Если хочешь чтобы время было каждый раз разное - запускай задержку через таймер.
Событие - таймер А истек.
Действие - в конце запустить таймер А со временем (случайное число от 0.9 до 4)
20
nazarpunk, спасибо за хамство, можете тут больше не появляться
26
Еще проверяй чтоб не заспавнился за краями карты иначе кританет. Так же хорошо бы сначало проверить проходимость, чтобы не заспавнился в декорациях.
Ответы (2)
20
Jack-of-shadow, да, на этот случай буду выдавать им призрачность, если натикает таймер "стояния на месте"
26
ssbbssc, зачем? ты можешь сразу проверить.
Есть два варианта:
  1. Проверять паффинг в точке (не сработает, потому что +- миллиметр может зарешать)
  1. Заспавнить юнита, и сравнить его координаты с координаторами спавна (если изменились больше чем на 32 значит застрял в текстурах)
Застрявшего смещаешь циклом в любую сторону, пока не встанет нормально (у цикла лучше сделать счетчик на 100, чтобы не зациклился намертво если место так и не найдется. И опять же границы карты чекай чтобы не улетел).
38
Если надо совсем круто и независимо от ракурса (хоть кверх ногами) - в DGUI есть операция world2win у камеры
Чтобы оставить комментарий, пожалуйста, войдите на сайт.