
| Файлы | wphys_amxx_i386.so (Linux), wphys_amxx.dll (Windows) |
| В modules.ini | wphys |
| Версия | 3.0 |
| Тип | модуль AMXX через Metamod, плагин не нужен |
| Работает на | AMXX 1.8.2 / 1.9 / 1.10, HLDS и ReHLDS, Linux и Windows |
| Игрокам качать | ничего |
Что это
В обычной 1.6 выкинутый ствол падает плашмя и лежит как приклеенный. Я сделал так, чтобы оружие стало нормальным физическим предметом с весом и инерцией. Оно летит по дуге, бьется о пол углами, переворачивается, отскакивает от стен и игроков, подпрыгивает от пуль и разлетается от гранат. Это мой основной модуль, и игроки его замечают первым.
Что умеет
- Кидаешь на G, и оружие летит дугой с учетом твоей скорости, кувыркается и ложится на бок. Если упало на приклад, перевернется.
- Если в момент броска махнуть мышкой, оружие закрутится в ту же сторону. Влево-вправо уходит дугой, вверх-вниз крутится через нос.
- Иногда после удара о стену оружие не отскакивает, а остается стоять, прислонившись к ней. Выстрел, взрыв или пинок его роняют.
- На пологом склоне держится, с крутого съезжает, со ступенек падает.
- Учитывается материал карты: по плитке и металлу скользит и звенит, в песке и снегу вязнет.
- Оружие складывается в кучи, брошенное сбивает лежащее. Подобрал нижнее, верхнее падает.
- Отскакивает от игроков, ботов, дверей и ящиков. Если бежать по оружию, которое не можешь поднять, оно отлетает из-под ног. На лифтах едет вместе с полом.
- От пули лежащее оружие подпрыгивает тем концом, куда попали, летящее сбивается. Есть искры и рикошет.
- HE, C4 и взрывы карты раскидывают оружие, но через стену не действуют.
- Летящее оружие можно поймать на лету.
- В воде медленно тонет.
- Когда оружие лежит без движения, оно "засыпает" и не грузит сервер. Если где-то застряло, вернется на место.
Если стоит мой Grab, оружие, отпущенное грабом, дальше летит уже по этой физике.
Как это работает
Когда игра создает выброшенное оружие (weaponbox), модуль его ловит и берет размеры из модели. Получается коробка с массой (зависит от длины) и инерцией.
Дальше каждый кадр модуль сам считает гравитацию, столкновения оружия друг с другом и удары об мир. Удары ищутся трассами к 12 точкам коробки, с упругостью и трением. Движок только двигает оружие туда, куда сказал модуль.
Поднять оружие можно, только когда оно лежит, как в обычной CS (поймать в воздухе можно, если включен wphys_catch). Пули модуль узнает по трассам выстрела, взрывы по сообщению взрыва.
По нагрузке: летящий ствол дает до 26 трасс за кадр, лежащий пару трасс раз в 0.25 секунды. Обычно летят единицы, остальное спит.
Квары
Квары можно менять прямо во время игры, карту менять не надо.
Ограничения
- Работает только с выброшенным оружием. То, что расставлено на карте (armoury_entity), не трогается.
- Форма у оружия коробка, поэтому острый угол карты иногда может зайти в него на пару юнитов.
- Двери, которые наезжают на лежащее оружие, будят и выталкивают его, но толкать по-настоящему не умеют.
- Распакуйте архив в cstrike, модуль сам ляжет в addons/amxmodx/modules/.
- Допишите wphys в addons/amxmodx/configs/modules.ini.
- Строку ключа из "Мои лицензии" вставьте в addons/amxmodx/configs/amxrun.cfg (
ID_товара ключ порт). - Квары из addons/amxmodx/configs/wphys.cfg перенесите в amxx.cfg или server.cfg, если хотите что-то поменять. Без них будут стандартные значения.
- Перезапустите сервер. В
amxx modulesдолжно быть Weapon Physics running, а командаwphysпокажет, сколько оружия летит, лежит и стоит у стены, плюс лицензию и настройки.
Без ключа модуль выключен, оружие ведет себя как в обычной CS.
| Квар | По умолчанию | Описание |
|---|---|---|
| 1 | 0 выключает модуль | |
| 1.0 | гравитация оружия (множитель sv_gravity) | |
| 0.3 | упругость, 0 не прыгает, 1 как мячик | |
| 0.6 | трение, при 0.6 держится на склоне до 31 градуса | |
| 260 | скорость броска | |
| 90 | сколько добавить вверх при броске | |
| 0.5 | какая часть скорости игрока передается броску | |
| 1.0 | насколько сильно кувыркается при броске | |
| 1.0 | закрутка мышкой (0 выкл) | |
| 5.0 | толчок от пули на 1 урона (0 выкл) | |
| 900 | толчок от взрыва (0 выкл) | |
| 350 | радиус взрыва HE | |
| 1 | физика и для выброшенной бомбы | |
| 0.35 | шанс встать у стены (0 никогда, 1 всегда) | |
| 1 | столкновения оружия между собой | |
| 1 | трение и отскок по материалу поверхности | |
| 1 | отскок от игроков и пинки ногами | |
| 1 | можно ловить оружие на лету | |
| 1 | искры, рикошет, звук удара | |
| 1 | лог при падении сервера (Linux) |