Welcome Soldier.



[APORTE] [AMX] Admin Voice

GabsHp Sin conexión
Lord Gabs
#1
[AMX] Admin Voice 1.0
Aquí presento un nuevo aporte. Está pensado para ser usado por cualquier persona a la que le sea de utilidad

El [AMX] Admin Voice es un plugin de comunicación dedicado a administradores. Con este plugin, los administradores dentro del server pueden hablar entre ellos mismos por micrófono, sin que los demás jugadores los escuchen. Funciona como el chat de voz especial (Traidores/Detectives) del mod [TTT]

El plugin está porteado para cualquier server con AMX. (Probado en 1.8.2 y 1.8.3)

Créditos a GuskiS, pues es un port del TTT_VOICE y se usa gran parte de su código.

Cualquier duda/sugerencia/error será respondido a la brevedad.
Bind
Cita:
bind x +specialvoice
Código
Código PHP:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <cstrike>

new bool:g_isAdmin[33];
new 
g_Team[33];
new 
g_pMsgTeamInfo;

public 
plugin_init()
{
    
register_plugin("[AMX] Admin Voice""1.0""GabsHp & GuskiS");
    
register_forward(FM_Voice_SetClientListening"Fw_SetClientListening_pre"0);
    
register_clcmd("+specialvoice""set_VoiceOn");
    
register_clcmd("-specialvoice""set_VoiceOff");
    
g_pMsgTeamInfo get_user_msgid("TeamInfo");
}

public 
client_putinserver(id)
{
    if(
get_user_flags(id) & ADMIN_KICK)
    {
        
g_isAdmin[id] = true;
    }
    else
    {
        
g_isAdmin[id] = false;
    }
    
g_Team[id] = 0;
}

public 
client_disconnected(id)
{
    
g_isAdmin[id] = false;
    
g_Team[id] = 0;
}

public 
set_VoiceOn(id)
{
    if(
g_isAdmin[id])
    {
        
client_cmd(id"+voicerecord");
        switch(
cs_get_user_team(id))
        {
            case 
CS_TEAM_UNASSIGNEDg_Team[id] = 0;
            case 
CS_TEAM_SPECTATORg_Team[id] = 1;
            case 
CS_TEAM_CTg_Team[id] = 2;
            case 
CS_TEAM_Tg_Team[id] = 3;
        }
        
voice_check(id0g_Team[id]);
    }
    return 
PLUGIN_HANDLED;
}

public 
set_VoiceOff(id)
{
    if(
g_isAdmin[id])
    {
        
client_cmd(id"-voicerecord");
        
voice_check(id1g_Team[id]);
    }
    return 
PLUGIN_HANDLED;
}

public 
Fw_SetClientListening_pre(receiversenderbool:listen)
{
    if(!is_user_connected(receiver) || !is_user_connected(sender) || sender == receiver)
        return FMRES_SUPERCEDE;
        
    listen 
= ((get_speak(sender) == SPEAK_MUTED) ? false : (g_isAdmin[sender] && g_isAdmin[receiver]))
    
    engfunc
(EngFunc_SetClientListeningreceiversenderlisten);
    return FMRES_SUPERCEDE;
}

public 
voice_check(idtypeteam)
{
    new 
numi;
    static 
players[32];
    
get_players(playersnum);
    for(--
numnum >= 0num--)
    {
        
players[num];
        if(
g_isAdmin[i])
        {
            
message_begin(MSG_ONE_UNRELIABLEg_pMsgTeamInfo_i);
            
write_byte(id);
            if(!
type)
            {
                
write_string("SPECTATOR");
            }
            else
            {
                switch(
g_Team[id])
                {
                    case 
0write_string("SPECTATOR");
                    case 
1write_string("SPECTATOR");
                    case 
2write_string("CT");
                    case 
3write_string("TERRORIST");
                }
            } 
            
message_end();
        }
    }

[+] 3 users say Thank You to GabsHp for this post
Responder



Mensajes en este tema
[AMX] Admin Voice - por GabsHp - 08-31-2020, 08:17 PM
RE: [AMX] Admin Voice - por TK.*SARGENTO*.S2 - 09-01-2020, 03:38 AM
RE: [AMX] Admin Voice - por D O N K A N. - 09-01-2020, 11:11 PM
RE: [AMX] Admin Voice - por Nespresso - 10-03-2022, 09:58 PM
RE: [AMX] Admin Voice - por Pantera. - 10-04-2022, 07:20 AM
RE: [AMX] Admin Voice - por Nespresso - 10-04-2022, 01:43 PM
RE: [AMX] Admin Voice - por Pantera. - 10-07-2022, 06:36 AM



Usuarios navegando en este tema:
1 invitado(s)



Sobre M X E M E X I C O

Comunidad MxE © 2020 - La mejorar comunidad de Counter Strike 1.6 .