Existing user? Sign in
Sign up
Games
Servers
Useful
User
Pass
2FA
[rezolvat][ Cerere ] Plugin amx_gag
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
->
Plugins - Help / Support
Author
Message
2207
Skullhacker.
[Banned user]
Status: Offline
(since 22-02-2015 19:03)
Joined: 21 May 2014
Posts: 1862
,
Topics: 125
Location:
Acolo, pe stanga
Reputation:
31.6
Votes
: 88
Posted: 28-01-2015, 17:34:31
| Translate post to:
... (
Click for more languages
)
Nume: amx_who
Descriere plugin: Cand dau amx_gag sa pun nume durata si motiv [ amx_gag [nume] [durata] [motiv]
Alte detalii: vreau sa apara colorat
Exemplu:
Adminul
[nume admin]
a dat gag jucatorului
[nume jucator]
timp de
[ minute ]
pe motivul
[ motiv ]
0
0
Back to top
lemonEZAH
[Licensed to kill]
Status: Offline
(since 04-11-2019 15:30)
Joined: 28 Dec 2013
Posts: 7058
,
Topics: 351
Location:
England
Reputation:
99.3
Votes
: 483
Posted: 28-01-2015, 17:50:10
| Translate post to:
... (
Click for more languages
)
Spoiler:
Code:
#include <amxmodx>
#include <amxmisc>
#define ACCESS ADMIN_KICK
#define WORDS 64
#define SWEAR_GAGMINUTES 3
#define SHOW
new const tag[] = "[Gag]";
new const g_FileName[] = "gag_words.ini";
new
bool:g_Gaged[ 33 ], g_GagTime[ 33 ],
bool:g_SwearGag[ 33 ], bool:g_CmdGag[ 33 ],
bool:g_NameChanged[33];
new g_reason[ 32 ], g_admin[ 32 ], g_name[ 33 ][ 32 ];
new g_WordsFile[ 128 ];
new g_Words[ WORDS ][ 32 ], g_Count, g_Len;
new point, g_msgsaytext;
new toggle_tag
public plugin_init()
{
register_plugin("Advance Gag", "2.1", "www.Freakz.ro")
register_concmd( "amx_gag", "gag_cmd", ACCESS,"- <nume> <minute> <motiv> - Da gag jucatorului" );
register_concmd( "amx_ungag", "ungag_cmd", ACCESS, "- <nume> - Scoate gagul" );
register_clcmd( "say", "check" );
register_clcmd( "say_team", "check" );
toggle_tag = register_cvar( "gag_tag", "0" );
point = get_cvar_pointer( "amx_show_activity" );
g_msgsaytext = get_user_msgid( "SayText" );
}
public plugin_cfg()
{
static dir[ 64 ];
get_localinfo( "amxx_configsdir", dir, 63 );
formatex( g_WordsFile , 127 , "%s/%s" , dir, g_FileName );
if( !file_exists( g_WordsFile ) )
write_file( g_WordsFile, "[Gag Words]", -1 );
new Len;
while( g_Count < WORDS && read_file( g_WordsFile, g_Count ,g_Words[ g_Count ][ 1 ], 30, Len ) )
{
g_Words[ g_Count ][ 0 ] = Len;
g_Count++;
}
}
public gag_cmd( id, level, cid )
{
if( !cmd_access( id, level, cid, 4 ) )
return PLUGIN_HANDLED;
new arg[ 32 ], arg2[ 6 ], reason[ 32 ];
new name[ 32 ], namet[ 32 ];
new minutes;
read_argv(1, arg, 31)
new player = cmd_target(id, arg, 9)
if (!player)
return PLUGIN_HANDLED
read_argv( 1, arg, sizeof arg - 1 );
read_argv( 2, arg2, sizeof arg2 - 1 );
read_argv( 3, reason, sizeof reason - 1 );
get_user_name( id, name, 31 );
copy( g_admin, 31, name );
copy( g_reason, 31, reason );
remove_quotes( reason );
minutes = str_to_num( arg2 );
new target = cmd_target( id, arg, 10 );
if( !target)
return PLUGIN_HANDLED;
if( g_Gaged[ target ] )
{
console_print( id, "Jucatorul are deja gag!" );
return PLUGIN_HANDLED;
}
get_user_name( target, namet, 31 );
copy( g_name[ target ], 31, namet );
g_CmdGag[ target ] = true;
g_Gaged[target] = true;
g_GagTime[ target ] = minutes;
print( 0, "^x04Adminul %s:^x01 a dat gag jucatorului^x03 %s^x01 timp de^x03 [%d]^x01 minut(e) pe motivul:^x03 %s",get_pcvar_num( point ) == 2 ? name : "", namet, minutes, reason );
if( get_pcvar_num( toggle_tag ) == 1 )
{
new Buffer[ 64 ];
formatex( Buffer, sizeof Buffer - 1, "%s %s", tag, namet );
g_NameChanged[ target ] = true;
client_cmd( target, "name ^"%s^"",Buffer );
}
set_task( 60.0, "count", target + 123, _, _, "b" );
return PLUGIN_HANDLED;
}
public ungag_cmd( id,level, cid )
{
if( !cmd_access( id, level, cid, 2 ) )
return PLUGIN_HANDLED;
new arg[ 32 ], reason[ 32 ], name[ 32 ];
read_argv( 1, arg, sizeof arg - 1 );
read_argv( 2, reason, sizeof reason - 1 );
get_user_name( id, name, sizeof name - 1 );
remove_quotes( reason );
new target = cmd_target( id, arg, 11 );
if( !target )
return PLUGIN_HANDLED;
new namet[ 32 ];
get_user_name( target, namet, sizeof namet - 1 );
if( !g_Gaged[ target ] )
{
console_print( id, "Jucatorul %s nu are gag.", namet );
return PLUGIN_HANDLED;
}
g_Gaged[ target ] = false;
g_SwearGag[ target ] = false;
if( g_NameChanged[ target ] )
client_cmd( target, "name ^"%s^"", g_name[ target ] );
g_NameChanged[ target ] = false;
remove_task( target + 123 );
print( 0, "^x04[AdmiN] %s:^x01 UnGag jucatorul^x03 %s",get_pcvar_num( point ) == 2 ? name : "", namet );
return PLUGIN_HANDLED;
}
public count( task )
{
new index = task - 123;
if( !is_user_connected( index ) )
return 0;
g_GagTime[index] -= 1;
if( g_GagTime[ index ] <= 0 )
{
remove_task( index + 123 );
print( index, "Ai primit UnGag cu succes!" );
g_Gaged[ index ] = false;
if( g_NameChanged[ index ] )
client_cmd( index, "name ^"%s^"", g_name[ index ] );
return 0;
}
return 1;
}
public check( id )
{
new said[ 192 ];
read_args( said, sizeof said - 1 );
if( !strlen( said ) )
return PLUGIN_CONTINUE;
if( g_Gaged[ id ] )
{
if( g_CmdGag[ id ] )
{
print( id,"Ai primit gag de la adminul: %s. Au mai ramas %d minut(e)" ,g_admin, g_GagTime[ id ], g_GagTime[ id ] == 1 ? "" : "s" );
print( id,"Motivul Gagului: %s", g_reason );
return PLUGIN_HANDLED;
} else if( g_SwearGag[ id ] ) {
print( id, "Ai gag pentru limbaj vulgar sau reclama.")
print( id, "Au mai ramas %d minut(e)", g_GagTime[ id ], g_GagTime[ id ] == 1 ? "" : "s" );
return PLUGIN_HANDLED;
}
} else {
new bool:g_Sweared, i, pos;
for( i = 0; i < g_Count; ++i )
{
if( ( pos = containi( said, g_Words[ i ][ 1 ] ) ) != -1 )
{
g_Len = g_Words[ i ][ 0 ];
while( g_Len-- )
said[ pos++ ] = '*';
g_Sweared = true;
continue;
}
}
if( g_Sweared )
{
new cmd[ 32 ], name[ 32 ];
get_user_name( id, name, sizeof name - 1 );
read_argv( 0, cmd, sizeof cmd - 1 );
copy( g_name[ id ], 31, name );
engclient_cmd( id, cmd, said );
g_Gaged[ id ] = true;
g_CmdGag[ id ] = false;
if( get_pcvar_num( toggle_tag ) == 1 )
{
new Buffer[ 64 ];
formatex( Buffer, sizeof Buffer - 1, "%s %s", tag, name );
g_NameChanged[ id ] = true;
client_cmd( id, "name ^"%s^"", Buffer) ;
}
g_SwearGag[ id ] = true;
g_GagTime[ id ] = SWEAR_GAGMINUTES;
print( id, "Ai gag pentru limbaj vulgar sau reclama." );
set_task( 60.0, "count",id+123,_,_,"b");
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
public client_disconnect(id)
{
if(g_Gaged[id])
{
new Nick[32],Authid[35],usrip[32]
get_user_name(id,Nick,31)
get_user_ip(id,usrip,31);
get_user_authid(id,Authid,34)
print(0, "^x04[Gag Info]^x01 Jucatorul cu gag^x03 %s^x01[IP:^x03 %s^x01] a parasit serverul.",Nick,usrip)
g_Gaged[ id ] = false;
g_SwearGag[ id ] = false;
remove_task( id );
}
}
print( id, const message[ ], { Float, Sql, Result, _ }:... )
{
new Buffer[ 128 ], Buffer2[ 128 ];
formatex( Buffer2, sizeof Buffer2 - 1, "%s", message );
vformat( Buffer, sizeof Buffer - 1, Buffer2, 3 );
if( id )
{
message_begin( MSG_ONE, g_msgsaytext, _,id );
write_byte( id );
write_string( Buffer) ;
message_end();
} else {
new players[ 32 ], index, num, i;
get_players( players, num, "ch" );
for( i = 0; i < num; i++ )
{
index = players[ i ];
if( !is_user_connected( index ) ) continue;
message_begin( MSG_ONE, g_msgsaytext, _, index );
write_byte( index );
write_string( Buffer );
message_end();
}
}
}
0
0
Back to top
Topic locked
Topic is closed, you cannot post any messages in it anymore
Locked by
TwisTer
, 16 March 2015 13:53
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
->
Plugins - Help / Support
The time now is 31-01-2025, 04:13:45
Copyright info
Based on phpBB
ro
/
com
B
Login
I forgot my password
World of Warcraft
Login for more...
Download WoW 7.3.5
Misc
eSports
Achievements
Buy reputation with votes
Reputation trades
Forum rules
Ban list
Members list
User guide (FAQ)
World of Warcraft
View details