![](images/misc/post_spacer.gif) |
BANNED
Join Date: Feb 2011
Location: Brazil
|
![Old](images/statusicon/post_old.svg)
10-30-2011
, 19:07
Re: Advanced Block RTV
|
#5
|
Quote:
Originally Posted by nikhilgupta345
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_on, i, adminon;
new Trie:rtv;
new configdir[50], buffer[301], form[40];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
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(configdir, charsmax(configdir));
add(configdir, charsmax(configdir), "/advanced_block_rtv.ini", 0);
rtv = TrieCreate();
new fp = fopen(configdir, "rt");
if(fp)
{
while(!feof(fp))
{
fgets(fp, buffer, charsmax(buffer));
trim(buffer);
if(!buffer[0] || buffer[0] == ';' || buffer[0] == '/' && buffer[1] == '/')
continue;
TrieSetCell( rtv, buffer, 1 );
}
}
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 != 0 && is_user_connected(id))
{
new args[128];
read_args(args, 127);
remove_quotes(args);
if( TrieKeyExists( rtv, args ) )
{
client_print(id, print_chat, "%L", id, "BLOCK_RTV_MSG1");
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
|
Your version isn't compatible with containi, but thanks.
|
|
|
|