YetkiVer Düzenleme.
Gönderilme zamanı: Prş Tem 16, 2020 4:51 pm
Şu Pluginde slotlardan 1 tane ve Komutculardan 1 Tane Bırakma şansınız var mı ?.
Komutculuk yazarken ıd istiyor şifre istemiyor menu kayboluyor bakma sansın var mı. Pw leri psw olarak degıstırdım belkı buyuk harf kucuk harf hatası olabilir.LoseBasgan yazdı: Prş Tem 16, 2020 5:06 pm Şöyle bi dener misin
YetkiliEkle[YetkiliSilMenusuDevreDisi] (4).sma
Kod: Tümünü seç
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Yetkili Ekle"
#define VERSION "1.2"
#define AUTHOR "Cristo / Ufak Edit: Excelans"
// /yetkiver Menuye Giriş Yetkisi ve Say Reklam Ayari
#define yetkivererisim ADMIN_LEVEL_E //Yetkiyi degistirdiginizde hangi yetkiye ayarladiysaniz alttakinide degistirmeyi unutmayin.
#define yetkiverchatreklam "ADMIN_LEVEL_E" //Yeterli Yetkiniz Olmadiginda Chatten Gecen Ve Gerekli Yetkinin Yanindaki Reklami Degistirir.
// Slotun Başına Gelicek Tag
#define SlotTag "CSD | "
//Komutcunun Başına Gelicek Tag
#define KomutcuTag "CSD | "
//Komutcu Sonuna Gelicek Taglar
#define Komutcu1Ver " [K-1]"
// Slotun Sonuna Gelicek Taglar
#define Slot1Ver " [S-1]"
// Reklam Buraya Serverinizin Adini Yazabilirsiniz
#define Reklam "CSDURAGI SUNUCU ADINIZ"
new const file[] = "addons/amxmodx/configs/users.ini";
new
bool:Komutcu1_Nick_Giris[33],
bool:Komutcu1_Psw_Giris[33],
bool:Slot1_Nick_Giris[33],
bool:Slot1_Psw_Giris[33],
pFlags,
pFlags10,
g_szName[33][32];
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
// Slot Yetkileri
pFlags = register_cvar("Slot1_Yetki","bmp") // Slot-1 Yetkileri
// Komutcu Yetkileri
pFlags10 = register_cvar("Komutcu1_Yetki","bfmop") // Komutcu-1 Yetkileri
register_clcmd("say /yetkiver","YetkiVer")
register_clcmd("Slot1_Nick","mSlot1_Nick")
register_clcmd("Slot1_Sifre","mSlot1_Sifre")
register_clcmd("Komutcu1_Nick","mKomutcu1_Nick")
register_clcmd("Komutcu1_Sifre","mKomutcu1_Sifre")
}
public YetkiVer(id)
{
if(get_user_flags(id) & yetkivererisim)
{
new menu = menu_create("\rCSDuragi \yYetkili Ekle", "YetkiVer2")
menu_additem(menu, "\yCSDuragi \rSlotluk Yaz", "1", 0);
menu_additem(menu, "\yCSDuragi \rKomutculuk Yaz", "2", 0);
menu_additem(menu, "\yCSDuragi \rYetkili Sil", "3", 0);
menu_additem(menu, "\yCSDuragi \rKullanim Klavuzu", "4", 0);
menu_setprop(menu,MPROP_EXITNAME,"\rCSDuragi \wCikis");
menu_display(id, menu, 0)
}
else
{
RenkliYazi(id,"!t[!gYetkiVer!t] !tMenuye Girmek Icin Yeterli Yetkiniz Bulunmamakta !n[Gerekli Yetki !g%s!n]",yetkiverchatreklam)
}
}
public YetkiVer2(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[32], Access, Callback
menu_item_getinfo(menu, item, Access, Data, sizeof(Data) - 1, Name, sizeof(Name) - 1, Callback)
new Key = str_to_num(Data)
switch(Key)
{
case 1: {
SlotlukYaz(id)
}
case 2: {
KomutculukYaz(id)
}
case 3: {
yetkisildeaktif(id)
}
case 4: {
KullanimKlavuzu(id)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public SlotlukYaz(id)
{
new menu = menu_create("\rCSDuragi \ySlotluk Yaz", "SlotlukYaz2")
menu_additem(menu, "\ySlot-1 Yaz", "1", 0);
menu_additem(menu, "\rCSDuragi \wCikis", "0", 0);
menu_setprop(menu, MPROP_PERPAGE, 0)
menu_display(id, menu, 0)
}
public SlotlukYaz2(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[32], Access, Callback
menu_item_getinfo(menu, item, Access, Data, sizeof(Data) - 1, Name, sizeof(Name) - 1, Callback)
new Key = str_to_num(Data)
switch(Key)
{
case 1: {
Slot1_Nick_Giris[id] = true;
client_cmd(id,"messagemode Slot1_Nick")
RenkliYazi(id,"!t[!g%s!t]!n: !tSlot-1 Nickini Giriniz!n.",Reklam)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public KomutculukYaz(id)
{
new menu = menu_create("\rCSDuragi \yKoumtculuk Yaz", "KomutculukYaz2")
menu_additem(menu, "\yKomutcu-1 Yaz", "1", 0);
menu_additem(menu, "\rCSDuragi \wCikis", "0", 0);
menu_setprop(menu, MPROP_PERPAGE, 0)
menu_display(id, menu, 0)
}
public KomutculukYaz2(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[32], Access, Callback
menu_item_getinfo(menu, item, Access, Data, sizeof(Data) - 1, Name, sizeof(Name) - 1, Callback)
new Key = str_to_num(Data)
switch(Key)
{
case 1: {
Komutcu1_Nick_Giris[id] = true;
client_cmd(id,"messagemode Komutcu1_Nick")
RenkliYazi(id,"!t[!g%s!t]!n: !tKomutcu-1 Nickini Giriniz!n.",Reklam)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public KullanimKlavuzu(id)
{
new menu = menu_create("\rCSDuragi \yKullanim Klavuzu", "KullanimKlavuzu2")
menu_additem(menu, "\yKullanicinin Sadece Nickini Giriniz", "1", 0);
menu_additem(menu, "\rYetkililer Icin Basina Gelicek Tag ", "2", 0);
menu_additem(menu, "\rYetkililer Icin Sonuna Gelicek Tag", "3", 0);
menu_additem(menu, "\yAktiftir.Sadece Nick Giriniz.", "4", 0);
menu_setprop(menu, MPROP_EXITNAME, "Cikis")
menu_display(id, menu, 0)
}
public KullanimKlavuzu2(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[32], Access, Callback
menu_item_getinfo(menu, item, Access, Data, sizeof(Data) - 1, Name, sizeof(Name) - 1, Callback)
new Key = str_to_num(Data)
switch(Key)
{
case 1: {
KullanimKlavuzu(id)
}
case 2: {
KullanimKlavuzu(id)
}
case 3: {
KullanimKlavuzu(id)
}
case 4: {
KullanimKlavuzu(id)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public mSlot1_Nick(id) {
if(!Slot1_Nick_Giris[id]) {
RenkliYazi(id,"!t[!g%s!t] !tGecersiz Istek!n.",Reklam)
return PLUGIN_HANDLED
}
new text[64];
read_args(text,63)
remove_quotes(text)
if(!text[0]) {
RenkliYazi(id,"!t[!g%s!t]!n: !tErisim Engellendi!n.!tNick Kismi Bos Birakilamaz!n.",Reklam)
client_cmd(id,"messagemode Slot1_Nick")
return PLUGIN_HANDLED
}
if(admin_exists(text)) {
RenkliYazi(id,"!t[!g%s!t]!n: !tErisim Engellendi!n.!tBu Nickte Zaten Bir Slot Var!n.",Reklam)
client_cmd(id,"messagemode Slot1_Nick")
return PLUGIN_HANDLED
}
copy(g_szName[id],31,text)
Slot1_Nick_Giris[id] = false;
Slot1_Psw_Giris[id] = true;
client_cmd(id,"messagemode Slot1_Sifre")
RenkliYazi(id,"!t[!g%s!t]!n: !tSlot-1 Sifresini Giriniz!n.",Reklam)
return PLUGIN_HANDLED
}
public mSlot1_Sifre(id) {
if(!Slot1_Psw_Giris[id]) {
RenkliYazi(id,"!t[!g%s!t]!n: !tGecersiz Istek!n.",Reklam)
return PLUGIN_HANDLED
}
new text[64];
read_args(text,63)
remove_quotes(text)
add_Slot1(id,g_szName[id],text)
Slot1_Psw_Giris[id] = false;
RenkliYazi(id,"!t[!g%s!t]!n: !tSlotluk Basariyla Aktiflestirildi!n.",Reklam)
RenkliYazi(id,"!t[!g%s!t]!n: !gNick!n: !t%s%s%s !gSifre!n: !t%s",Reklam,SlotTag,g_szName[id],Slot1Ver,text)
return PLUGIN_HANDLED
}
public mKomutcu1_Sifre(id) {
if(!Komutcu1_Psw_Giris[id]) {
RenkliYazi(id,"!t[!g%s!t]!n: !tGecersiz Istek!n.",Reklam)
return PLUGIN_HANDLED
}
new text[64];
read_args(text,63)
remove_quotes(text)
add_Komutcu1(id,g_szName[id],text)
Komutcu1_Psw_Giris[id] = false;
RenkliYazi(id,"!t[!g%s!t]!n: !tKomutculuk Basariyla Aktiflestirildi!n.",Reklam)
RenkliYazi(id,"!t[!g%s!t]!n: !gNick!n: !t%s%s%s !gSifre!n: !t%s",Reklam,KomutcuTag,g_szName[id],Komutcu1Ver,text)
return PLUGIN_HANDLED
}
public add_Slot1(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^" ^"%s^" ^"%s^" ^"a^" // Yazan: %s",SlotTag,Name,Slot1Ver,Pw,yetkiler,yonetici)
write_file(file,szLine)
server_cmd("amx_reloadadmins")
return PLUGIN_HANDLED
}
public add_Komutcu1(id,const Name[],const Pw[]) {
new szLine[248],yonetici[32],yetkiler[32];
get_pcvar_string(pFlags10,yetkiler,31)
get_user_name(id,yonetici,31)
formatex(szLine,247,"^"%s%s%s^" ^"%s^" ^"%s^" ^"a^" // Yazan: %s",KomutcuTag,Name,Komutcu1Ver,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;
}
stock RenkliYazi(const id, const input[], any:...)
{
new count = 1, players[32];
static msg[191];
vformat(msg, sizeof(msg) - 1, input, 3);
replace_all(msg, sizeof(msg) - 1, "!n", "^x01");
replace_all(msg, sizeof(msg) - 1, "!g", "^x04");
replace_all(msg, sizeof(msg) - 1, "!t", "^x03");
if(id) players[0] = id; else get_players(players, count, "ch"); {
for(new i = 0; i < count; i++)
{
if(is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
public yetkisildeaktif(id)
{
RenkliYazi(id,"!t[!gYetkiSil!t] Bu Eklentide YetkiSil Menusu Kapatilmistir.")
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
Kod: Tümünü seç
copy(g_szName[id],31,text)
Slot1_Nick_Giris[id] = false;
Slot1_Psw_Giris[id] = true;
client_cmd(id,"messagemode Slot1_Sifre")
RenkliYazi(id,"!t[!g%s!t]!n: !tSlot-1 Sifresini Giriniz!n.",Reklam)
return PLUGIN_HANDLEDAynen bişeyi fazla silmişim, eve geçince yapar atarım.DarkThrone yazdı: Prş Tem 16, 2020 5:43 pmSanırım bu satır komutcu ıcın yok bu yuzden olmuyor olabilir.Kod: Tümünü seç
copy(g_szName[id],31,text) Slot1_Nick_Giris[id] = false; Slot1_Psw_Giris[id] = true; client_cmd(id,"messagemode Slot1_Sifre") RenkliYazi(id,"!t[!g%s!t]!n: !tSlot-1 Sifresini Giriniz!n.",Reklam) return PLUGIN_HANDLED
Bunu teke düşürmeye çalışıyoruz işte.
defineleri silmek ile olmaz, hata verir.