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

Тема в разделе "Программирование / Скриптинг", создана пользователем iamdss, 28 июн 2015.

  1. iamdss

    iamdss

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

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

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

    Reiko1231 AlexTheRegent

    Сообщения:
    235
    Симпатии:
    568
    Модели можно посмотреть при помощи программы, которая есть в игровом клиенте "Counter-Strike Source\bin\hlmv.exe". Правда у меня напрямую она не вызывается, приходится запускать батником (windows7).
    Код:
    @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 нравится это.
  3. iamdss

    iamdss

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

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

    Reiko1231 AlexTheRegent

    Сообщения:
    235
    Симпатии:
    568
    Скорее всего так и есть, error.mdl значит, что модель не была найдена, либо содержит ошибки, либо повреждена.