View Single Post
Dark Style
BANNED
Join Date: Feb 2011
Location: Brazil
Old 10-30-2011 , 19:07   Re: Advanced Block RTV
Reply With Quote #5

Quote:
Originally Posted by nikhilgupta345 View Post
Instead of doing it like you did, do the following:

PHP Code:
/*
[Description]
This plugin turn off the option rtv when a admin is online.

Original Post:
http://forums.alliedmods.net/showthread.php?t=145621

[Cvars]
// 1 active, 0 disables 
amx_block_rtv <1 or 0>

[Changelog]
0.0.1b - Fixed some bugs and test it.
0.0.2 - Optmized functions.
*/

#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#pragma semicolon 1

#define PLUGIN         "Advanced Block RTV"
#define VERSION     "0.0.2"
#define AUTHOR         "MMYTH&Dark Style"

new g_oniadminon;

new 
Trie:rtv;

new 
configdir[50], buffer[301], form[40];

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
register_dictionary("advanced_block_rtv.txt");
    
    
g_on register_cvar("amx_block_rtv""1");
    
    
register_clcmd("say""HandleSay");
    
register_clcmd("say_team""HandleSay");
    
    
get_configsdir(configdircharsmax(configdir));
    
add(configdircharsmax(configdir), "/advanced_block_rtv.ini"0);
    
    
rtv TrieCreate();
    
    new 
fp fopen(configdir"rt");
    
    if(
fp)
    {
        while(!
feof(fp))
        {
            
fgets(fpbuffercharsmax(buffer));
            
            
trim(buffer);
            
            if(!
buffer[0] || buffer[0] == ';' || buffer[0] == '/' && buffer[1] == '/'
                continue;

            
TrieSetCellrtvbuffer);
        }
    }
    else
    {
        
set_fail_state("File ^"advanced_block_rtv.ini^" Required");
    }
    
    
fclose(fp);
}

public 
plugin_end()
{
    
TrieDestroy(rtv);
}

public 
client_putinserver(id)
{
    if(
is_user_admin(id))
        
adminon ++;
}

public 
client_disconnect(id)
{
    if(
is_user_admin(id))
        
adminon --;
}

public 
HandleSay(id)
{
    if(
get_pcvar_num(g_on) && adminon != && is_user_connected(id)) 
    {
        new 
args[128];
        
read_args(args127);
        
remove_quotes(args);
        
        if( 
TrieKeyExistsrtvargs ) )
        {
            
client_print(idprint_chat"%L"id"BLOCK_RTV_MSG1");
            return 
PLUGIN_HANDLED;
        }
    }
    
    return 
PLUGIN_CONTINUE;

Your version isn't compatible with containi, but thanks.
Dark Style is offline