Advanced GAG LM

Pluginuri facute de utilizatorii forumului eXtream.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
vLd.#
Membru, skill +1
Membru, skill +1
Posts: 454
Joined: 28 Jun 2013, 12:54
Detinator Steam: Da
CS Status: Loading...
SteamID: amx_vld
Location: Bucuresti, Romania
Has thanked: 3 times
Been thanked: 1 time

28 Jun 2013, 12:56

Descriere: Cu acest plugin , puteti da gag[mute] la jucatorii care au limbaj inadecvat pe server-ul dumneavoastra.

Autor: vLd.#

Instalare:
1. Fisierul lm_gag.amxx il puneti in addons/amxmodx/plugins
2. Fisierul gag_words.ini il puneti in addons/amxmodx/configs
3.Intrati in addons/configs/plugins.ini , deschideti si adaugati la sfarsit linia :

Code: Select all

lm_gag.amxx
Poza:
Image
Image

Download:AICI
sursa:
| Afiseaza codul
#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("Advanced Gag LM", "v1", "vLd");	
register_concmd( "amx_gag", "gag_cmd", ACCESS,"Da mute 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, "[LM]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[LM] Adminul %s:^x01 Ii sparge tastatura jucatorului^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, "[LM]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[LM] Adminul %s:^x01 Ii reface tastatura jucatorului^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, "[LM]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,"[LM]Ai primit gag de la: %s. Au mai ramas %d minut(e)" ,g_admin, g_GagTime[ id ], g_GagTime[ id ] == 1 ? "" : "s" );
print( id,"[LM]Motivul : %s", g_reason );

return PLUGIN_HANDLED;

} else if( g_SwearGag[ id ] ) {
print( id, "[LM]Ai gag pentru limbaj vulgar sau reclama,sa ai grija ce faci!")
print( id, "[LM]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, "[LM]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[LM]^x01 Jucatorul cu tastatura sparta^x03 %s^x01[IP:^x03 %s^x01] a fugit de pe server.",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();
}
}
}
Pareri? :D Abia acum ce invat , abia ce m-am apucat sa scriptez .
Last edited by Cosmin on 26 Jul 2015, 13:36, edited 1 time in total.
Reason: adaugat sursa in primul post
RoyalServer
kosmo1994
Membru, skill +1
Membru, skill +1
Posts: 278
Joined: 12 May 2013, 10:15
Detinator Steam: Nu
CS Status: dr.legendcs.com
Detinator server CS: dr.legendcs.com
SteamID: dr.legendcs.com
Has thanked: 77 times
Been thanked: 26 times
Contact:

28 Jun 2013, 13:02

Sursa ?
Image
Image
Image
User avatar
vLd.#
Membru, skill +1
Membru, skill +1
Posts: 454
Joined: 28 Jun 2013, 12:54
Detinator Steam: Da
CS Status: Loading...
SteamID: amx_vld
Location: Bucuresti, Romania
Has thanked: 3 times
Been thanked: 1 time

28 Jun 2013, 13:11

#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("Advanced Gag LM", "v1", "vLd");
register_concmd( "amx_gag", "gag_cmd", ACCESS,"Da mute 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, "[LM]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[LM] Adminul %s:^x01 Ii sparge tastatura jucatorului^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, "[LM]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[LM] Adminul %s:^x01 Ii reface tastatura jucatorului^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, "[LM]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,"[LM]Ai primit gag de la: %s. Au mai ramas %d minut(e)" ,g_admin, g_GagTime[ id ], g_GagTime[ id ] == 1 ? "" : "s" );
print( id,"[LM]Motivul : %s", g_reason );

return PLUGIN_HANDLED;

} else if( g_SwearGag[ id ] ) {
print( id, "[LM]Ai gag pentru limbaj vulgar sau reclama,sa ai grija ce faci!")
print( id, "[LM]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, "[LM]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[LM]^x01 Jucatorul cu tastatura sparta^x03 %s^x01[IP:^x03 %s^x01] a fugit de pe server.",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();
}
}
}
User avatar
Nubo
Fost moderator
Fost moderator
Posts: 2734
Joined: 11 Jul 2012, 18:45
Detinator Steam: Da
CS Status: [əˈnɒn.ɪ.məs]
Reputatie: Fost scripter eXtreamCS
Fost eXtream Mod
Has thanked: 8 times
Been thanked: 27 times

28 Jun 2013, 14:48

Ce ai schimbat fata de original?? In afara de AUTHOR, desigur....
Cand nu merge acest forum sunt online aici:
  • * Skype: nubo_cs
    * Y!M ID: nubo_cs
Askwrite
Moderator ajutator
Moderator ajutator
Posts: 345
Joined: 26 Apr 2013, 21:59
Detinator Steam: Da
CS Status: Scriptez...!
Reputatie: Fost moderator ajutator
Has thanked: 6 times
Been thanked: 55 times
Contact:

28 Jun 2013, 17:48

Te corectez, a schimbat si versiune, si numele plugin-ului ! :-s
User avatar
Ulquiorra
Fost moderator
Fost moderator
Posts: 2053
Joined: 25 Jul 2010, 17:29
Detinator Steam: Da
CS Status: A mai trecut o zi asteptand una mai buna
Detinator server CS: Retras.
SteamID: STEAM_0:1:318247XX
Reputatie: Fost Scripter eXtreamCS
Fost Moderator ajutator
Nick anterior: Askhanar
Location: Braila, Romania.
Has thanked: 215 times
Been thanked: 1132 times

28 Jun 2013, 19:20

cand postati un plugin mai maricel.. folositi fratilor
| Afiseaza codul
@plugin.. in chat spune ca i-ai spart tastele.. nu ca i-ai dat gag.. ( ciudat mesaj :)) )
la cate plugine de gag exista.. nici nu se mai stie primul autor:)
Caut o persoana dedicata care se pricepe si stie ce face.
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.

O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv
EDwardddd.
Membru, skill +2
Membru, skill +2
Posts: 806
Joined: 18 Jun 2010, 10:30
Detinator Steam: Da
SteamID: edwarddwd
Reputatie: Membru Club eXtreamCS (trei luni)
Fost Moderator ajutator
Nume anterioare: Elk, eDward /R/
Has thanked: 16 times
Been thanked: 49 times

29 Jun 2013, 16:26

Felicitari un "advanced gag" care nu face nimic diferit fata de celelalte , decat faptul ca e "ADVANCED" o,o :D>-
User avatar
Errol
Membru, skill +1
Membru, skill +1
Posts: 141
Joined: 19 May 2013, 15:42
Detinator Steam: Da
CS Status: Sunt sămânţar, prin concluzie porumbel.
Detinator server CS: DR.CS32.RO
SteamID: Privat
Reputatie: Membru Club eXtreamCS (2 luni)
Location: Bistrita
Has thanked: 17 times
Been thanked: 9 times
Contact:

29 Jun 2013, 23:35

Cred că era asa important, si ai decis să il pui in plugin-uri eXtream.

Bravo!

Apropo, cand modifici un DEFINE, nu esti autorul. Un sfat, mai bine il faceai fara acel define, pentru ca asa a spus si Askhanar, nu se mai stie cine e primul autor.
Image
#WIZARDS to more, but I'm a hero.
-----------------------------------------------------
Lasă telefonul că ştiu actoria
Şi nu mai suna că-mi descarci bateria .


#Work only :

- [FPS Nvidia] [100%] [Public] [Here]
- [NoLag] [100%] [Public] [Here]
Post Reply

Return to “Pluginuri eXtream”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 11 guests