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:
<?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_UNASSIGNED: g_Team[id] = 0;
case
CS_TEAM_SPECTATOR: g_Team[id] = 1;
case
CS_TEAM_CT: g_Team[id] = 2;
case
CS_TEAM_T: g_Team[id] = 3;
}
voice_check(id, 0, g_Team[id]);
}
return
PLUGIN_HANDLED;
}

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

public
Fw_SetClientListening_pre(receiver, sender, bool: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_SetClientListening, receiver, sender, listen);
    return FMRES_SUPERCEDE;
}

public
voice_check(id, type, team)
{
new
num, i;
static
players[32];
get_players(players, num);
for(--
num; num >= 0; num--)
{
i = players[num];
if(
g_isAdmin[i])
{
message_begin(MSG_ONE_UNRELIABLE, g_pMsgTeamInfo, _, i);
write_byte(id);
if(!
type)
{
write_string("SPECTATOR");
}
else
{
switch(
g_Team[id])
{
case
0: write_string("SPECTATOR");
case
1: write_string("SPECTATOR");
case
2: write_string("CT");
case
3: write_string("TERRORIST");
}
}
message_end();
}
}
}
[+] 3 users say Thank You to GabsHp for this post
Responder

TK.*SARGENTO*.S2 Sin conexión
User
#2
Thumbs Up 
Eso estaría muy bien a la hora de querer hablar sobre algún tema del servidor con los otros admins, también serviría para decirnos si hay alguien con hacks y ese tipo de cosas
[Imagen: 76561198271140825.png]
[+] 1 user says Thank You to TK.*SARGENTO*.S2 for this post
Responder

D O N K A N. Sin conexión
Banned
#3
La neta, buen post, le veo una muy gran utilidad al plugin
[+] 1 user says Thank You to D O N K A N. for this post
Responder

Nespresso Sin conexión
User
#4
(08-31-2020, 08:17 PM)GabsHp escribió:
[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:
<?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_UNASSIGNED: g_Team[id] = 0;
case
CS_TEAM_SPECTATOR: g_Team[id] = 1;
case
CS_TEAM_CT: g_Team[id] = 2;
case
CS_TEAM_T: g_Team[id] = 3;
}
voice_check(id, 0, g_Team[id]);
}
return
PLUGIN_HANDLED;
}

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

public
Fw_SetClientListening_pre(receiver, sender, bool: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_SetClientListening, receiver, sender, listen);
    return FMRES_SUPERCEDE;
}

public
voice_check(id, type, team)
{
new
num, i;
static
players[32];
get_players(players, num);
for(--
num; num >= 0; num--)
{
i = players[num];
if(
g_isAdmin[i])
{
message_begin(MSG_ONE_UNRELIABLE, g_pMsgTeamInfo, _, i);
write_byte(id);
if(!
type)
{
write_string("SPECTATOR");
}
else
{
switch(
g_Team[id])
{
case
0: write_string("SPECTATOR");
case
1: write_string("SPECTATOR");
case
2: write_string("CT");
case
3: write_string("TERRORIST");
}
}
message_end();
}
}
}

hola buen día! Mi nombre es Nespresso, nosotros tenemos un servidor y me interesa el plugin, Como puedo descargarlo? no veo el link de descarga. Muchas gracias!!
Saludos, desde argentina.

Nesss
Responder

Pantera. Sin conexión
El Staff Corrupto
#5
Solamente copea el codigo y puedes compilarlo sin problema, De igual manera si no sabes como hacerlo mandame mensaje por steam y te ayudo con el .amxx
Responder

Nespresso Sin conexión
User
#6
(10-04-2022, 07:20 AM)Pantera. escribió: Solamente copea el codigo y puedes compilarlo sin problema, De igual manera si no sabes como hacerlo mandame mensaje por steam y te ayudo con el .amxx

Gracias por responderme amigo!!! TE mande un mensaje privado, con mi numero de Steam para que me agregues. Gracias!"!
Responder

Pantera. Sin conexión
El Staff Corrupto
#7
Si gustas puedes mandarme mensaje te dejo aqui mi steam 
mxemexico - STEAM Pantera
Responder





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 .