CSPLague
İp ye göre ban yerine Nick ban ? - Printable Version

+- CSPLague (https://www.csplague.com)
+-- Forum: CS 1.6 Plugin (Eklenti) Bölümü (https://www.csplague.com/forumdisplay.php?fid=6)
+--- Forum: [İSTEK] Cs 1.6 Plugin İstek Bölümü (https://www.csplague.com/forumdisplay.php?fid=80)
+---- Forum: Çözülmüş İstekler (https://www.csplague.com/forumdisplay.php?fid=87)
+---- Thread: İp ye göre ban yerine Nick ban ? (/showthread.php?tid=6578)

Pages: 1 2


İp ye göre ban yerine Nick ban ? - hurracuran - 02-02-13

amx_bannick gibi bir konsol komutuyla belirli nicki banlamak için bir plugin yazılabilirmi ? amx_unbannick amx_bannick kodları olacak mümkünse teşekkür ederim şimdiden Sad-Not : isimler editlenebilir bir belgeye kaydolursa güzel olur


Cevap: İp ye göre ban yerine Nick ban ? - akcaliberkk - 02-02-13

PHP Code:
/* 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>


Cevap: İp ye göre ban yerine Nick ban ? - hurracuran - 02-02-13

amx_bannick nick 0 veya herhangi bir sayı şeklinde uyguluyorum hiç birşey olmuyor ? :S
Edit : düzeltiyorum amx_bannick yazınca nick süre filan çıkıyor fakat nick yerine nicki ve süre yerinede süreyi yazınca unknown command diyor .


Cevap: İp ye göre ban yerine Nick ban ? - akcaliberkk - 02-02-13

Bende sorunsuz çalışıyor ? Hata falan varmı kontrol edin ?


Cevap: İp ye göre ban yerine Nick ban ? - hurracuran - 02-02-13

amx mod un compile programıyla çevirdim direk kopyalayıp amx_bannick yazınca kullanım şekli çıkıyor ama nick ve süre yerine gerekeni yazınca unknown command :S Birdaha çevireyim bi sn
EDIT : webcompilerdanda cevirdim programdanda çevirdim aynı sorun


Cevap: İp ye göre ban yerine Nick ban ? - akcaliberkk - 02-02-13

Son anda yaptığım bir değişikliği buraya eklediğim pluginde değiştirmeyi unutmuşum.

PHP Code:
#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_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^"",get_user_userid(Uid))
        
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^"",get_user_userid(Uid),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;



---------- Alttaki Mesaj Zamani 18:20 ---------- Önceki Mesaj Zamani 18:10 ----------

İsim değiştiğinde yeni isim yasaklıysa yine oyundan atma özelliğini şimdi ekledim. Son hali bu, bunu kullan

PHP Code:
#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_info(id,"name",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^"",get_user_userid(Uid))
        
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^"",get_user_userid(Uid),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;




Cevap: İp ye göre ban yerine Nick ban ? - hurracuran - 02-02-13

Ölüleri banlayamıyorum onu düzeltmek mümkün mü ?


Cevap: İp ye göre ban yerine Nick ban ? - scarty - 02-02-13

akcaliberkk ; Plugin bana lazım değil de counterstrike benim bildiğim konsolda boşluk bıraktığında boşluktan sonrasını algılamıyor mesela "name scarty ;music" yazdım sadece "scarty" algılar adamın isminden sonra boşluk varsa sorun olmazmı veya ona karşı önlem aldın mı bu dediğim örnek amx_nick içinde geçerli adamın ismini değiştirdiğinde boşluktan sonrası algılanmıyor menüyle düzgün olabilir heralde.


Cevap: İp ye göre ban yerine Nick ban ? - hurracuran - 02-02-13

Boşluklarda sorun yok sadece adamın nickinde boşluk yerine % koyarsın olur biter


Cevap: İp ye göre ban yerine Nick ban ? - akcaliberkk - 02-02-13

Ölüleri banlamaya çalıştığında ne diyor ?

---------- Alttaki Mesaj Zamani 21:43 ---------- Önceki Mesaj Zamani 21:36 ----------

PHP Code:
/* 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_info(id,"name",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,CMDTARGET_OBEY_IMMUNITY CMDTARGET_NO_BOTS CMDTARGET_ALLOW_SELF);
    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^"",get_user_userid(Uid))
        
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^"",get_user_userid(Uid),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;


Düzeldi sanırım.