AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Dead players not hear anybody (https://forums.alliedmods.net/showthread.php?t=273638)

OnePL 10-23-2015 15:30

Dead players not hear anybody
 
I don't know why, but dead players not hear anybody

Code snippet:
PHP Code:

#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>

#define GetBit(%0,%1)        %0 & (1<<(%1 & 31))
#define SetBit(%0,%1)        (%0 |= (1<<(%1 & 31)))
#define ClearBit(%0,%1)        (%0 &= ~(1<<(%1 & 31)))

#define userFlags(%0,%1)    (get_user_flags(%0) & read_flags(%1))
#define userAlive(%0)        GetBit(g_iBitUserAlive, %0)

new g_iBitUserAlive;

public 
plugin_init() {
    
RegisterHamPlayer(Ham_Spawn"HamSpawn"1);

    
register_forward(FM_Voice_SetClientListening"VoiceSetListening");
}

public 
client_disconnected(idClearBit(g_iBitUserAliveid);

public 
HamSpawn(id) {
    if(!
is_user_alive(id) || userAlive(id)) return;

    
SetBit(g_iBitUserAliveid);
}

public 
VoiceSetListening(iReceiveriSenderbool:bListen) {
    static 
bool:bShouldListen;
    
bShouldListen false;

    if(
g_iAdminVoicebShouldListen = (g_iAdminVoice == iSender);
    else if(
GetBit(g_iBitInterAdminVoiceiSender)) bShouldListen bool:!!(userFlags(iReceiver"d"));
    else if(
GetBit(g_iBitUserAdminMutediSender) || jbe_get_ban_micro(iSender)) bShouldListen false;
    else if(
GetBit(g_iBitVipVoiceiSender) && userAlive(iSender)) {
        if(
userAlive(iReceiver) && g_iUserTeam[iSender] == g_iUserTeam[iReceiver]) bShouldListen true;
        else 
bShouldListen false;
    }
    else if(
g_iUserTeam[iSender] == 1) {
        if(
g_bRestartGamebShouldListen true;
        else if(~
GetBit(g_iBitUserVoiceiSender)) bShouldListen false;
    }
    else if(
userAlive(iReceiver)) bShouldListen bool:!!(userAlive(iSender));

    if(
bShouldListen != bListen) {
        
forward_return(FMV_CELLengfunc(EngFunc_SetClientListeningiReceiveriSenderbShouldListen));
        return 
4;
    }
    return 
1;




All times are GMT -4. The time now is 22:13.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.