Existing user? Sign in
Sign up
Games
Servers
Useful
User
Pass
2FA
advanced_gag
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
->
Resources
Author
Message
2685
banditu
[Mentally Stable]
Status: Offline
(since 29-05-2021 22:54)
Joined: 21 Nov 2006
Posts: 349
,
Topics: 106
Location:
Romania
Reputation:
548.9
Votes
: 9
Posted: 23-08-2011, 17:14:19
| Translate post to:
... (
Click for more languages
)
Am acest plugin:
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.2", "anakin_cstrike/ update -B1ng0-")
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 client_putinserver(id)
{
g_Gaged[ id ] = false;
g_SwearGag[ id ] = false;
}
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, "^x04[AdmiN] %s:^x01 Gag jucatorul^x03 %s^x01 pentru^x03 [%d]^x01 minut(e). Motiv:^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: %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)
}
}
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();
}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/
Vreau ca mesajul legat de client disconnec sa fie scos.
Vreau ca, comanda "amx_gag nume timp motiv" sa fie doae "amx_gag nume", timpul si motivul sa nu existe si sa fie de 10 minute gag-ul default, deci data viitoare cand un admin foloseste comanda "amx_gag nume" sa ia automat #define SWEAR_GAGMINUTES 10.
Stiu ca este optional si ca pot folosit doar "amx_gag nume" dar vreau ca functia de timp si motiv sa fie scoasa ca adminul sa nu o foloseasca.
0
0
Back to top
iTR__
[Mentally Instable]
Status: Offline
(since 20-01-2012 19:40)
Joined: 01 Jan 2011
Posts: 21
,
Topics: 5
Location:
Drobeta Turnu Severin
Reputation:
71.9
Votes
: 2
Posted: 27-08-2011, 23:51:19
| Translate post to:
... (
Click for more languages
)
Daca ai vrut gag simplu de ce ai mai luat versiunea advanced? Plus de asta nici nu l-ai instalat corect de ti-a dat "#define SWEAR_GAGMINUTES 10. "
Whatever,
Daca vrei un alt plugin de gag, mai bun, poftim:
Versiunea noua (1.4)
Pentru instalare:
1. Fisierul amx_gag.sma il bagi in addons/amxmodx/scripting
2. Fisierul amx_gag.amxx il bagi in addons/amxmodx/plugins
3. Fisierul amx_gag.txt il bagi in addons/amxmodx/data/lang
4. Intri in fisierul addons/amxmodx/configs/plugins.ini si adaug la urma:
Code:
amx_gag.amxx
Comenzile administrative:
amx_gag - (- >nume sau #authid< - >timp (secunde) sau @all< -)
amx_ungag - (- >nume sau #authid< -)
admin_gag - (- >nume sau #authid< - >timp (secunde) sau @all< -)
admin_ungag - (- >nume sau #authid< -)
Mica explicatie:
Code:
amx_gag nume 120 - ii dati gag timp de 2 minute
[u]amx_gag nume - ii dati gag timp de 10 minute (setare default)[/u]
amx_ungag @all - scoateti gagul la toti jucatori care sunt pe server
Limba Romana + Engleza
Si in caz ca jucatorul da retry va avea tot gag. Te scuteste probabil de regula retry dupa gag.
DOWNLOAD
0
0
Back to top
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
->
Resources
The time now is 04-12-2024, 16:27:16
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