Прицел без оружия

Сообщения
468
Реакции
249
Помог
6 раз(а)
В одном режиме не связанном со стрельбой понадобилось отобрать всё оружие у игроков совсем. Беда в том, что при этом у части игроков остаётся прицел от последнего использованного оружия, а у части его вообще нет. Нет его как правило у тех, кто только что зашёл в КС и сразу на сервер с этим режимом. Прицел в любом случае нужен, т. к. с его помощью необходимо целиться. Как отобразить игрокам прицел независимо от того, есть у них что-то в руках или нет?
 
Сообщения
468
Реакции
249
Помог
6 раз(а)
Ayk, спасибо за предложенный вариант, но похоже я остановлюсь на кое-каком другом, т. к. он мне идеально подошёл. За него спасибо Xelson.

Заключается способ в том, что нож остаётся на месте (карта по дефолту выдаёт только его), но скрываются его модели и блокируется атака. В итоге получается так, что у игроков всегда будет один прицел, никаких багов с моделями и выглядит всё это хорошо. Игроки даже не поймут, что у них в руках нож на самом деле) Делается это так:
Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <reapi>

public plugin_init() {
    RegisterHookChain(RG_CBasePlayer_OnSpawnEquip, "StripKnife", true) // Ловим спавн

    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "BlockKnifeAttack") // Ловим основную атаку ножом
    RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "BlockKnifeAttack") // Ловим второстепенную атаку ножом
}

public StripKnife(id) {
    set_pev(id, pev_viewmodel2, "") // Блокируем показ v_ моделей
    set_pev(id, pev_weaponmodel2, "") // Блокируем показ p_ моделей
}

public BlockKnifeAttack(id) {
    return HAM_SUPERCEDE // Запрещаем атаку
}
 
Последнее редактирование модератором:

Ayk

Сообщения
763
Реакции
476
Помог
19 раз(а)
set_pev(id, pev_weaponmodel2, "") // Блокируем показ w_ моделей
Имеет ли смысл уточнить что это для p_ модели? Ну чтобы новички учили верную инфу. :blum2:
 
Сообщения
468
Реакции
249
Помог
6 раз(а)
Ayk, да, не помешало бы исправить мою ошибку. Только редактировать уже больше не могу, если только кто-то из модеров/админов сменит буковку.
 
Сообщения
2,144
Реакции
1,223
Помог
44 раз(а)
CHEL74, если на то пошло, то можно и так:

Код:
#include <amxmodx>
--#include <fakemeta>
#include <hamsandwich>
#include <reapi>

public plugin_init() {
    RegisterHookChain(RG_CBasePlayer_OnSpawnEquip, "StripKnife", true) // Ловим спавн

    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "BlockKnifeAttack") // Ловим основную атаку ножом
    RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "BlockKnifeAttack") // Ловим второстепенную атаку ножом
}

public StripKnife(id) {
--    set_pev(id, pev_viewmodel2, "") // Блокируем показ v_ моделей
--    set_pev(id, pev_weaponmodel2, "") // Блокируем показ w_ моделей
++    set_entvar(id, var_viewmodel, "") // Блокируем показ v_ моделей
++    set_entvar(id, var_weaponmodel, "") // Блокируем показ p_ моделей
}

public BlockKnifeAttack(id) {
    return HAM_SUPERCEDE // Запрещаем атаку
}
 
Сообщения
2,491
Реакции
2,790
Помог
61 раз(а)
Minni, в даном случае не имеет большого значения фм или реапи
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу