PHP- Kodu:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#define PLUGIN "Admin Manager"
#define VERSION "1.0"
#define AUTHOR "akcaliberkk"
new const file[] = "addons/amxmodx/configs/users.ini";
new bool:Admin_Nick_Giris[33];
new bool:Admin_Pw_Giris[33];
new pFlags;
new g_szName[33][32];
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
pFlags = register_cvar("admin_manager_flags","abcdefghijmnopqrstu")
register_clcmd("say /admineklesil","MainMenu")
register_clcmd("Admin_Nick","mAdmin_Nick")
register_clcmd("Admin_Sifre","mAdmin_Sifre")
}
public MainMenu(id) {
if(!access(id,ADMIN_RCON)) {
ColorChat(id,GREEN,"^4[ADMIN YONETICI] ^3Erisim Engellendi: ^1Yetkiniz Yok.")
return PLUGIN_HANDLED
}
new menu = menu_create("\rAdmin Yonetici: \yMetot Seciniz","MainMenu_Handler")
menu_additem(menu,"Admin Ekle","1",ADMIN_RCON)
menu_additem(menu,"Admin Sil","2",ADMIN_RCON)
menu_setprop(menu,MPROP_EXIT,MEXIT_ALL)
menu_display(id,menu,0)
return PLUGIN_HANDLED
}
public MainMenu_Handler(id,menu,item) {
if(item == MENU_EXIT) {
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6],name[32];
new access,callback;
menu_item_getinfo(menu,item,access,data,5,name,31,callback)
if(equali(data,"1")) {
Admin_Nick_Giris[id] = true;
client_cmd(id,"messagemode Admin_Nick")
ColorChat(id,GREEN,"^4[ADMIN YONETICI] ^1Adminlik Nickini Giriniz.")
}
else if(equali(data,"2")) {
ShowAdminList(id);
}
return PLUGIN_HANDLED
}
public mAdmin_Nick(id) {
if(!Admin_Nick_Giris[id]) {
console_print(id,"Gecersiz Istek !")
return PLUGIN_HANDLED
}
new text[64];
read_args(text,63)
remove_quotes(text)
if(!text[0]) {
ColorChat(id,GREEN,"^4[ADMIN YONETICI] ^3Erisim Engellendi: ^1Nick Kismi Bos Birakilamaz.")
client_cmd(id,"messagemode Admin_Nick")
return PLUGIN_HANDLED
}
if(admin_exists(text)) {
ColorChat(id,GREEN,"^4[ADMIN YONETICI] ^3Erisim Engellendi: ^1Bu Nickte Zaten Bir Admin Var.")
client_cmd(id,"messagemode Admin_Nick")
return PLUGIN_HANDLED
}
copy(g_szName[id],31,text)
Admin_Nick_Giris[id] = false;
Admin_Pw_Giris[id] = true;
client_cmd(id,"messagemode Admin_Sifre")
ColorChat(id,GREEN,"^4[ADMIN YONETICI] ^1Adminlik Sifresini Giriniz.")
return PLUGIN_HANDLED
}
public mAdmin_Sifre(id) {
if(!Admin_Pw_Giris[id]) {
console_print(id,"Gecersiz Istek !")
return PLUGIN_HANDLED
}
new text[64];
read_args(text,63)
remove_quotes(text)
add_admin(id,g_szName[id],text)
Admin_Pw_Giris[id] = false;
ColorChat(id,GREEN,"^4[ADMIN YONETICI] ^1Adminlik Basariyla Aktiflestirildi ! ^4Nick: ^3%s ^4PW: ^3%s",g_szName[id],text)
return PLUGIN_HANDLED
}
public ShowAdminList(id) {
new menu = menu_create("\rAdmin Yonetici: \yAdminlik Sil","DeleteAdminMenu_Handler")
new szLine[248];
new LineName[32],LinePW[32],LineAccess[32],LineFlag[32];
new maxlines,txtlen,linee[6];
maxlines = file_size(file,1);
for(new line;line<maxlines;line++) {
szLine[0] = 0;
LineName[0] = 0;
LinePW[0] = 0;
LineAccess[0] = 0;
LineFlag[0] = 0;
read_file(file,line,szLine,247,txtlen)
if(szLine[0]) {
parse(szLine,LineName,31,LinePW,31,LineAccess,31,LineFlag,31)
if(equali(LineFlag,"a") && !equali(LineName,";") ) {
num_to_str(line,linee,5)
menu_additem(menu,LineName,linee,ADMIN_RCON)
}
}
}
menu_setprop(menu,MPROP_EXIT,MEXIT_ALL)
menu_display(id,menu,0)
return PLUGIN_HANDLED
}
public DeleteAdminMenu_Handler(id,menu,item) {
if(item == MENU_EXIT) {
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6],name[64];
new access,callback;
menu_item_getinfo(menu,item,access,data,5,name,63,callback)
write_file(file,"",str_to_num(data))
ColorChat(id,GREEN ,"[ADMIN YONETICI] ^1Adminlik Basariyla Silindi ! ^4Nick: ^3%s",name)
server_cmd("amx_reloadadmins")
return PLUGIN_HANDLED
}
public add_admin(id,const Name[],const Pw[]) {
new szLine[248],yonetici[32],yetkiler[32];
get_pcvar_string(pFlags,yetkiler,31)
get_user_name(id,yonetici,31)
formatex(szLine,247,"^"%s^" ^"%s^" ^"%s^" ^"a^" // Yazan: %s^n ",Name,Pw,yetkiler,yonetici)
write_file(file,szLine)
server_cmd("amx_reloadadmins")
return PLUGIN_HANDLED
}
stock admin_exists(const Name[]) {
new szLine[248];
new LineName[32],blabla[32];
new maxlines,txtlen;
maxlines = file_size(file,1);
for(new line;line<maxlines;line++) {
read_file(file,line,szLine,247,txtlen)
parse(szLine,LineName,31,blabla,31)
if(equali(LineName,Name)) {
return 1;
}
}
return 0;
}