PHP- Kodu:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Nick Ban"
#define VERSION "1.0"
#define AUTHOR "akcaliberkk"


new const ban_file[] = "addons/amxmodx/configs/nickbanlist.ini";

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_concmd("amx_bannick","cmdNickBan",ADMIN_BAN,"<nick> <sure>")
    
register_concmd("amx_unbannick","cmdNickUnban",ADMIN_BAN,"<nick>")
    
    if(!
file_exists(ban_file)) {
        new 
fopen(ban_file,"wt");
        
fclose(f)
    }
    
    
set_task(60.0,"CheckBans",_,_,_,"b")
}
public 
client_infochanged(id) {
    new 
szLineText[148],LineName[34],LineExpiration[34],txtlen;
    new 
UserName[32];
    new 
maxlines file_size(ban_file,1);
    
get_user_name(id,UserName,31)
    for(new 
lineline maxlinesline++) {
        
read_file(ban_file,line,szLineText,147,txtlen)
        
parse(szLineText,LineName,33,LineExpiration,33)
        if(
equali(UserName,LineName)) {
            
server_cmd("kick #%d ^"Bu Servera Girisiniz Yasaklanmistir^"",get_user_userid(id))
            return 
PLUGIN_HANDLED
        
}
    }
    return 
PLUGIN_CONTINUE

}
public 
client_connect(id) {
    new 
szLineText[148],LineName[34],LineExpiration[34],txtlen;
    new 
UserName[32];
    new 
maxlines file_size(ban_file,1);
    
get_user_name(id,UserName,31)
    for(new 
lineline maxlinesline++) {
        
read_file(ban_file,line,szLineText,147,txtlen)
        
parse(szLineText,LineName,33,LineExpiration,33)
        if(
equali(UserName,LineName)) {
            
server_cmd("kick #%d ^"Bu Servera Girisiniz Yasaklanmistir^"",get_user_userid(id))
            return 
PLUGIN_HANDLED
        
}
    }
    return 
PLUGIN_CONTINUE
}
public 
cmdNickBan(id,level,cid) {
    if(!
cmd_access(id,level,cid,3)) return PLUGIN_HANDLED
    
    
new AdminName[32],AdminIP[32];
    new 
UserName[32],UserIP[32];
    
    
get_user_name(id,AdminName,31)
    
get_user_ip(id,AdminIP,31,0)
    
    new 
arg1[32],arg2[32];
    
read_argv(1,arg1,31)
    
read_argv(2,arg2,31)
    new 
sure str_to_num(arg2);
    
    new 
Uid cmd_target(id,arg1,7);
    if(!
Uid) return PLUGIN_HANDLED
    
    get_user_name
(Uid,UserName,31)
    
get_user_ip(Uid,UserIP,31,0)
    
    if(!
sure) {
        
server_cmd("kick #%d ^"Bu Serverdan Suresiz Olarak Banlandiniz^"")
        
client_print(0,print_chat,"Admin %s: %s Adli Oyuncunun Nickini Suresiz Banladi !",AdminName,UserName)
        
log_amx("Admin %s<%s> Nick Ban Player %s<%s> - Sure: Sinirsiz",AdminName,AdminIP,UserName,UserIP)
    }
    else {
        
server_cmd("kick #%d ^"Bu Serverdan %d Dakika Banlandiniz^"",sure)
        
client_print(0,print_chat,"Admin %s: %s Adli Oyuncunun Nickini %d Dakika Banladi !",AdminName,UserName,sure)
        
log_amx("Admin %s<%s> Nick Ban Player %s<%s> - Sure: %d",AdminName,AdminIP,UserName,UserIP,sure)
    }
    
    
console_print(id,"Oyuncu Banlandi")
    
nickban_user(UserName,sure)
    return 
PLUGIN_HANDLED
    
}
public 
cmdNickUnban(id,level,cid) {
    if(!
cmd_access(id,level,cid,2)) return PLUGIN_HANDLED
    
    
new TargetName[32],AdminName[32],AdminIP[32];
    
    
read_argv(1,TargetName,31)
    
    if(!
user_exist(TargetName)) {
        
console_print(id,"Bu Isimde Banli Oyuncu Bulunamadi !")
        return 
PLUGIN_HANDLED
    
}
    
delete_user(TargetName);
    
    
get_user_name(id,AdminName,31)
    
get_user_ip(id,AdminIP,31,0)
    
    
client_print(0,print_chat,"Admin %s: %s Adli Oyuncunun NickBan'ını Kaldirdi.",AdminName,TargetName)
    
log_amx("Admin %s<%s> Nick Unban Player %s",AdminName,AdminIP,TargetName)
    
    
console_print(id,"Oyuncunun Bani Kalkti")
    
    return 
PLUGIN_HANDLED
}
public 
CheckBans() {
    new 
szLineText[148],LineName[34],LineExpiration[34],txtlen;
    new 
maxlines file_size(ban_file,1);
    new 
usertime;
    
    new 
maxtime get_systime();
    
    for(new 
lineline maxlinesline++) {
        
read_file(ban_file,line,szLineText,147,txtlen)
        
parse(szLineText,LineName,33,LineExpiration,33)
        if(
equali(LineExpiration,"Suresiz")) {
            continue
        }
        
usertime str_to_num(LineExpiration);
        if(
usertime maxtime) {
            
write_file(ban_file,"",line)
            continue
        }
    }
    
delete_empty_lines(ban_file)
}
nickban_user(const name[],sure) {
    new 
szBitis[32];
    if(!
sure) {
        
copy(szBitis,31,"Suresiz")
    }
    else {
        
sure *= 60;
        
num_to_str(sure+get_systime(),szBitis,31);
    }
    new 
szLineText[148];
    
formatex(szLineText,147,"^"%s^" ^"%s^"",name,szBitis)
    
write_file(ban_file,szLineText)
    
delete_empty_lines(ban_file)
    return 
PLUGIN_HANDLED
}
delete_user(const name[]) {
    new 
szLineText[148],LineName[34],LineExpiration[34],txtlen;
    new 
maxlines file_size(ban_file,1);
    
    
    for(new 
lineline maxlinesline++) {
        
read_file(ban_file,line,szLineText,147,txtlen)
        
parse(szLineText,LineName,33,LineExpiration,33)
        if(
equali(name,LineName)) {
            
write_file(ban_file,"",line)
            break;
        }
    }
    
delete_empty_lines(ban_file)
    return 
PLUGIN_HANDLED
}
stock user_exist(const name[]) {
    new 
szLineText[148],LineName[34],LineExpiration[34],txtlen;
    new 
maxlines file_size(ban_file,1);
    
    new 
checknum;
    
    for(new 
lineline maxlinesline++) {
        
read_file(ban_file,line,szLineText,147,txtlen)
        
parse(szLineText,LineName,33,LineExpiration,33)
        if(
equali(name,LineName)) {
            
checknum++;
        }
    }
    
    if(
checknum) return true;
    return 
false;
}
delete_empty_lines(const filename[]) {
    
    static const 
temp_filename[] = "deleting_lines.txt";
    
    new 
fopen(filename"rt");
    
    if( !
) return -1;
    
    new 
lines 0;
    new 
fopen(temp_filename"wt");
    
    static 
data[512];
    while( !
feof(f) ) {
        
fgets(fdatasizeof(data) - 1);
        if( 
data[0] && data[0] != '^n' ) {
            
fputs(tdata);
        }
        else {
            
lines++;
        }
    }
    
    
fclose(f);
    
fclose(t);
    
    
delete_file(filename);
    
    
rename_file(temp_filenamefilename1);
    
    return 
lines;

amx_bannick <nick> <sure> // Suresiz banlamak için sure kısmına 0 yazınız.
amx_unbannick <tam nick>