Page 1 of 1

HLSS ir HLDJ block

Posted: 2012 Jul 31 17:37
by GhostMan
Noriu užblokuot leidimą per hlss ar hldj, radau kodą, biškeli pakoregavau, bet neveikia taip kaip reikia.
Jame yra naudojame query_client_cvar, tai prieš naudojant šitas komandas noriu patikrint ar žaidėjas 47 proto, jei true, jų nevygtyti ir stabdyti pluginą, jei false - tęsti.

Code: Select all

#include <amxmodx> #define VERSION "0.1" new p_enabled, pcv_dp_r_protocol;new bool:g_is_old_cl[33]; public plugin_init( ){    register_plugin( "HLSS Blocker", VERSION, "Ian Cammarata" );    register_cvar( "HLSS Blocker", VERSION, FCVAR_SERVER );     p_enabled = register_cvar( "amx_block_hlss", "1" );    pcv_dp_r_protocol = get_cvar_pointer ("dp_r_protocol");     set_task( 1.0, "hlss_query",_,_,_,"b" );     return PLUGIN_CONTINUE;} public client_putinserver(id){       if (!pcv_dp_r_protocol)    {        log_amx ("Nerastas dp_r_protocol cvar.");        return PLUGIN_HANDLED;    }     server_cmd("dp_clientinfo %d", id);    server_exec();     new proto = get_pcvar_num(pcv_dp_r_protocol);     if(proto == 47)        g_is_old_cl[id] = true;       return PLUGIN_CONTINUE;} public client_disconnect(id)    g_is_old_cl[id] = false; public hlss_query(id){    if(g_is_old_cl[id])        return PLUGIN_HANDLED;            if( get_pcvar_num( p_enabled ) )    {        new clnt[32], num;        get_players( clnt, num, "c" );        for( new i = 0; i < num; i++ )        {            query_client_cvar( clnt[i], "voice_inputfromfile", "hlss_block" );            query_client_cvar( clnt[i], "voice_forcemicrecord", "hlss_block" );        }    }    return PLUGIN_HANDLED;} public hlss_block( id, cvar[], value[] ){    if( get_pcvar_num( p_enabled ) > 0 )    {        new bool:p_InPut[33], bool:p_ForceMic[33];                new intval = str_to_num( value );        if( equal( cvar, "voice_inputfromfile" ) && intval != 0 )        {            client_cmd( id, "voice_inputfromfile 0" );            client_cmd( id, "-voicerecord" );            p_InPut[id] = true        }        if( equal( cvar, "voice_forcemicrecord" ) && intval != 1 )        {            client_cmd( id, "voice_forcemicrecord 1" );            client_cmd( id, "-voicerecord" );            p_ForceMic[id] = true        }                if(p_InPut[id] || p_ForceMic[id])        {            client_print(id, print_chat, "[AMX] Siame serveryje yra drauziama leisti muzika per HLSS ar HLDJ!");                        if(p_InPut[id])                p_InPut[id] = false;                            if(p_ForceMic[id])                p_ForceMic[id] = false;        }    }    return PLUGIN_HANDLED;}
Šitas kodas neveikia, meta iš serverio vistiek, jei su 47 proto prisijungi.

Re: HLSS ir HLDJ block

Posted: 2014 Oct 14 11:44
by laimiukas3
joo man sito plugino irgi verkiant reike nes vaikai siauteja serveriuose nespeji mutint

Re: HLSS ir HLDJ block

Posted: 2014 Oct 14 15:43
by psychical
query_client_cvar() jei gerai pamenu jis tik steamed žaidėjams.

Re: HLSS ir HLDJ block

Posted: 2014 Oct 14 17:35
by laimiukas3
psychical wrote:query_client_cvar() jei gerai pamenu jis tik steamed žaidėjams.
o taj koki naudot reiketu?

Re: HLSS ir HLDJ block

Posted: 2014 Oct 28 23:06
by GhostMan
Ar ištrauksit kasnors iš rusiškų tinklapių pluginą tokio pobudžio? Tikrai kažkas turi būti non-steam serveriams tokį dalyką sukūręs.