AMX MOD X
Четверг, 28.03.2024, 17:18:27



Приветствую Вас Гость | RSS
[ Главная ] [ Fired Particle Details - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Скрипты » Fired Particle Details (Как определить создание/тип/номер/препятствие/вектор пули)
Fired Particle Details
VENДата: Среда, 03.01.2007, 22:36:45 | Сообщение # 1
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Внимание! При большом пинге клиента сервер производит дополнительную проверку (т .н. prediction), трассируя дополнительные линии, что делает данный метод неэффективным!

Большинство "shot/bullet/shell/fire/trace/particle/projectile/etc" плагин-авторов вместо trace вектора пули/дробовой частицы используют вектор взора игрока. Так вот знайте, что разница угла между такими векторами может достигать значения, даже большего, чем 30 градусов! Причиной этому является т.н. "отдача" и "разброс". Правильно было бы "ловить" TraceLine, фильтровать "огневую" trace и получать ее вектор.

Вы также должны понимать, что некоторые оружия:

    - довольно мощные, поэтому их пули могут последовательно поочереди "создавать" вторую и третью trace для первого и второго столкновения с каким-либо препятствием
    - поддерживают т.н. "burst" огневой режим, поэтому в каждый момент атаки производится т.н. "мультивыстрел", т.е. несколько одиночных выстрелов с небольшой временной задержкой, каждый выстрел "выпускает" одну пулю
    - поддерживают т.н. "дробовой" выстрел, так в каждый момент атаки производится одиночный выстрел, который "выпускает" группу "частиц", каждая из которых имеет свою trace, которые создаются последовательно

Данный скрипт показывает, как:

    - "отфильтровать" "огневую" trace среди множества других trace
    - распознать тип огневой trace: пуля или дробовая частица
    - определить текущий номер дробовой частицы для текущего выстрела
    - определить, куда попадает пуля/частица: world/brush или entity/игрок
    - вычислить текущий "реальный" вектор пули/дробовой частицы

Примечение: Вы также можете просмотреть Fix Recoil плагин, который частично использует функциональность данного скрипта в упрощенном виде.

Прикрепления: 62204410.sma (6.9 Kb)


Сообщение отредактировал VEN - Воскресенье, 06.05.2007, 23:20:20
 
slogicДата: Вторник, 09.01.2007, 00:56:47 | Сообщение # 2
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Серьезный труд. up
 
jetadmДата: Суббота, 10.02.2007, 10:41:39 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 2
Репутация: 0
Статус: Не в сети
Вопрос: как отрисовать путь последней пули, которая убила тебя?
 
VENДата: Суббота, 10.02.2007, 13:32:38 | Сообщение # 4
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Кэшировать позицию выпуска пули и позицию пули при попадании ее в игрока.
Во время смерти игрока отрисовать TE вектор на основе полученных точек.

Примечание: полный вектор пули не всегда равен полученному вектору всилу проникаемости пули.

Сообщение отредактировал VEN - Суббота, 10.02.2007, 13:35:16
 
jetadmДата: Среда, 14.02.2007, 05:24:03 | Сообщение # 5
Рядовой
Группа: Пользователи
Сообщений: 2
Репутация: 0
Статус: Не в сети
VEN: Как это можно сделать с помощью Вашего скрипта?

Сообщение отредактировал jetadm - Среда, 14.02.2007, 05:24:23
 
VENДата: Суббота, 17.02.2007, 19:47:34 | Сообщение # 6
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
в if (particle_is_fired) кэшируем fired_particle_start_origin
кэшируем vector, см. get_tr2(ptr, TR_vecEndPos, vector)
Во время "выпуска" DeathMsg, рисуем TE_BEAMPOINTS вектор (см. message_const.inc, messages.inc).
 
VENДата: Среда, 04.04.2007, 08:39:41 | Сообщение # 7
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Quote
Внимание! При большом пинге клиента сервер производит дополнительную проверку (т .н. prediction), трассируя дополнительные линии, что делает данный метод неэффективным!
 
RE_an1m@t0rrДата: Воскресенье, 06.05.2007, 16:46:36 | Сообщение # 8
Лейтенант
Группа: Скриптеры
Сообщений: 77
Репутация: 0
Статус: Не в сети
еслиб я там шото понимал cry
 
VENДата: Воскресенье, 06.05.2007, 23:20:43 | Сообщение # 9
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Добавил в первый пост:
Quote

Примечение: Вы также можете просмотреть Fix Recoil плагин, который частично использует функциональность данного скрипта в упрощенном виде.


Сообщение отредактировал VEN - Воскресенье, 06.05.2007, 23:21:01
 
CLLlAgOBДата: Среда, 13.02.2008, 18:25:18 | Сообщение # 10
Полковник
Группа: Скриптеры
Сообщений: 217
Репутация: 14
Статус: Не в сети
Спасибо!
 
AMX Mod X Форум » Скриптинг » Скрипты » Fired Particle Details (Как определить создание/тип/номер/препятствие/вектор пули)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024