Снайпер
|
|
Raseri | Дата: Пятница, 09.07.2010, 17:43 | Сообщение # 1 |
Темный Клинок
Группа: Добрый Модератор
Сообщений: 756
Награды: 23 +
Статус: Offline
| Напомните, как можно вручную задать направление взгляда юнита? И произвести один выстрел из того оружия, которое он держит в руках? Полностью код или название мода, в котором это есть, пожалуйста.
|
|
| |
Mad_Alex | Дата: Пятница, 09.07.2010, 18:05 | Сообщение # 2 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Направление взгляда: actor:SetAimAngle(значение); Стрельба: actor:GetController():SetState(Controller.WEAPON_FIRE, true);
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
Raseri | Дата: Пятница, 09.07.2010, 18:36 | Сообщение # 3 |
Темный Клинок
Группа: Добрый Модератор
Сообщений: 756
Награды: 23 +
Статус: Offline
| Спасибо =) Знаешь как проверить, есть ли между двумя точками препятствия (земля, МО)? Или моды, где это используется? Чтобы зря патроны не тратить
|
|
| |
Mad_Alex | Дата: Пятница, 09.07.2010, 19:35 | Сообщение # 4 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Есть несколько типов "лучей", которыми можно, как радаром, детектить перепятствия\объекты и т.д. Вот ссылка на временную СС-викию, основная сдохла. Там сразу направление на то место страницы где описываются лучи (Ray) Смотри функции вида Cast***Ray. Я думаю тебе нужны эти: СastMORay (Ну ты понял,проверяет наличие МО в луче) CastObstacleRay (по ландшафту) Есть еще, например, по ландшафту с определением материала, но тебе я думаю это не понадобится. Принцип действия "лучей": Указывается стратовая точка и направление, из стратовой точки в указанном направлении образуется так называемый луч толщиной в одну точку. Луч останавливается там где столкнется с препятствием. Можно задавать параметры дальности луча (чтобы он не просчитывался бесконечно если не встретит препятствие) и плотности проверки - можно проверять на столкновение каждый пиксел луча или, например, каждый 3-ий для оптимизации. В общем, читай в викии. Добавлено (09.07.2010, 19:35) --------------------------------------------- Если чего не понятно, стукни в асю, объясню детально.
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
Xt3Ri4N | Дата: Пятница, 09.07.2010, 20:28 | Сообщение # 5 |
Краб
Группа: Администраторы
Сообщений: 725
Награды: 7 +
Статус: Offline
| Dantalion13, решил продолжать делать миссии?))
Мои разработки:
Русификатор для B32 Русификатор для B26
|
|
| |
Mad_Alex | Дата: Пятница, 09.07.2010, 20:32 | Сообщение # 6 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Не исключено что он хочет написать бота-снайпера с улучшенным ИИ, направленным на оборону точки снайперским оружием. (просто догадки) Было бы клево...
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
RICARDO | Дата: Пятница, 09.07.2010, 21:21 | Сообщение # 7 |
Lt.Ricardo
Группа: Проверенные
Сообщений: 555
Награды: 31 +
Статус: Offline
| А на мой взгляд был бы эпичен кадр в миссии, где снайпер сверхточно убивает напарника в голову или сносит каску\шлем у ГГ в миссии. До сих пор вспоминаю подобный кадр из игрушки Rouge Trooper. Воспаминания.....
Lt.Ricardo's Blog
|
|
| |
Mad_Alex | Дата: Пятница, 09.07.2010, 21:49 | Сообщение # 8 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| см. Prison Escape 2
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
Raseri | Дата: Понедельник, 12.07.2010, 21:06 | Сообщение # 9 |
Темный Клинок
Группа: Добрый Модератор
Сообщений: 756
Награды: 23 +
Статус: Offline
| Что ж, я смог организовать обнаружение и идентификацию подвижных объектов. Еще узнал, что когда юнит поднимает голову, угол его "взгляда" всегда растет, а когда юнит опускает голову - угол всегда уменьшается. То есть угол отсчитывается от прямой Х в целом, вверх и вниз. Что отличается от того, что было в школе (считали угол против часовой стрелки, от одной половинки координатной оси). С этими tan/atan заемучился уже <_< В общем, когда смогу угол задавать подходящий, тогда и появится дальнозоркий юнит... Кстати, юниты под управлением скрипта стреляют от пояса. Значит, либо специальное снайперское оружие изготовлять для них, либо перехватывать и удалять вылетевшую из ствола пулю и заменять ее другой, либо... гранатометы/ракетницы им выдать. Там почти пофигу, что разброс будет. Вроде как, заставить их прицелится нельзя.
|
|
| |
Xt3Ri4N | Дата: Вторник, 13.07.2010, 13:36 | Сообщение # 10 |
Краб
Группа: Администраторы
Сообщений: 725
Награды: 7 +
Статус: Offline
| Dantalion13, что за миссию делаешь?
Мои разработки:
Русификатор для B32 Русификатор для B26
|
|
| |
Raseri | Дата: Вторник, 13.07.2010, 13:45 | Сообщение # 11 |
Темный Клинок
Группа: Добрый Модератор
Сообщений: 756
Награды: 23 +
Статус: Offline
| Просто хочу сделать юнитов сильнее =) А код в любой миссии и моде можно использовать будет =)
|
|
| |
Mad_Alex | Дата: Воскресенье, 18.07.2010, 17:09 | Сообщение # 12 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Quote (Dantalion13) tan/atan В топку их, юзай atan2. Параметры: расстояние Х и расстояние У (может в обратном порядке), результат: нужный угол в радианах, если не ошибаюсь. Древний прием всех кто работал с объектно-ориентированным программированием для разработки игр или прочей интерактивной байды. Юзал его в ЭкшнСкрипте. Добавлено (18.07.2010, 17:09) ---------------------------------------------
Quote (Dantalion13) Вроде как, заставить их прицелится нельзя. actor:GetController():SetState(Controller.SHARPAIM, true); Может быть не SHARPAIM а SHARP_AIM. Вобщем как-то так. Обращайся.
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
Raseri | Дата: Вторник, 20.07.2010, 16:30 | Сообщение # 13 |
Темный Клинок
Группа: Добрый Модератор
Сообщений: 756
Награды: 23 +
Статус: Offline
| ни SHARPAIM, ни SHARP_AIM не подходят. AIM_SHARP подошло По предварительным испытаниям, угол нужно задавать так: Quote self.actor:SetAimAngle(math.atan2 (math.abs(self.actor.Pos.Y - self.PointsY[a]), math.abs(self.actor.Pos.X - self.PointsX[a])));
|
|
| |
Mad_Alex | Дата: Вторник, 20.07.2010, 16:56 | Сообщение # 14 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Именно. Quote (Dantalion13) AIM_SHARP подошло Точно. Извини за то что не то подсказал.
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
Raseri | Дата: Вторник, 20.07.2010, 17:02 | Сообщение # 15 |
Темный Клинок
Группа: Добрый Модератор
Сообщений: 756
Награды: 23 +
Статус: Offline
| Да ерунда Code if self.actor.Pos.X > self.PointsX[a] then if c == 1 then self.actor:GetController():SetState(Controller.MOVE_LEFT,true); c = 0; end end if self.actor.Pos.X < self.PointsX[a] then if c == 1 then self.actor:GetController():SetState(Controller.MOVE_RIGHT,true); c = 0; end end self.actor:SetAimAngle(math.atan2 (self.actor.Pos.Y - self.PointsY[a], math.abs(self.actor.Pos.X - self.PointsX[a]))); self.actor:GetController():SetState(Controller.AIM_SHARP, true); self.actor:GetController():SetState(Controller.WEAPON_FIRE, true); self.PointsX[a], self.PointsY[a] - координаты цели. Прикрепляю к посту архив с тестовой миссией по проверке всего этого дела =) Если кто-нибудь знает более простое решение - предлагайте
|
|
| |
Mad_Alex | Дата: Вторник, 20.07.2010, 17:27 | Сообщение # 16 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Классно, только непонятно, во что он стреляет Ща буду ковырять код чтоб понять. Quote (Dantalion13) Если кто-нибудь знает более простое решение - предлагайте Решение чего?Добавлено (20.07.2010, 17:26) --------------------------------------------- Код написан вполне замечательно. Осталось лестницы заменить нормальными мишенями. Добавлено (20.07.2010, 17:27) --------------------------------------------- Кстати можно было вместо направления его влево\вправо командами движения, просто переключать переменную HFlipped
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
Raseri | Дата: Вторник, 20.07.2010, 17:28 | Сообщение # 17 |
Темный Клинок
Группа: Добрый Модератор
Сообщений: 756
Награды: 23 +
Статус: Offline
| Ясно
|
|
| |
Mad_Alex | Дата: Вторник, 20.07.2010, 17:36 | Сообщение # 18 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Code if self.actor.Pos.X > self.PointsX[a] then self.actor.HFlipped = true; end if self.actor.Pos.X < self.PointsX[a] then self.actor.HFlipped = false; end Вот так. Добавлено (20.07.2010, 17:36) --------------------------------------------- Так что же ты все же хочешь сделать?
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
Raseri | Дата: Вторник, 20.07.2010, 20:47 | Сообщение # 19 |
Темный Клинок
Группа: Добрый Модератор
Сообщений: 756
Награды: 23 +
Статус: Offline
| ^___^ Сделаю корректно сражающегося снайпера - покажу ^___^
|
|
| |
Mad_Alex | Дата: Вторник, 20.07.2010, 21:51 | Сообщение # 20 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Зацени снайпера. Включать миссию "Шахта 9". Может вылететь если ему уничтожат оружие. Алсо, не надо оценивать это как серьезную работу, это пруф концепта.
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
Raseri | Дата: Среда, 21.07.2010, 00:33 | Сообщение # 21 |
Темный Клинок
Группа: Добрый Модератор
Сообщений: 756
Награды: 23 +
Статус: Offline
| Снайпер дикий какой-то и нифига пользы от него нет... хмм... посмотрю код попозже...
|
|
| |
Mad_Alex | Дата: Среда, 21.07.2010, 00:47 | Сообщение # 22 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Это я над ним еще поработал, впринципе можно было только основу оставить.
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
Статистика Форума |
Последние темы |
Читаемые темы |
Последние зарегистрированные пользователи |
|
|
|
|