Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
İp ye göre ban yerine Nick ban ?
#1
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
Reply
#2
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>


CS:GO ve CS 1.6 için ücretli eklenti yapılır.
Plugin yazmak isteyenlere yardımcı olabilirim.
Skype adresimden ulaşabilirsiniz:
destek_596
Steam: http://steamcommunity.com/id/ca-nemesis/

Reply
#3
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 .
Reply
#4
Bende sorunsuz çalışıyor ? Hata falan varmı kontrol edin ?


CS:GO ve CS 1.6 için ücretli eklenti yapılır.
Plugin yazmak isteyenlere yardımcı olabilirim.
Skype adresimden ulaşabilirsiniz:
destek_596
Steam: http://steamcommunity.com/id/ca-nemesis/

Reply
#5
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
Reply
#6
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;



CS:GO ve CS 1.6 için ücretli eklenti yapılır.
Plugin yazmak isteyenlere yardımcı olabilirim.
Skype adresimden ulaşabilirsiniz:
destek_596
Steam: http://steamcommunity.com/id/ca-nemesis/

Reply
#7
Ölüleri banlayamıyorum onu düzeltmek mümkün mü ?
Reply
#8
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.
YouTube.com/enesscarty
Reply
#9
Boşluklarda sorun yok sadece adamın nickinde boşluk yerine % koyarsın olur biter
Reply
#10
Ö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.


CS:GO ve CS 1.6 için ücretli eklenti yapılır.
Plugin yazmak isteyenlere yardımcı olabilirim.
Skype adresimden ulaşabilirsiniz:
destek_596
Steam: http://steamcommunity.com/id/ca-nemesis/

Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Mapa Göre Cvar plugini melof 8 9,378 16-11-20, 02:00
Last Post: es_Dark_Es
  Nick Sifreleme Plugini DisappearanCe 15 8,702 17-07-16, 17:54
Last Post: BYHAZARD7
  PodbotServere Göre [Eklenti Deil ] 41aaa41 3 2,527 20-02-15, 23:56
Last Post: eneskaraca55
  Saate göre map melof 6 2,994 04-11-14, 15:12
Last Post: Nopain
  Hatalı Eklenti: JB givemoney yerine TL knsvsn 2 3,188 21-06-14, 20:44
Last Post: knsvsn
  nick şifreleme plugini wolf5094 17 9,746 02-04-14, 12:47
Last Post: Nobb
  Serverde nick değiştirememe eklentisi timur123 12 5,334 28-01-14, 10:11
Last Post: hasan0650
  Mapa Göre Server Adı Kuheylan94 6 3,317 03-09-13, 17:03
Last Post: akcaliberkk
  El Bası &quot;Zırh&quot; Yerine &quot;Zırh ve Kask&quot; vermesini İstiyorum Msltr48 5 4,793 27-03-13, 20:58
Last Post: akcaliberkk
  Cs 1.6 amx_team nick ct plungini bulamıyorm yardım ford257 4 6,860 28-02-13, 01:38
Last Post: Oguzan1327

Foruma Atla:


Users browsing this thread: