Блокирование смены оружия.

Сообщения
31
Реакции
-1
Как можно заблокировать комнды "slot1", "slot2" и "slot3", а также "lastinv"? Была неудачная попытка с register_clcmd.
 
Сообщения
31
Реакции
-1
fantom, не использую regamedll по причине постоянного появления ошибки Cahce_TryAlloc: "число" is greater that free hunk. Но попытаюсь использовать Ham_Item_Deploy.
 
Сообщения
31
Реакции
-1
fantom, не срабатывает ни предложенный мной способ, ни предложенные тобой.
22 Фев 2020
fantom,
Код:
RegisterHam(Ham_Item_CanHolster,        WEAPON_REFERENCE,    "Func_WeaponCanHolster_Pre", false);

public Func_WeaponCanHolster_Pre(iItem)
{
    if(!IsCustomItem(iItem)) return HAM_IGNORED;
    static iPlayer; iPlayer = get_pdata_cbase(iItem, m_pPlayer, linux_diff_weapon);
    if(!g_iHaveHolySword[iPlayer]) return HAM_IGNORED;
    
    static iWeaponState; iWeaponState = get_pdata_int(iItem, m_iWeaponState, linux_diff_weapon);
    if(iWeaponState == STATE_PARRYING || iWeaponState == STATE_PARRYING_SLASH || iWeaponState == STATE_PARRYING_SLASH2) return HAM_SUPERCEDE;
    return HAM_IGNORED;
}
Возможно, я неправильно использовал эту функцию, ведь работаю с ней первый раз.
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
zNeks, в оригинальном геймдлл там бага. m_pActiveItem все равно изменеяется, независимо от блокировки. Этот момент исправлен в регейме. Так что придется еще и этот момент учесть. Ну или юлокировать все комманды оружий (weapon_knife например), lastinv (вроде так) и менять обратно при дропе, подьеме и дркгих событиях. Еще вариант самый дубовый это хукать CurWeapon. И если он не тот, что нужен слать комманду от имени пользователя на переключение обратно на нужное оружие.
 
Сообщения
31
Реакции
-1
fantom, сработало использование register_clcmd.
22 Фев 2020
fantom, новая проблема: использование register_clcmd не работает с кастомным оружием.
22 Фев 2020
fantom,
Код:
public Func_ClientCommand(iPlayer)
{
    static szCommand[32], iWeaponNames; read_argv(0, szCommand, sizeof(szCommand));
    for(iWeaponNames = 0; iWeaponNames < sizeof g_szWeaponNames; iWeaponNames++)
    {
        if(equal(szCommand, g_szWeaponNames[iWeaponNames]))
        return FMRES_SUPERCEDE;
    }
    if(equal(szCommand,"lastinv")) return FMRES_SUPERCEDE;
    return FMRES_IGNORED;
}
Код FM_ClientCommand без проверок на само оружие.
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
fantom, не использую regamedll по причине постоянного появления ошибки Cahce_TryAlloc: "число" is greater that free hunk. Но попытаюсь использовать Ham_Item_Deploy.
Выдели больше оперативной памяти серверу и не будет этой ошибки.
 
Сообщения
31
Реакции
-1
Minni, как выделить какой-либо объем RAM серверу? С помощью файла подкачки?
 
Сообщения
443
Реакции
319
Помог
13 раз(а)
[HIDE]Windows?
[/HIDE]
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
zNeks, -heapsize количество выделяемой памяти в параметрах запуска.
 
Сообщения
443
Реакции
319
Помог
13 раз(а)
[HIDE]Не поможет. Лишнее закрой просто, тебе памяти не хватает.
[/HIDE]
 
Сообщения
443
Реакции
319
Помог
13 раз(а)
[HIDE]Все 16 свободны? Ты уверен что у тебя не включена подкачка? WinSXS и SysMain свое дело сделают даже с heapsize на 10. Поэтому и был задан вопрос об ОС.
[/HIDE]
 
Сообщения
31
Реакции
-1
Shel, постоянно свободны 12 GB.
22 Фев 2020
Shel, уверен, что подкачка не включена.
 
Последнее редактирование:
Сообщения
443
Реакции
319
Помог
13 раз(а)
[HIDE]Тогда попробуй с тем что указали, но 20-30 итераций смен карты со свободными 10гб у меня лично из-за SysMain с такой же ошибкой выбьет. Приходится на лине тестить.

А hud_fastswitch какой?
[/HIDE]
 
Последнее редактирование:

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

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