PHP Kod:
#include <amxmodx>
#include <reapi_reunion>
#define PLUGIN "Auto Gag System v2.0"
#define VERSION "2.0"
#define AUTHORvEDIT "HasseL Edit: Necati_DGN"
enum {
GAG_LEVEL_0,
GAG_LEVEL_1,
GAG_LEVEL_2,
GAG_LEVEL_3
}
new const file[] = "addons/amxmodx/configs/kufurvereklamlar.ini";
new bool: Gag[ 33 ];
new readAll[ 100 ][ 64 ],GagPunish[ 33 ],reads,cvar1,GagLevel[ 33 ]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHORvEDIT)
register_cvar( "g_merdiven", "0" ) //Merdiven sistemi
cvar1 = register_cvar( "gag_secim", "3" ) // 1-BAN 2-KICK 3-QUIT (1,2,3 dışında olursa direkt 5dk gaglar ve öldürür)
// Not : Steam girişlilere quit atamaz. Bunu aktif ederseniz steam girişlere 5dk gag atar ve oldurur.
// Ban seçerseniz Dokunulmazlık yetkisi olanlara 5dk gag atar ve öldürür.
// Servere yükledikten sonra komutla değiştirebilirsiniz.
register_clcmd( "say", "cmdSearchSay" )
register_clcmd( "say_team", "cmdSearchSay" )
if( !file_exists( file ) ) {
set_fail_state( "kufurvereklamlar.ini bulunamadi!" )
}
else
read();
}
public client_putinserver(id) GagLevel[id] = GAG_LEVEL_0
public read() {
new txtlen;
new maxlines = file_size( file, 1 );
for( new i; i < maxlines; i++ )
{
read_file( file, i, readAll[ i ], 31, txtlen );
reads++;
if( readAll[i][ 0 ] == ';' || ( readAll[i][ 0 ] == '/' && readAll[i][ 1 ] == '/' ) )
continue;
if( equal( readAll[i][ 0 ], "" ) || equal( readAll[i][ 1 ], "" ) )
continue;
if( equal( readAll[i], "" ) )
continue;
}
return PLUGIN_CONTINUE;
}
public cmdSearchSay( id )
{
if( Gag[ id ] )
{
client_print_color(id,id,"^4Yasakli kelime kullandigin icin ^1%d ^4Saniye Gaglandin. ^3Konusamassin.", GagPunish[ id ])
return PLUGIN_HANDLED;
}
new arg[ 256 ];
read_args( arg, charsmax( arg ) );
remove_quotes( arg );
for( new i = 0; i < reads; i++ )
{
if( containi( arg, readAll[ i ] ) != -1 )
{
switch( GagLevel[ id ] )
{
case GAG_LEVEL_0:
{
GagLevel[ id ] = GAG_LEVEL_1;
Gag[ id ] = true;
GagPunish[ id ] = 15;
client_print_color(id,id,"^3 1. Uyari. ^4Yasakli kelime kullandigin icin^1 15 ^4Saniye Gaglandin.^3 Konusamassin.")
set_task( 15.0, "StopPunish", id );
}
case GAG_LEVEL_1:
{
GagLevel[ id ] = GAG_LEVEL_2;
Gag[ id ] = true;
GagPunish[ id ] = 20;
client_print_color(id,id,"^3 2. Uyari.^4 Yasakli kelime kullandigin icin^1 20 ^4Saniye Gaglandin.^3 Konusamassin.")
set_task( 20.0, "StopPunish", id );
}
case GAG_LEVEL_2:
{
GagLevel[ id ] = GAG_LEVEL_3;
Gag[ id ] = true;
GagPunish[ id ] = 30;
client_print_color(id,id,"^3 3. Uyari.^4 Yasakli kelime kullandigin icin^1 30 ^4Saniye Gaglandin. ^3Birdaha kullanirsan farkli cezalar alirsin.!")
set_task( 30.0, "StopPunish", id );
}
case GAG_LEVEL_3:
{
if(get_pcvar_num(cvar1) == 3){
if(is_user_steam(id)){
GagLevel[ id ] = GAG_LEVEL_2
Gag[ id ] = true
GagPunish[ id ] = 300
user_kill(id)
client_print_color(id,id,"^4Yasakli kelime kullandigin icin^1 300 ^4Saniye Gaglandin. ^3Steam girisli oldugun icin oyundan atilmadin, olduruldun.!")
set_task( 300.0, "StopPunish", id )
} else {
client_cmd( id, "quit" )
}
} else if(get_pcvar_num(cvar1) == 2){
server_cmd("kick #%d ^"Yasakli kelime kullandiginiz icin oyundan atildiniz.^"", get_user_userid(id))
} else if(get_pcvar_num(cvar1) == 1) {
if(get_user_flags(id) & ADMIN_RESERVATION){
user_kill(id)
client_print_color(id,id,"^4Yasakli kelime kullandigin icin^1 300 ^4Saniye Gaglandin ve Olduruldun. ^3Yetkili oldugun icin serverden banlanmadin.!")
GagLevel[ id ] = GAG_LEVEL_2
Gag[ id ] = true
GagPunish[ id ] = 300
set_task( 300.0, "StopPunish", id )
} else {
new isim[33]
get_user_name(id, isim, charsmax(isim))
server_cmd("amx_banip ^"%s^" ^"5^" ^"Yasakli kelime kullandiginiz icin 5 dakika banlandiniz.!^"", isim)
}
} else {
user_kill(id)
client_print_color(id,id,"^4Yasakli kelime kullandigin icin^1 300 ^4Saniye Gaglandin ve Olduruldun.")
GagLevel[ id ] = GAG_LEVEL_2
Gag[ id ] = true
GagPunish[ id ] = 300
set_task( 300.0, "StopPunish", id )
}
}
}
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
public StopPunish( id )
{
if( Gag[ id ] )
{
Gag[ id ] = false;
if( get_cvar_num( "g_merdiven" ) > 0 && GagLevel[ id ] > GAG_LEVEL_1 )
{
GagLevel[ id ] = GagLevel[ id ] - 1;
}
GagPunish[ id ] = 0;
}
}