Voices_Managment conflict with CA and other gag/mute plugins

Сообщения
23
Реакции
4
Ошибка
Voices_Managment conflict with chat addictions
ОС
Linux
Amx Mod X
1.10
Билд
the newest
ReGamedll
the newest
Версия Metamod
the newest metamod-r
Список метамодулей
> meta list
Currently loaded plugins:
description stat pend file vers src load unload
[ 1] Reunion RUN - reunion_mm_i386.so v0.2.0.13 ini Start Never
[ 2] Rechecker RUN - rechecker_mm_i386.so v2.7 ini Chlvl ANY
[ 3] AMX Mod X RUN - amxmodx_mm_i386.so v1.10.0.5467 ini Start ANY
[ 4] VoiceTranscoder RUN - VoiceTranscoder.so v2020RC2 ini ANY ANY
[ 5] ReAuthCheck RUN - reauthcheck_mm_i386.so v0.1.6 ini Start Never
[ 6] SafeNameAndChat RUN - SafeNameAndChat.so v1.2 Beta 3 ini ANY ANY
[ 7] WHBlocker RUN - whblocker_mm_i386.so v1.5.696 ini Chlvl ANY
[ 8] ReSemiclip RUN - resemiclip_mm_i386.so v2.4.3 ini Chlvl ANY
[ 9] HitBox Fix RUN - hitbox_fix_mm_i386.so v1.1.4 ini Start ANY
[10] MySQL RUN - mysql_amxx_i386.so v1.10.0.5467 pl3 ANY ANY
[11] SQLite RUN - sqlite_amxx_i386.so v1.10.0.5467 pl3 ANY ANY
[12] Fun RUN - fun_amxx_i386.so v1.10.0.5467 pl3 ANY ANY
[13] Engine RUN - engine_amxx_i386.so v1.10.0.5467 pl3 ANY ANY
[14] FakeMeta RUN - fakemeta_amxx_i386.so v1.10.0.5467 pl3 ANY ANY
[15] GeoIP RUN - geoip_amxx_i386.so v1.10.0.5467 pl3 ANY ANY
[16] CStrike RUN - cstrike_amxx_i386.so v1.10.0.5467 pl3 ANY ANY
[17] CSX RUN - csx_amxx_i386.so v1.10.0.5467 pl3 ANY ANY
[18] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.10.0.5467 pl3 ANY ANY
[19] ReAPI RUN - reapi_amxx_i386.so v5.24.0.300-dev pl3 ANY Never
[20] ReAimDetector RUN - reaimdetector_amxx_i386.so v0.2.2 pl3 ANY Never
[21] VoiceTranscoder API Provider RUN - VoiceTranscoderApiProvider_amxx_i386.so v1.0 pl3 ANY ANY
[22] CURL AMXX RUN - curl_amxx_i386.so v1.0.4 pl3 ANY ANY
[23] IPHub Client RUN - iphubclient_amxx_i386.so v1.0.1 pl3 ANY Never
23 plugins, 23 running
Список плагинов
id  name                    version     author            url                              file         status   
[ 1] 0 UNREAL ANTI-ESP 3.17 Karaulov unknown anti_esp.am running
[ 2] 1 AMXBans Core 6.13 YamiKaitou unknown amxbans_cor running
[ 3] 2 AMXBans Main 6.13 YamiKaitou unknown amxbans_mai debug
[ 4] 3 SklepCS.pl 1.20 vanillah + Adi sklepcs.amx running
[ 5] 4 Admin Base 1.10.0.546 AMXX Dev Team admin.amxx stopped
[ 6] 5 Admin Commands 1.10.0.546 AMXX Dev Team admincmd.am running
[ 7] 6 Admin Help 1.10.0.546 AMXX Dev Team adminhelp.a running
[ 8] 7 Checker Res 1.0.0 unknown slot.amxx running
[ 9] 8 Multi-Lingual System 1.10.0.546 AMXX Dev Team multilingua running
[ 10] 9 Menus Front-End 1.9.0.5294 AMXX Dev Team unknown menufront.a running
[ 11] 10 Commands Menu 1.10.0.546 AMXX Dev Team cmdmenu.amx running
[ 12] 11 Reason_Kicker 0.1 Tramp unknown ReasonKicke running
[ 13] 12 Players Menu 1.10.0.546 AMXX Dev Team plmenu.amxx running
[ 14] 13 Teleport Menu 1.10.0.546 AMXX Dev Team telemenu.am running
[ 15] 14 Maps Menu 1.10.0.546 AMXX Dev Team mapsmenu.am running
[ 16] 15 Chat Logger 2.1a Jim unknown chat_logger running
[ 17] 16 Admin Chat 1.9.0.5294 AMXX Dev Team unknown adminchat.a running
[ 18] 17 Anti Flood 1.10.0.546 AMXX Dev Team antiflood.a running
[ 19] 18 Scrolling Message 1.10.0.546 AMXX Dev Team scrollmsg.a running
[ 20] 19 Info. Messages 1.10.0.546 AMXX Dev Team imessage.am running
[ 21] 20 Admin Votes 1.10.0.546 AMXX Dev Team adminvote.a running
[ 22] 21 NextMap 1.10.0.546 AMXX Dev Team nextmap.amx running
[ 23] 22 TimeLeft 1.10.0.546 AMXX Dev Team timeleft.am running
[ 24] 23 Pause Plugins 1.10.0.546 AMXX Dev Team pausecfg.am running
[ 25] 24 Stats Configuration 1.10.0.546 AMXX Dev Team statscfg.am running
[ 26] 25 Restrict Weapons 1.10.0.546 AMXX Dev Team restmenu.am running
[ 27] 26 CS Misc. Stats 1.10.0.546 AMXX Dev Team miscstats.a debug
[ 28] 27 ReAimDetector API 0.2.2 ReHLDS Team unknown reaimdetect running
[ 29] 28 AdminListen 2.3x /dev/ urandom unknown adminlisten debug
[ 30] 29 Admin Spectator ESP 1.3 KoST unknown admin_spec_ running
[ 31] 30 Invisible Spectator 0.2 ConnorMcLeod unknown invisible_s running
[ 32] 31 Show IP 1.0 $uicid3 unknown amx_ipadmin running
[ 33] 32 Ultimate Destroyer 3.4 Scorpion Flail unknown ultimate_de running
[ 34] 33 unknown unknown unknown unknown blokada_Fir running
[ 35] 34 New Plug-In 1.0 author unknown NocnySvip22 running
[ 36] 35 VIP Ultimate 12.3.0.2 benio101 & speed unknown viptest_opt running
[ 37] 36 VIP Ultimate 12.3.0.2 benio101 & speed unknown sviptest_op running
[ 38] 37 FREE VIP 1.0 Devil unknown freevip.amx running
[ 39] 38 Prefix System 1.0 dredek https://1s2k.pl/ prefix_syst running
[ 40] 39 StatsX 1.8.2 vanillah & AMXX unknown vnh_statsx. running
[ 41] 40 System: Core 2.0 dredek unknown ranking_cor running
[ 42] 41 BestPlayer 1.0 KaMaZZ unknown Najlepszy1. running
[ 43] 42 Allow round finish 1.0.2 EKS & Sn!ff3r unknown ranking_all running
[ 44] 43 Skins & Shop 1.0 KoRrNiK & Paweł https://amxx4u.pl/ addon_skins running
[ 45] 44 Admin Weapon II Build 3 SniperBeamer & G unknown admin_weapo running
[ 46] 45 Short Nade 1.0 Grzyboo unknown shortnade.a running
[ 47] 46 Advanced Bullet Damage 1.0 Sn!ff3r unknown abd.amxx running
[ 48] 47 Autoresponder/Advertis 0.5 MaximusBrood unknown ad_manager1 running
[ 49] 48 Team Balancer 1.8b3 Ptahhotep unknown ptb.amxx running
[ 50] 49 Map Blocking Walls 1.2 O'Zone unknown walls_old.a running
[ 51] 50 CS Polish 0.1 KaLoSZyFeR unknown polski_cs.a running
[ 52] 51 Reset Score 1.0 Silenttt unknown resetscore. running
[ 53] 52 unknown unknown unknown unknown parachute.a running
[ 54] 53 RoundSound 2.1 speedkill unknown RoundSound. running
[ 55] 54 Game Namer 1.1 NeuroToxin unknown gamenamecha running
[ 56] 55 Voice Manager 1.0.0 O'Zone unknown voice_manag running
[ 57] 56 Blokada zmiany nicku 1.0 grankee unknown G_block_nam running
[ 58] 57 Lame Connection Punish 1.2 MeRcyLeZZ unknown lame_connec running
[ 59] 58 AntiFlash FINAL 5.0 Leo_[BH] unknown antiflash5. running
[ 60] 59 flashed duration 0.0.2 alliedmodders unknown flashed_dur running
[ 61] 60 [ReAPI] No Team Flash 0.0.2 unknown unknown noslfash_sb running
[ 62] 61 Dodatkowy Exp 0.1 DarkGL unknown asysty.amxx running
[ 63] 62 x v0.1 aSior - amxx.pl/ unknown tkontakt.am running
[ 64] 63 x v0.1 aSior - amxx.pl/ unknown granathedam running
[ 65] 64 Interp & komendy 1.0 Scorpion unknown interp_new. running
[ 66] 65 AFK Manager v1.6 Leon McVeran unknown afk_manager running
[ 67] 66 Respawn alert 1.1 RiviT unknown Respawn_Ale running
[ 68] 67 EveryoneIsMedic 1.51 Sylwester unknown eim_optimiz running
[ 69] 68 IPLog 1.0 RaYden unknown IPlog.amxx running
[ 70] 69 FreeWeapon 0.1.2 Blizzard_87 unknown freeweapon. running
[ 71] 70 Auto Demo Recorder 1.5 IzI unknown amx_demorec running
[ 72] 71 Bomb Countdown HUD Tim 0.2 SAMURAI unknown bcd_hudtime running
[ 73] 72 Fake TeamBot 1.3 OneEyed & Sebul unknown faketeambot running
[ 74] 73 Vip system 2.0.2 dredek unknown 2skoki.amxx running
[ 75] 74 Frags Counter 1.0 CHEL74 unknown frags_count running
[ 76] 75 Elite bets 1.0 Mi-Ki unknown elite_bets. running
[ 77] 76 Info po smierci 1.0 DarkGL unknown inf_smierc. running
[ 78] 77 AWP/AUTO Limit (Team/W 1.60 SD/MG/DS/KWo unknown sniperlimit running
[ 79] 78 BS Limiter 1.1.1 Pavulon unknown bs_limiter. running
[ 80] 79 Text with sprites 1.1.1 wellasgood unknown text_with_s running
[ 81] 80 Bypass Guard 1.0.9 mx?! unknown bypass_guar running
[ 82] 81 [BG] Provider: IPHub-C 1.3 mx?! unknown bg_provider running
[ 83] 82 [190] Vanga Detector 23.07.29 SKAJIbnEJIb & Pr unknown vanga_detec running
[ 84] 83 Unreal Aim Blocker 2.2 karaulov unknown aim_blocker running
[ 85] 84 Unreal Cheater Cry 1.2 Karaulov unknown unreal_chea running
[ 86] 85 HPP_BLOCK 1.1 UNKNOWN + bristo unknown hpp_blocker running
[ 87] 86 Unreal Evol Blocker 1.1 Karaulov unknown evol_block. running
[ 88] 87 AMXBans Flagged 6.13 YamiKaitou unknown amxbans_fre running
[ 89] 88 AMXBans: Screens Gm 1.6 Larte Team unknown amxbans_ssb running
89 plugins, 88 running
Автор плагина
Nordic Warrior
Версия плагина
1.94
Исходный код
// Required admin access level
#define ADMIN_VOICE ADMIN_CHAT

// Delay before a connected player see the text announce
#define ANNOUNCE_TASK_DELAY 30.0

// Comment this out if you don't want that a "no sound" player can hear admins using +adminvoice
// All other player settings are respected whatever this is commented or not.
#define SUPER_ADMIN_PRIORITY

/* ** END OF EDITABLE ** */

/* Changelog
*
* v1.0.2 (04/19/08)
* -few code corrections
* -updated player spawn detection
* -added HLTV & BOT checks
*
* v1.0.1 (03/31/08)
* -added colored chat
* -added chat command /vm that display voices settings
* -inform new players about /vm command
* -display adminlisten status when toggle_adminlisten command is used
* -added support for amx_show_activity cvar on amx_(un)mute command
*
* v1.0.0 (03/26/08)
* First release
*
*/

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define VERSION "1.0.2"

#define MAX_PLAYERS 32

#define OFFSET_TEAM 114

new g_iClientSettings[MAX_PLAYERS+1][2]
new bool:g_bPlayerNonSpawnEvent[MAX_PLAYERS+1]
new g_iFwFmClientCommandPost
new bool:g_bAlive[MAX_PLAYERS+1]

new g_iAdminVoice
new bool:g_bAdmin[MAX_PLAYERS+1]
new bool:g_bInterAdminVoice[MAX_PLAYERS+1]
new bool:g_bAdminListen[MAX_PLAYERS+1]

new bool:g_bMuted[MAX_PLAYERS+1]
new g_szClientsIp[MAX_PLAYERS+1][22]
new Array:g_aMutedPlayersIps

new g_iMaxPlayers
new g_msgidSayText
new g_pcvarAlivesHear, g_pcvarDeadsHear
new g_amx_show_activity

public plugin_init()
{
register_plugin("Voices Management", VERSION, "ConnorMcLeod")
register_dictionary("voicesmanagement.txt")
register_dictionary("common.txt")

g_pcvarAlivesHear = register_cvar("vm_alives", "1") // 0:alive teamates , 1:alives , 2:all
g_pcvarDeadsHear = register_cvar("vm_deads", "2") // 0:dead teamates , 1:deads , 2:all

register_forward(FM_Voice_SetClientListening, "Forward_SetClientListening")
register_event("VoiceMask", "Event_VoiceMask", "b")

register_event("TextMsg", "Event_TextMsg_Restart", "a", "2=#Game_will_restart_in")
register_event("ResetHUD", "Event_ResetHUD", "b")
register_event("DeathMsg", "Event_DeathMsg", "a")

register_clcmd("+adminvoice", "AdminCommand_VoiceOn")
register_clcmd("-adminvoice", "AdminCommand_VoiceOff")

register_clcmd("+interadminvoice", "AdminCommand_InterAdminOn")
register_clcmd("-interadminvoice", "AdminCommand_InterAdminOff")

register_clcmd("+adminlisten", "AdminCommand_ListenOn")
register_clcmd("-adminlisten", "AdminCommand_ListenOff")
register_clcmd("toggle_adminlisten", "AdminCommand_ListenToggle")

register_concmd("amx_mute", "AdminCommand_Mute", ADMIN_VOICE, "<name/#userid>")
register_concmd("amx_unmute", "AdminCommand_UnMute", ADMIN_VOICE, "<name/#userid>")

register_clcmd("say /vm", "ClientCommand_SayStatus")
register_clcmd("say_team /vm", "ClientCommand_SayStatus")

register_clcmd("fullupdate", "ClientCommand_fullupdate")
}

public plugin_cfg()
{
server_cmd("sv_alltalk 1;alias sv_alltalk")
server_exec()
g_iMaxPlayers = get_maxplayers()
g_aMutedPlayersIps = ArrayCreate(22)
g_msgidSayText = get_user_msgid("SayText")
g_amx_show_activity = get_cvar_pointer("amx_show_activity")
}

public ClientCommand_SayStatus(id)
{
new iDeads = get_pcvar_num(g_pcvarDeadsHear),
iAlives = get_pcvar_num(g_pcvarAlivesHear)

new szDeadsStatus[18], szAlivesStatus[19]

switch( iAlives )
{
case 0:szAlivesStatus = "VM_ALIVES_TEAMATES"
case 1:szAlivesStatus = "VM_ALIVES"
case 2:szAlivesStatus = "VM_ALL"
}

switch( iDeads )
{
case 0:szDeadsStatus = "VM_DEADS_TEAMATES"
case 1:szDeadsStatus = "VM_DEADS"
case 2:szDeadsStatus = "VM_ALL"
}

col_mess(id, id, "%L", id, "VM_ALIVES_STATUS", id, szAlivesStatus)
col_mess(id, id, "%L", id, "VM_DEADS_STATUS", id, szDeadsStatus)
}

public taskAnnounce(id)
{
if( is_user_connected(id) )
{
col_mess(id, id, "%L", id, "VM_ANNOUCE")
}
}

public ClientCommand_fullupdate(id)
{
g_bPlayerNonSpawnEvent[id] = true
static const szFwFmClientCommandPost[] = "fwFmClientCommandPost"
g_iFwFmClientCommandPost = register_forward(FM_ClientCommand, szFwFmClientCommandPost, 1)
return PLUGIN_CONTINUE
}

public fwFmClientCommandPost(iPlayerId) {
unregister_forward(FM_ClientCommand, g_iFwFmClientCommandPost, 1)
g_bPlayerNonSpawnEvent[iPlayerId] = false
return FMRES_HANDLED
}

public Event_TextMsg_Restart()
{
for(new id=1; id <= g_iMaxPlayers; ++id)
{
if(g_bAlive[id])
{
g_bPlayerNonSpawnEvent[id] = true
}
}
}

public Event_ResetHUD(id)
{
if( !is_user_alive(id) )
{
return
}

if(g_bPlayerNonSpawnEvent[id])
{
g_bPlayerNonSpawnEvent[id] = false
return
}
g_bAlive[id] = true
}

public client_authorized(id)
{
g_bAdmin[id] = bool:(get_user_flags(id) & ADMIN_VOICE)
}

public client_putinserver(id)
{
g_bAlive[id] = false
g_bAdminListen[id] = false
g_bInterAdminVoice[id] = false

if(is_user_bot(id) || is_user_hltv(id))
return

static szIp[22]
get_user_ip(id, szIp, 21)
g_szClientsIp[id] = szIp

static szTempIp[22], iArraySize
iArraySize = ArraySize(g_aMutedPlayersIps)
for(new i; i<iArraySize; i++)
{
ArrayGetString(g_aMutedPlayersIps, i, szTempIp, 21)
if( equal(szIp, szTempIp) )
{
ArrayDeleteItem(g_aMutedPlayersIps, i)
g_bMuted[id] = true
break
}
}

set_task(ANNOUNCE_TASK_DELAY, "taskAnnounce", id)
}

public client_disconnect(id)
{
if(g_iAdminVoice == id)
{
g_iAdminVoice = 0
}
if(g_bMuted[id])
{
ArrayPushString(g_aMutedPlayersIps, g_szClientsIp[id])
g_bMuted[id] = false
}
}

public Event_DeathMsg()
{
g_bAlive[read_data(2)] = false
}

public Event_VoiceMask(id)
{
g_iClientSettings[id][0] = read_data(1)
g_iClientSettings[id][1] = read_data(2)
}

public Forward_SetClientListening(iReceiver, iSender, bool:bListen)
{
#if defined SUPER_ADMIN_PRIORITY
if(g_iAdminVoice)
{
if(g_iAdminVoice == iSender)
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
engfunc(EngFunc_SetClientListening, iReceiver, iSender, false)
forward_return(FMV_CELL, false)
return FMRES_SUPERCEDE
}

if( !g_iClientSettings[iReceiver][0] || g_iClientSettings[iReceiver][1] & (1<<(iSender-1)) )
{
return FMRES_IGNORED
}
#else
if( !g_iClientSettings[iReceiver][0] || g_iClientSettings[iReceiver][1] & (1<<(iSender-1)) )
{
return FMRES_IGNORED
}

if(g_iAdminVoice)
{
if(g_iAdminVoice == iSender)
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
engfunc(EngFunc_SetClientListening, iReceiver, iSender, false)
forward_return(FMV_CELL, false)
return FMRES_SUPERCEDE
}
#endif
if(g_bMuted[iSender])
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, false)
forward_return(FMV_CELL, false)
return FMRES_SUPERCEDE
}

if(g_bInterAdminVoice[iSender])
{
if(g_bAdmin[iReceiver])
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
engfunc(EngFunc_SetClientListening, iReceiver, iSender, false)
forward_return(FMV_CELL, false)
return FMRES_SUPERCEDE
}

if(g_bAdminListen[iReceiver])
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}

if(g_bAlive[iReceiver])
{
switch(get_pcvar_num(g_pcvarAlivesHear))
{
case 0:
{
if( g_bAlive[iSender] && get_pdata_int(iReceiver, OFFSET_TEAM) == get_pdata_int(iSender, OFFSET_TEAM) )
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
}
case 1:
{
if( g_bAlive[iSender] )
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
}
case 2:
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
}
}
else
{
switch(get_pcvar_num(g_pcvarDeadsHear))
{
case 0:
{
if( !g_bAlive[iSender] && get_pdata_int(iReceiver, OFFSET_TEAM) == get_pdata_int(iSender, OFFSET_TEAM) )
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
}
case 1:
{
if( !g_bAlive[iSender] )
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
}
case 2:
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
}
}

engfunc(EngFunc_SetClientListening, iReceiver, iSender, false)
forward_return(FMV_CELL, false)
return FMRES_SUPERCEDE
}

public AdminCommand_ListenOn(id)
{
if( !g_bAdmin[id] )
return PLUGIN_HANDLED

g_bAdminListen[id] = true

return PLUGIN_HANDLED
}

public AdminCommand_ListenOff(id)
{
if( g_bAdminListen[id] )
{
g_bAdminListen[id] = false
}

return PLUGIN_HANDLED
}

public AdminCommand_ListenToggle(id)
{
if( !g_bAdmin[id] )
{
return PLUGIN_HANDLED
}

g_bAdminListen[id] = !g_bAdminListen[id]

col_mess(id, id, "%L", id, "VM_LISTEN_STATUS", g_bAdminListen[id] ? "ON" : "OFF")

return PLUGIN_HANDLED
}

public AdminCommand_VoiceOn(id)
{
if(!g_bAdmin[id])
{
return PLUGIN_HANDLED
}

if(g_iAdminVoice)
{
col_mess(id, id, "%L", id, "VM_ALREADY_INUSE")
return PLUGIN_HANDLED
}

g_iAdminVoice = id

new name[32]
pev(id, pev_netname, name, 31)

for(new player = 1; player <= g_iMaxPlayers; player++)
{
if( is_user_connected(player) && !is_user_hltv(player) && !is_user_bot(player) )
{
col_mess(player, id, "%L", player, "VM_ADMIN_TALK", name)
}
}

client_cmd(id, "+voicerecord")

return PLUGIN_HANDLED
}

public AdminCommand_VoiceOff(id)
{
if( !g_bAdmin[id] )
{
return PLUGIN_HANDLED
}

if(g_iAdminVoice != id)
{
client_cmd(id, "-voicerecord")
return PLUGIN_HANDLED
}

client_cmd(id, "-voicerecord")
g_iAdminVoice = 0
return PLUGIN_HANDLED
}

public AdminCommand_InterAdminOn(id)
{
if( !g_bAdmin[id] )
{
return PLUGIN_HANDLED
}

g_bInterAdminVoice[id] = true
client_cmd(id, "+voicerecord")

new name[32]
get_user_name(id, name, 31)
for(new i=1; i<=g_iMaxPlayers; i++)
{
if( !g_bAdmin[i] || !is_user_connected(i) )
{
continue
}
col_mess(i, id, "%L", i, "VM_INTER_START", name)
}

return PLUGIN_HANDLED
}

public AdminCommand_InterAdminOff(id)
{
if(!g_bInterAdminVoice[id])
return PLUGIN_HANDLED

g_bInterAdminVoice[id] = false
client_cmd(id, "-voicerecord")

new name[32]
get_user_name(id, name, 31)
for(new i=1; i<=g_iMaxPlayers; i++)
{
if( !g_bAdmin[i] || !is_user_connected(i) )
{
continue
}
col_mess(i, id, "%L", i, "VM_INTER_STOP", name)
}

return PLUGIN_HANDLED
}

public AdminCommand_Mute(id, level, cid)
{
if( !cmd_access(id, level, cid, 2, true) )
{
return PLUGIN_HANDLED
}

new szPlayer[32]
read_argv(1, szPlayer, 31)
new iPlayer = cmd_target(id, szPlayer, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_NO_BOTS)

if( !iPlayer )
{
return PLUGIN_HANDLED
}

if( g_bAdmin[iPlayer] )
{
client_print(id, print_console, "%L", id ? id : LANG_SERVER, "VM_MUTE_ADMIN")
return PLUGIN_HANDLED
}

if( g_bMuted[iPlayer] )
{
client_print(id, print_console, "%L", id ? id : LANG_SERVER, "VM_AR_MUTED")
return PLUGIN_HANDLED
}

g_bMuted[iPlayer] = true
client_print(id, print_console, "%L", id ? id : LANG_SERVER, "VM_MUTED")

if(g_amx_show_activity)
{
new name[32], name2[32]
get_user_name(id, name, 31)
get_user_name(iPlayer, name2, 31)
show_activity_col(id, name, name2, "VM_MUTE_ACTIVITY")
}
return PLUGIN_HANDLED
}

public AdminCommand_UnMute(id, level, cid)
{
if( !cmd_access(id, level, cid, 2, true) )
{
return PLUGIN_HANDLED
}

new szPlayer[32], iPlayer
read_argv(1, szPlayer, 31)
iPlayer = cmd_target(id, szPlayer, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_NO_BOTS)

if( !iPlayer )
{
return PLUGIN_HANDLED
}

if( !g_bMuted[iPlayer] )
{
client_print(id, print_console, "%L", id ? id : LANG_SERVER, "VM_NOT_MUTED")
return PLUGIN_HANDLED
}

g_bMuted[iPlayer] = false
client_print(id, print_console, "%L", id ? id : LANG_SERVER, "VM_UNMUTED")

if(g_amx_show_activity)
{
new name[32], name2[32]
get_user_name(id, name, 31)
get_user_name(iPlayer, name2, 31)

show_activity_col(id, name, name2, "VM_UNMUTE_ACTIVITY")
}

return PLUGIN_HANDLED
}

col_mess(id, sender, string[], any:...)
{
static szMessage[128]
szMessage[0] = 0x01
vformat(szMessage[1], 127, string, 4)

replace_all(szMessage, 127, "!n", "^x01")
replace_all(szMessage, 127, "!t", "^x03")
replace_all(szMessage, 127, "!g", "^x04")

message_begin(MSG_ONE_UNRELIABLE, g_msgidSayText, _, id)
write_byte(sender)
write_string(szMessage)
message_end()
}

show_activity_col(id, name[], name2[], ML_KEY[])
{
switch(get_pcvar_num(g_amx_show_activity))
{
case 5: // hide name only to admins, show nothing to normal users
{
for (new i=1; i<=g_iMaxPlayers; i++)
{
if (is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i))
{
if (is_user_admin(i))
{
col_mess(i, id, " ** !g[VM] !n%L: %L", i, "ADMIN", i, ML_KEY, name2)
}
}
}
}
case 4: // show name only to admins, show nothing to normal users
{
for (new i=1; i<=g_iMaxPlayers; i++)
{
if (is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i))
{
if (is_user_admin(i))
{
col_mess(i, id, " ** !g[VM] !n%L !t%s!n: %L", i, "ADMIN", name, i, ML_KEY, name2)
}
}
}
}
case 3: // show name only to admins, hide name from normal users
{
for (new i=1; i<=g_iMaxPlayers; i++)
{
if (is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i))
{
if (is_user_admin(i))
{
col_mess(i, id, " ** !g[VM] !n%L !t%s!n: %L", i, "ADMIN", name, i, ML_KEY, name2)
}
else
{
col_mess(i, id, " ** !g[VM] !n%L: %L", i, "ADMIN", i, ML_KEY, name2)
}
}
}
}
case 2: // show name to all
{
for (new i=1; i<=g_iMaxPlayers; i++)
{
if (is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i))
{
col_mess(i, id, " ** !g[VM] !n%L !t%s!n: %L", i, "ADMIN", name, i, ML_KEY, name2)
}
}
}
case 1: // hide name to all
{
for (new i=1; i<=g_iMaxPlayers; i++)
{
if (is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i))
{
col_mess(i, id, " ** !g[VM] !n%L: %L", i, "ADMIN", i, ML_KEY, name2)
}
}
}
}
}
hi i have plugin Voices_Managment what is doing:
This plugin is a replacement for a lot of voicecom plugins :

-Replacement of sv_alltalk cvar with 2 cvars that manage who alive/dead players can hear.
-Ability for admins to speak while all other players are muted
-Ability for admins to speak to admins only
-Ability for admins to hear everyones to prevent players from insulting other players
-Ability for admins to mute players
All of this without changing players settings (muted players via playerlist, voice_modeenable 0)

i have problem with connect this plugin with chat addictions and other mute/gag plugins. When this plugin is active(voices managment)(doesnt matter above or down in plugins.ini) chat addictions is not working, most plugins for mute/gag not working.
Maybe you guys know how to edit plugin voices_managment to work with other mute/gag plugins?
 
Сообщения
52
Реакции
10
Помог
1 раз(а)
In metamod list, put VoiceTranscoder before amxmodx
 

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

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