Возможна ли полная блокировка глушителя?

Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
В принципе, описывать нечего. Название темы уже поведало мой вопрос. Могу лишь дополнить: возможно ли заблокировать полностью надевание глушителя на М4А1, чтобы при нажатии или зажатии клавиши ПКМ ничего не происходило?
 
Сообщения
855
Реакции
532
Помог
13 раз(а)
/**
* CCSPlayerWeapon API Members
*/
enum CCSPlayerWeapon_Members
{
/*
* Description: Can the weapon have secondary attack
* Member type: bool
* Get params: get_member(index, member);
* Set params: set_member(index, member, bool:value);
*/
m_Weapon_bHasSecondaryAttack = BEGIN_MEMBER_REGION(csplayerweapon),
};
для того оружия, у которого не должно быть secondaryattack этот оффсет включает такую возможность. Скорее всего может и отключить, но это не точно
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
Не поможет.

/**
* CCSPlayerWeapon API Members
*/
enum CCSPlayerWeapon_Members
{
/*
* Description: Can the weapon have secondary attack
* Member type: bool
* Get params: get_member(index, member);
* Set params: set_member(index, member, bool:value);
*/
m_Weapon_bHasSecondaryAttack = BEGIN_MEMBER_REGION(csplayerweapon),
};
для того оружия, у которого не должно быть secondaryattack этот оффсет включает такую возможность. Скорее всего может и отключить, но это не точно
Уже пробовал, но никакого эффекта не дало :)
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
Блокировать SecondaryAttack через Ham?
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
Блокировать SecondaryAttack через Ham?
Аналогично. Я даже добавлял различные хуки и блоки, но код становился куда более костыльный и смахивал на сверхмощный быдлокод. Да и с ним все равно криво работало.
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
Код:
#include <amxmodx>
#include <hamsandwich>

public plugin_init() {
    RegisterHam(Ham_SecondaryAttack, "weapon_m4a1", "HookSecondaryAttack", 0);
    RegisterHam(Ham_SecondaryAttack, "weapon_ucp", "HookSecondaryAttack", 0);
}

public HookSecondaryAttack() {
    return HAM_SUPERCEDE;
}
Типа такого
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
steelzzz, начну с того, что та тема не походит для этого вопроса. Продолжу тем, что код уж больно старый и не рабочий.
12 янв 2011, 15:58
 
Сообщения
584
Реакции
1,006
Помог
18 раз(а)
Под Мку наверно другие константы для анимации.
Код:
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

const m_pPlayer = 41;
const XO_CBASEPLAYERWEAPON = 4;

public plugin_init() {
    RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_usp", "HookSecondaryAttack", 0);
}

public HookSecondaryAttack(weapon) {
    new id = get_pdata_cbase(weapon, m_pPlayer, XO_CBASEPLAYERWEAPON);

    set_pev(id, pev_weaponanim, 8);

    message_begin(MSG_ONE, SVC_WEAPONANIM, .player = id);
    write_byte(8);
    write_byte(0);
    message_end();
    
    cs_set_weapon_silen(weapon, 0, 0);
    
    return HAM_SUPERCEDE;
}
 
Сообщения
212
Реакции
334
Помог
3 раз(а)
Может, использовать m_flNextSecondaryAttack (47) в CurWeapon?
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
Mistrick, для меня это не играет роли. Анимацию я уберу в самой модели.
Xelson, не юзаю CurWeapon, как и модуль cstrike.
Писал
Код:
set_member(weapon, m_Weapon_flNextSecondaryAttack, get_gametime() + 9999.0);
и в Ham_Item_Deploy, и в Ham_Weapon_PrimaryAttack, и в Ham_Item_AttachToPlayer, и в Ham_Item_AddToPlayer, делал post и pre. Результат был один и тот же в любых комбинациях.
 
Сообщения
212
Реакции
334
Помог
3 раз(а)
Minni, попробуй не использовать get_gametime(), просто 999.9
 
Сообщения
432
Реакции
410
Помог
14 раз(а)
Код:
public HookSecondaryAttack(weapon) {
    set_member(weapon, m_Weapon_flNextSecondaryAttack, 999.0);
    return HAM_SUPERCEDE;
}
Проверил, работает отлично
Хук на pre, естественно
 
Сообщения
432
Реакции
410
Помог
14 раз(а)
Minni, нормально все. Разве что если обе кнопки зажать клиентская анимация полностью ломается, но тут только cl_lw 0 поможет
 

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

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