![]() |
Ответ: Вопрос про наболевшее - коллизии.
Ну это пули юзера.
А пули ботов ограничены по времени. (но я думаю перевести это дело на расстояние, не нравится мне эта куйня с временем) Добавил: Пересмотрел. Шо это за фигню ты написал? Конечно не проще. У меня в конце прописано удалять пулю если o\delet=1 Это бывает в 2 случаях: 1. если пуля улетела далеко от юзера. 2 если пуля подлетела близко к боту. А у тебя получается что пуля должна удаляться только тогда когда подлетит к боту. Ты мне код не проще сделал, а наоборот усложнил, придётся отдельно дописывать удаление при дистанции от юзера. Тобиш пулю удалять надо в двух разных случаях, а не только когда o\delet равен одному. |
Ответ: Вопрос про наболевшее - коллизии.
впринципе да. exit-ом можно решить. но он вроде выведет тока за один цикл. а надо за оба.
|
Ответ: Вопрос про наболевшее - коллизии.
Тогда ставим ещё одно условие, на проверку наличия объектов, если отсутствуют - лепим Exit.
|
Ответ: Вопрос про наболевшее - коллизии.
Не нужно сравнивать дистанцию - в этом случае не целесообразно (придется перебирать цикл в цикле, или пули в танках, либо танки в пулях)
Обычная тупая коллизия прекрасно сработает. И можно решить практически любую задачу особо не напрягаясь На пули нужно делать так: счетчик времени : о\тайм=о\тайм+1 ент=ЕнтитуКоллидед(о\ент,тип_бот) ент2=ЕнтитуКоллидед(о\ент,тип_уровень) Иф ент ор ент2 о\тайм=401 ендиф Иф о\тайм=>400 Иф о\тайм=401 БольшойБум(о\ент) ЕндИф ФрееЕнтити о\ент Делете о ЕндИф |
Ответ: Вопрос про наболевшее - коллизии.
Цитата:
теперь смотри - мы просто вводим поле обозначающее удаленность объекта, и проводим всякие проверки, потом, в самом конце, если удален стоит метка то удаляем ентити и объект. зато так можно "удалять" пульку в любом месте, ошибки не будт. |
Ответ: Вопрос про наболевшее - коллизии.
tormoz
Цитата:
HolyDel упс, не заметил :) Blitzerg чувак, представь что ты строчку o\delet = 1 замениш на удаление пули кода меньше ! ... в любом случае ты делаешь ДВЕ проверки и еще одну проверку o\delet = 1 .. в итоге три проверки ... а так будет две .. где сложности ? не вижу ... |
Ответ: Вопрос про наболевшее - коллизии.
А если у меня 20 разных видов ботов, ещё земля, ещё дома, ещё предметы.
Чё мне каждый раз писать: Код:
if событие then Не проще ли мне писать if событие then o\delet=1 ?? Не кажется ли тебе, что я туеву хучу строк экономить буду? |
Ответ: Вопрос про наболевшее - коллизии.
Blitzerg, О! Я кстать недавно об этом задумался, и понял, экономия строк, порой - плохо. Смотри, у тебя будет лишнея переменная, :) А условие, всёравно выполнится ;)
|
Ответ: Вопрос про наболевшее - коллизии.
уууу!!!
Код:
if entitydistance(o\pulka,vrag1) then |
Ответ: Вопрос про наболевшее - коллизии.
Ошипко!
Пулё не найдено, идите накуй. Думаю такое будет? |
Ответ: Вопрос про наболевшее - коллизии.
угу. такое и будет. именно поэтому (а не из за экономии строчек, или экономии памяти) надо завести свою перменную с состоянием "удаленности"
при нынешних 2Гб памяти, потратить жалких 4 байта на пулю - ну это совсем ничего. |
Ответ: Вопрос про наболевшее - коллизии.
Ну да. Так и есть )
Собсно по этому она там и поставлена. Про экономию я сморозил. Просто изложил в теории еслиб предложение джимона работало то это было бы не экономно ) |
Ответ: Вопрос про наболевшее - коллизии.
перебор в данном случае не рулит. Рулит парабола-триггер как mesh, скалящийся в зависимости от угла выстрела (если уж совсем реализм и пули летают по навесной) или же бокс-цилиндр-извращенно_скаленный_шарик с проверкой на коллизию. Особенно в данном случае рулит сторонний физ. двиг.
по поводу реально летящих в данном случае пуль (особенно медленнолетящих) - мы знаем, что пуля летит всю свою траекторию за 700 с буем мс. А дальше проверяем коллизию триггера, если бот словил ее, то проверка на то, сколько процентов траектории (ее максимальная длина также изначально определена) пульк0 пролетела, и если бот стоит примерно ("допуск" обязателен - мс не будут топать точно по n штук после каждой команды!) на этом промежутке - хит по нему, через обжект ессно, удаляем бота и после ставим флажок удаления пульке. |
Ответ: Вопрос про наболевшее - коллизии.
HolyDel
мне это сводить к знаниям не_программиста или ты издеваешся ? есно что если я напишу какой-то бред который даже логически не пашет то и в компиляторе он не запашет |
Ответ: Вопрос про наболевшее - коллизии.
Какой бред?
Твой вариант кода не предпологает, что пулю надо будет удалять в множестве различных событий. Так как если пуля будет удалена при определённом событии, и после этого будет другая проверка пули а пули то уже нет, то будет ошибка кода, и игра вылетит. Холи это какрас и продемонстрировал своим вопросом. |
Часовой пояс GMT +4, время: 22:12. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot