Бросок лома/палки

iamdss

Участник
Сообщения
126
Реакции
12
В рамках самообучения кодингу захотел сделать для своего HL2DM плагин, реализующий бросок ломика/шокера с большим уроном. Нажатие кнопки альт. огня отловил, а дальше попытался взять код метания ножа из аналогичного плагина для CS. Вот только я не знаю:

1. Какую модель использовать (.mdl)
2. Какие параметры у модели
3. Как правильно реализовать урон

Предполагаю, что модель-то останется ломика или шокера, но как называется, не знаю, где посмотреть - тоже. Насчёт урона - смотрел в исходник, не понял... его самому просчитывать надо?
 

Reiko1231

AlexTheRegent
Сообщения
508
Реакции
1,336
Какую модель использовать (.mdl)
Модели можно посмотреть при помощи программы, которая есть в игровом клиенте "Counter-Strike Source\bin\hlmv.exe". Правда у меня напрямую она не вызывается, приходится запускать батником (windows7).
C-подобный:
@echo off
:: Batch file to launch Half-Life model viewer with proper environment

:: Confirm VPROJECT variable is set
call "%~d0%~p0check_sdk_env.bat"

:: Launch HLMV
echo Starting HLMV...
echo Executing "%~d0%~p0hlmv.exe" %*
start "" "%~d0%~p0hlmv.exe" %*
Используемые бат файлы в этом скрипте вроде как присутствуют по умолчанию в игровом клиенте.

Если же модели запакованы в .vpk, то их нужно распаковать, например, программой GCFScape и потом уже открыть через редактор моделей. Найти нужную модель можно по названиям, так как они называются по своим именам. Только распаковывать лучше сразу все архивы, чтобы не было нехватки моделей\физики, иначе будет error.mdl в просмотрщике.

Какие параметры у модели
Параметры модели можно взять из плагина броска ножей, отличаться будет только model.

Как правильно реализовать урон
https://sm.alliedmods.net/new-api/sdkhooks/SDKHooks_TakeDamage

Насчёт урона ... его самому просчитывать надо
Да, самому. По умолчанию при соприкосновении урон от объекта не наносится, проще рассчитать его самому, чем заставить это делать движок, хотя я могу и ошибаться.
 

iamdss

Участник
Сообщения
126
Реакции
12
иначе будет error.mdl в просмотрщике

Не поэтому ли, когда я пытаюсь создать энтити, изображающий реактивный ранец за спиной игрока, у меня поперёк экрана в игре висит надпись "ERROR", прямо на игроке?

Параметры модели можно взять из плагина броска ножей, отличаться будет только model.

В принципе, сделал всё так же (копипаста, там ошибиться сложно) но ломик не спаунится. Чуть позже приаттачу код, ибо сейчас не дома...
 

Reiko1231

AlexTheRegent
Сообщения
508
Реакции
1,336
Не поэтому ли, когда я пытаюсь создать энтити, изображающий реактивный ранец за спиной игрока, у меня поперёк экрана в игре висит надпись "ERROR", прямо на игроке?
Скорее всего так и есть, error.mdl значит, что модель не была найдена, либо содержит ошибки, либо повреждена.
 
Сверху Снизу