Özel Admin Menü
Moderatör: Moderatörler
-
Konu Sahibi - Mesajlar: 727
- Kayıt: Prş Nis 07, 2016 8:00 pm
- Konum: Istanbul
Özel Admin Menü
Merhabalar ben admin menü istiyorum ama forumdaki gibi değil.
Mesela Menüde 1. Sırada Ban Menu var
Ben Bu Ban Menuye otomatik Konsola amx_banmenu ile girmesini istiyorum.
Aynı şekilde slapmenu için de Konsola amx_slapmenu Yazdırsın.
Kick Menu İçin ise konsola amx_kickmenu
Çıkan Oyunucları Görüntülemek İçin İse konsola amx_last (bu yere girdiği zaman sadece giren admine lütfen konsola bakın yazsın.)
Ayrıca Bir Admin Giriş Yaptığında Menüye "Nick isimli admin Özel Admin Menüye Girdi." Yazsın.
Özel Ban Atması İçin Ban Menü (Menü İçinden Süre ve Sebep Soracak- Konsoldan Plugin amx_ban nick 0 süre yazdırsın loglardan o adminin attığı ban belli olsun.)
Özel Kick Atması İçin Kick Menü (Menü İçinden Sebep Soracak - amx_kick nick sebep yazdırsın loglardan o adminin attığı kick belli olsun.)
UzaBanMenu için konsola amx_uzabanmenu yazdırsın
Plugin için örnek vereyim mesela ts3 yazdır plugini kolayca yazdırıyor kolayca düzenleniyor.
Mesela Menüde 1. Sırada Ban Menu var
Ben Bu Ban Menuye otomatik Konsola amx_banmenu ile girmesini istiyorum.
Aynı şekilde slapmenu için de Konsola amx_slapmenu Yazdırsın.
Kick Menu İçin ise konsola amx_kickmenu
Çıkan Oyunucları Görüntülemek İçin İse konsola amx_last (bu yere girdiği zaman sadece giren admine lütfen konsola bakın yazsın.)
Ayrıca Bir Admin Giriş Yaptığında Menüye "Nick isimli admin Özel Admin Menüye Girdi." Yazsın.
Özel Ban Atması İçin Ban Menü (Menü İçinden Süre ve Sebep Soracak- Konsoldan Plugin amx_ban nick 0 süre yazdırsın loglardan o adminin attığı ban belli olsun.)
Özel Kick Atması İçin Kick Menü (Menü İçinden Sebep Soracak - amx_kick nick sebep yazdırsın loglardan o adminin attığı kick belli olsun.)
UzaBanMenu için konsola amx_uzabanmenu yazdırsın
Plugin için örnek vereyim mesela ts3 yazdır plugini kolayca yazdırıyor kolayca düzenleniyor.
Link: | |
Linklerini gizle |
-
- Mesajlar: 2204
- Kayıt: Prş May 31, 2018 3:32 pm
- Konum: Türkiye
- Server Ip/DNS: cs3.csduragi.net
- Clan İsmi: TIMGaming
- İletişim:
Özel Admin Menü
eklentiler-pluginler/kisayol-menu-t16142.html
Bu eklenti üzerinden istediğin gibi ayarlayabilirsin kanka
Bu eklenti üzerinden istediğin gibi ayarlayabilirsin kanka
Link: | |
Linklerini gizle |
-
- Mesajlar: 1625
- Kayıt: Cmt Eyl 30, 2017 12:44 pm
- Konum: Samsun
Özel Admin Menü
Sanırım istediği o değil. İstediğiniz şey admin menüde örnek veriyorum ban menu var, bu ban menuye girince karşısına seçenekler çıkacak 1. Banlayacağın oyuncuyu seç 2.Süre belirle 3. Sebep gir, bu 3'ünü doldurduktan sonra oyuncuyu banlaya basınca otomatik "x kişisine x süre ve x nedenle" ban atacak ve bunu panelde loglayacak. İstediğiniz böyle birşey mi ?
Link: | |
Linklerini gizle |
-
- Mesajlar: 404
- Kayıt: Sal Şub 28, 2017 2:55 pm
Özel Admin Menü
@bestcore ustam dediğin şekil güzel bi menüye benziyor atabilirmisin
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 727
- Kayıt: Prş Nis 07, 2016 8:00 pm
- Konum: Istanbul
Özel Admin Menü
Hocam yakın söylediniz ama hatalar var mesela adam banlıyor ya adamın konsolundan amx_ban nick 0 süre yazdırıcak. Yani kullanan adminin üstünden banlıyacak.bestcore yazdı: Prş May 13, 2021 9:44 pm Sanırım istediği o değil. İstediğiniz şey admin menüde örnek veriyorum ban menu var, bu ban menuye girince karşısına seçenekler çıkacak 1. Banlayacağın oyuncuyu seç 2.Süre belirle 3. Sebep gir, bu 3'ünü doldurduktan sonra oyuncuyu banlaya basınca otomatik "x kişisine x süre ve x nedenle" ban atacak ve bunu panelde loglayacak. İstediğiniz böyle birşey mi ?
Pluginin ayriyetten log tutmasına gerek kalmayacak. Admin Kayıtları amx_ban nick 0 süre diye gözükecek zaten.
Link: | |
Linklerini gizle |
-
- Mesajlar: 1625
- Kayıt: Cmt Eyl 30, 2017 12:44 pm
- Konum: Samsun
Özel Admin Menü
Onu yaparım sıkıntı yok. Müsait zamanımda ilgileneceğim.FearLess yazdı: Cum May 14, 2021 9:29 pm Hocam yakın söylediniz ama hatalar var mesela adam banlıyor ya adamın konsolundan amx_ban nick 0 süre yazdırıcak. Yani kullanan adminin üstünden banlıyacak.
Pluginin ayriyetten log tutmasına gerek kalmayacak. Admin Kayıtları amx_ban nick 0 süre diye gözükecek zaten.
Link: | |
Linklerini gizle |
-
- Mesajlar: 1625
- Kayıt: Cmt Eyl 30, 2017 12:44 pm
- Konum: Samsun
Özel Admin Menü
Sizin eklentinizi yapmaya fırsat bulamadım, şimdi yapabildim. Eklenti içerisinde Satır 7'den menü özelliklerini ayarlayabilirsiniz, kısaca şöyle özetliyeyim; 1. yere Menü isminizi yazıcaksınız (Ban, Kick Menu) gibi, 2. yere bu menüde kullanılacak kodları yazacaksınız (Ban menude amx_ban, Kick menude amx_kick gibi), 3. yere eğer menüde oyuncuyu banlarken bir sebep girilmesini istiyorsanız 1 istemiyorsanız 0 yazın, bunu yapmamın amacı örnek veriyorum amx_ban komutunu kullanırken sebep giriyoruz ama amx_kick komutunu kullanırken sebep belirtmiyoruz. Son olarak 4. yere aynı 3. yerdeki mantık gibi Süre girilecekse 1 girilmeyecekse 0 yazın, bunuda yapmamın amacı oyuncuyu banlarken süre belirtiyoruz ama kicklerken süre belirtmiyoruz. Mantığı anlamadıysan veya eklenti istediğin gibi değilse geri dönüş yapabilirsin.FearLess yazdı: Cum May 14, 2021 9:29 pm Hocam yakın söylediniz ama hatalar var mesela adam banlıyor ya adamın konsolundan amx_ban nick 0 süre yazdırıcak. Yani kullanan adminin üstünden banlıyacak.
Pluginin ayriyetten log tutmasına gerek kalmayacak. Admin Kayıtları amx_ban nick 0 süre diye gözükecek zaten.
Kod: Tümünü seç
#pragma semicolon 1
#include <amxmodx>
#define ADMIN_SPECIALMENU ADMIN_BAN
new const g_szMenus[][][] =
{
// Menudeki Başlık, Konsola işlenecek kod, Sebep belirtilecek mi ? , Süre Belirlenecek mi ?
{"Ban Menu", "amx_ban", 1, 1},
{"Kick Menu", "amx_kick", 0, 0},
{"Slap Menu", "amx_slap", 0, 0}
};
enum _:intEnum
{
iPickPlayer,
iMenuTime,
iMenuReasonType,
iMenuTimeType
};
new g_int[intEnum][MAX_PLAYERS+1];
new g_szMenuTitle[MAX_PLAYERS+1][30],
g_szMenuCode[MAX_PLAYERS+1][20],
g_szMenuReason[MAX_PLAYERS+1][MAX_FMT_LENGTH];
new bool:g_blPickKey[MAX_PLAYERS+1];
public plugin_init()
{
register_plugin("Admin ShortCut Menu", "0.1", "` BesTCore;");
register_clcmd("say /adminmenu", "clcmd_adminmenu");
register_clcmd("Belirle", "clcmd_determine");
}
public clcmd_adminmenu(const id)
{
new bestm = menu_create("\rAdmin Menu", "clcmd_adminmenu_");
for(new i = 0; i < sizeof(g_szMenus); i++)
{
menu_additem(bestm, fmt("%s", g_szMenus[i][0]), fmt("%i", i));
}
menu_display(id, bestm);
}
public clcmd_adminmenu_(const id, const menu, const item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(data));
key = str_to_num(data);
copy(g_szMenuTitle[id], charsmax(g_szMenuTitle[]), g_szMenus[key][0]);
copy(g_szMenuCode[id], charsmax(g_szMenuCode[]), g_szMenus[key][1][0]);
g_int[iMenuReasonType][id] = g_szMenus[key][2][0];
g_int[iMenuTimeType][id] = g_szMenus[key][3][0];
ShowMenu(id);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public ShowMenu(const id)
{
new bestm = menu_create(fmt("\r%s", g_szMenuTitle[id]), "ShowMenu_");
menu_additem(bestm, fmt("Oyuncu:\r %s", fmt(g_int[iPickPlayer][id] ? "%n":"Tikla Belirle", g_int[iPickPlayer][id])), "1");
if(g_int[iMenuTimeType][id] == 1)
{
menu_additem(bestm, fmt("Sure:\r %s^n", fmt(g_int[iMenuTime][id] > 0 ? "%i":"Tikla Belirle", g_int[iMenuTime][id])), "2");
}
if(g_int[iMenuReasonType][id] == 1)
{
menu_additem(bestm, fmt("Sebep:\r %s^n", fmt(g_szMenuReason[id][0] == EOS ? "Tikla Yaz":"%s", g_szMenuReason[id])), "3");
}
menu_additem(bestm, "Uygula", "4");
menu_display(id, bestm);
}
public ShowMenu_(const id, const menu, const item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(data));
key = str_to_num(data);
switch(key)
{
case 1:
{
ChoosePlayer(id);
}
case 2:
{
client_cmd(id, "messagemode Belirle");
g_blPickKey[id] = true;
}
case 3:
{
client_cmd(id, "messagemode Belirle");
g_blPickKey[id] = false;
}
case 4:
{
if(!(g_int[iPickPlayer][id])){
client_print_color(id, id, "^3Oyuncu secmeden islem yapamazsiniz.");
return PLUGIN_HANDLED;
}
client_cmd(id, "%s %n%s%s", g_szMenuCode[id], g_int[iPickPlayer][id], fmt(g_int[iMenuTime][id] > 0 ? " %i":"", g_int[iMenuTime][id]), fmt(g_szMenuReason[id][0] == EOS ? "":" %s", g_szMenuReason[id]));
sifirla(id);
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public clcmd_determine(const id)
{
new szArg[32];
read_args(szArg, charsmax(szArg));
remove_quotes(szArg);
switch(g_blPickKey[id])
{
case true:
{
new iTime = str_to_num(szArg);
if(iTime > 0)
{
g_int[iMenuTime][id] = iTime;
}
}
case false:
{
g_szMenuReason[id] = szArg;
}
}
ShowMenu(id);
return PLUGIN_HANDLED;
}
public ChoosePlayer(const id)
{
new bestm = menu_create("\rOyuncu Sec", "ChoosePlayer_");
for(new i = 1; i <= MaxClients; i++)
{
if(is_user_connected(i) && !(get_user_flags(id) & ADMIN_IMMUNITY))
{
menu_additem(bestm, fmt("%n", i), fmt("%i", i));
}
}
menu_display(id, bestm);
}
public ChoosePlayer_(const id, const menu, const item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(data));
key = str_to_num(data);
g_int[iPickPlayer][id] = key;
ShowMenu(id);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public client_disconnected(id)
{
sifirla(id);
}
public sifirla(const id)
{
g_int[iPickPlayer][id] = 0;
g_int[iMenuTime][id] = 0;
g_int[iMenuReasonType][id] = 0;
g_int[iMenuTimeType][id] = 0;
g_blPickKey[id] = false;
g_szMenuTitle[id][0] = EOS;
g_szMenuCode[id][0] = EOS;
g_szMenuReason[id][0] = EOS;
}
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 727
- Kayıt: Prş Nis 07, 2016 8:00 pm
- Konum: Istanbul
Özel Admin Menü
bestcore yazdı: Pzr May 16, 2021 3:23 pmSizin eklentinizi yapmaya fırsat bulamadım, şimdi yapabildim. Eklenti içerisinde Satır 7'den menü özelliklerini ayarlayabilirsiniz, kısaca şöyle özetliyeyim; 1. yere Menü isminizi yazıcaksınız (Ban, Kick Menu) gibi, 2. yere bu menüde kullanılacak kodları yazacaksınız (Ban menude amx_ban, Kick menude amx_kick gibi), 3. yere eğer menüde oyuncuyu banlarken bir sebep girilmesini istiyorsanız 1 istemiyorsanız 0 yazın, bunu yapmamın amacı örnek veriyorum amx_ban komutunu kullanırken sebep giriyoruz ama amx_kick komutunu kullanırken sebep belirtmiyoruz. Son olarak 4. yere aynı 3. yerdeki mantık gibi Süre girilecekse 1 girilmeyecekse 0 yazın, bunuda yapmamın amacı oyuncuyu banlarken süre belirtiyoruz ama kicklerken süre belirtmiyoruz. Mantığı anlamadıysan veya eklenti istediğin gibi değilse geri dönüş yapabilirsin.FearLess yazdı: Cum May 14, 2021 9:29 pm Hocam yakın söylediniz ama hatalar var mesela adam banlıyor ya adamın konsolundan amx_ban nick 0 süre yazdırıcak. Yani kullanan adminin üstünden banlıyacak.
Pluginin ayriyetten log tutmasına gerek kalmayacak. Admin Kayıtları amx_ban nick 0 süre diye gözükecek zaten.Kod: Tümünü seç
#pragma semicolon 1 #include <amxmodx> #define ADMIN_SPECIALMENU ADMIN_BAN new const g_szMenus[][][] = { // Menudeki Başlık, Konsola işlenecek kod, Sebep belirtilecek mi ? , Süre Belirlenecek mi ? {"Ban Menu", "amx_ban", 1, 1}, {"Kick Menu", "amx_kick", 0, 0}, {"Slap Menu", "amx_slap", 0, 0} }; enum _:intEnum { iPickPlayer, iMenuTime, iMenuReasonType, iMenuTimeType }; new g_int[intEnum][MAX_PLAYERS+1]; new g_szMenuTitle[MAX_PLAYERS+1][30], g_szMenuCode[MAX_PLAYERS+1][20], g_szMenuReason[MAX_PLAYERS+1][MAX_FMT_LENGTH]; new bool:g_blPickKey[MAX_PLAYERS+1]; public plugin_init() { register_plugin("Admin ShortCut Menu", "0.1", "` BesTCore;"); register_clcmd("say /adminmenu", "clcmd_adminmenu"); register_clcmd("Belirle", "clcmd_determine"); } public clcmd_adminmenu(const id) { new bestm = menu_create("\rAdmin Menu", "clcmd_adminmenu_"); for(new i = 0; i < sizeof(g_szMenus); i++) { menu_additem(bestm, fmt("%s", g_szMenus[i][0]), fmt("%i", i)); } menu_display(id, bestm); } public clcmd_adminmenu_(const id, const menu, const item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], key; menu_item_getinfo(menu, item, _, data, charsmax(data)); key = str_to_num(data); copy(g_szMenuTitle[id], charsmax(g_szMenuTitle[]), g_szMenus[key][0]); copy(g_szMenuCode[id], charsmax(g_szMenuCode[]), g_szMenus[key][1][0]); g_int[iMenuReasonType][id] = g_szMenus[key][2][0]; g_int[iMenuTimeType][id] = g_szMenus[key][3][0]; ShowMenu(id); menu_destroy(menu); return PLUGIN_HANDLED; } public ShowMenu(const id) { new bestm = menu_create(fmt("\r%s", g_szMenuTitle[id]), "ShowMenu_"); menu_additem(bestm, fmt("Oyuncu:\r %s", fmt(g_int[iPickPlayer][id] ? "%n":"Tikla Belirle", g_int[iPickPlayer][id])), "1"); if(g_int[iMenuTimeType][id] == 1) { menu_additem(bestm, fmt("Sure:\r %s^n", fmt(g_int[iMenuTime][id] > 0 ? "%i":"Tikla Belirle", g_int[iMenuTime][id])), "2"); } if(g_int[iMenuReasonType][id] == 1) { menu_additem(bestm, fmt("Sebep:\r %s^n", fmt(g_szMenuReason[id][0] == EOS ? "Tikla Yaz":"%s", g_szMenuReason[id])), "3"); } menu_additem(bestm, "Uygula", "4"); menu_display(id, bestm); } public ShowMenu_(const id, const menu, const item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], key; menu_item_getinfo(menu, item, _, data, charsmax(data)); key = str_to_num(data); switch(key) { case 1: { ChoosePlayer(id); } case 2: { client_cmd(id, "messagemode Belirle"); g_blPickKey[id] = true; } case 3: { client_cmd(id, "messagemode Belirle"); g_blPickKey[id] = false; } case 4: { if(!(g_int[iPickPlayer][id])){ client_print_color(id, id, "^3Oyuncu secmeden islem yapamazsiniz."); return PLUGIN_HANDLED; } client_cmd(id, "%s %n%s%s", g_szMenuCode[id], g_int[iPickPlayer][id], fmt(g_int[iMenuTime][id] > 0 ? " %i":"", g_int[iMenuTime][id]), fmt(g_szMenuReason[id][0] == EOS ? "":" %s", g_szMenuReason[id])); sifirla(id); } } menu_destroy(menu); return PLUGIN_HANDLED; } public clcmd_determine(const id) { new szArg[32]; read_args(szArg, charsmax(szArg)); remove_quotes(szArg); switch(g_blPickKey[id]) { case true: { new iTime = str_to_num(szArg); if(iTime > 0) { g_int[iMenuTime][id] = iTime; } } case false: { g_szMenuReason[id] = szArg; } } ShowMenu(id); return PLUGIN_HANDLED; } public ChoosePlayer(const id) { new bestm = menu_create("\rOyuncu Sec", "ChoosePlayer_"); for(new i = 1; i <= MaxClients; i++) { if(is_user_connected(i) && !(get_user_flags(id) & ADMIN_IMMUNITY)) { menu_additem(bestm, fmt("%n", i), fmt("%i", i)); } } menu_display(id, bestm); } public ChoosePlayer_(const id, const menu, const item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], key; menu_item_getinfo(menu, item, _, data, charsmax(data)); key = str_to_num(data); g_int[iPickPlayer][id] = key; ShowMenu(id); menu_destroy(menu); return PLUGIN_HANDLED; } public client_disconnected(id) { sifirla(id); } public sifirla(const id) { g_int[iPickPlayer][id] = 0; g_int[iMenuTime][id] = 0; g_int[iMenuReasonType][id] = 0; g_int[iMenuTimeType][id] = 0; g_blPickKey[id] = false; g_szMenuTitle[id][0] = EOS; g_szMenuCode[id][0] = EOS; g_szMenuReason[id][0] = EOS; }
Kod: Tümünü seç
{"Ban Menu", "amx_ban", 1, 1},
{"Kick Menu", "amx_kick", 0, 0},
{"Slap Menu", "amx_slap", 0, 0}
Link: | |
Linklerini gizle |
-
- Mesajlar: 1625
- Kayıt: Cmt Eyl 30, 2017 12:44 pm
- Konum: Samsun
Özel Admin Menü
Oraya ne yazarsanız oyuncunun konsolunda oyuncuya o işlem uygulanır, "amx_rbban" yazarsanız "amx_rbban isim süre"FearLess yazdı: Pzr May 16, 2021 8:38 pmBiz burayı istediğimiz gibi değişebiliriz dimi adı mesela amx_ban değil de amx_rbban gibiKod: Tümünü seç
{"Ban Menu", "amx_ban", 1, 1}, {"Kick Menu", "amx_kick", 0, 0}, {"Slap Menu", "amx_slap", 0, 0}
Link: | |
Linklerini gizle |