Plugine Menü İsteği
Moderatör: Moderatörler
-
Konu Sahibi - Mesajlar: 29
- Kayıt: Sal Eyl 15, 2020 1:00 am
- Konum: İstanbul
- Server Ip/DNS: cs181.csduragi.com
-
- Mesajlar: 1625
- Kayıt: Cmt Eyl 30, 2017 12:44 pm
- Konum: Samsun
Plugine Menü İsteği
Eklenti çalışıyor, kanıtlamak için fotoğrafını bile çektim. Artık yapabileceğim birşey yok.


Kod: Tümünü seç
#pragma semicolon 1
#include <amxmodx>
#include <amxmisc>
new const g_szFileName[] = "addons/amxmodx/logs/authidbans.ini";
public plugin_init() {
register_plugin("AuthID-IP Permanent Ban", "0.0.1", "PurposeLess");
register_concmd("amx_apban", "@concmd_authidban", ADMIN_BAN|ADMIN_BAN_TEMP, "<name or #userid>");
register_clcmd("say /apban", "@concmd_authidban", ADMIN_BAN|ADMIN_BAN_TEMP, "<name or #userid>");
register_clcmd("say .apban", "@concmd_authidban", ADMIN_BAN|ADMIN_BAN_TEMP, "<name or #userid>");
register_clcmd("say !apban", "@concmd_authidban", ADMIN_BAN|ADMIN_BAN_TEMP, "<name or #userid>");
register_clcmd("say /apbanmenu", "clcmd_apbanmenu");
}
public clcmd_apbanmenu(const id)
{
if(~get_user_flags(id) & ADMIN_BAN)
{
return;
}
new bestm = menu_create("\rOyuncu Sec", "clcmd_apbanmenu_handler");
for(new i = 1; i <= MaxClients; i++)
{
if(!(is_user_connected(i)) || get_user_flags(i) & ADMIN_IMMUNITY)
{
continue;
}
menu_additem(bestm, fmt("%n", i), fmt("%d", i));
}
menu_display(id, bestm);
}
public clcmd_apbanmenu_handler(const id, const iMenu, const iItem)
{
if(iItem == MENU_EXIT)
{
menu_destroy(iMenu);
return PLUGIN_HANDLED;
}
new iData[6], iKey;
menu_item_getinfo(iMenu, iItem, _, iData, charsmax(iData));
iKey = str_to_num(iData);
Write_File(id, iKey);
server_cmd("kick #%d ^"Sunucudan kalici olarak yasaklandin!", get_user_userid(iKey));
client_print_color(0, print_team_red, "^3Admin ^4%n^1, ^3%n ^1adli oyuncuyu ^4kalici yasakladi!", id, iKey);
menu_destroy(iMenu);
return PLUGIN_HANDLED;
}
public client_authorized(pPlayer, const szAuthid[]) {
new szIP[MAX_IP_LENGTH];
get_user_ip(pPlayer, szIP, charsmax(szIP), 1);
if(ReadFile(szAuthid, szIP)) {
server_cmd("kick #%d ^"Sunucudan kalici olarak yasaklandin!", get_user_userid(pPlayer));
}
}
@concmd_authidban(pPlayer, iLevel, iCid) {
if(!cmd_access(pPlayer, iLevel, iCid, 2)) {
return PLUGIN_HANDLED;
}
new szTarget[32];
read_argv(1, szTarget, charsmax(szTarget));
new pTarget = cmd_target(pPlayer, szTarget, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_NO_BOTS | CMDTARGET_ALLOW_SELF);
if(!pTarget) {
return PLUGIN_HANDLED;
}
Write_File(pPlayer, pTarget);
server_cmd("kick #%d ^"Sunucudan kalici olarak yasaklandin!", get_user_userid(pTarget));
client_print_color(0, print_team_red, "^3Admin ^4%n^1, ^3%n ^1adli oyuncuyu ^4kalici yasakladi!", pPlayer, pTarget);
return PLUGIN_HANDLED;
}
Write_File(const pPlayer, const pTarget) {
new iFile = fopen(g_szFileName, "a+");
if(iFile) {
new szAuthid[MAX_AUTHID_LENGTH], szIP[MAX_IP_LENGTH], szDate[20];
get_user_authid(pTarget, szAuthid, charsmax(szAuthid));
get_user_ip(pTarget, szIP, charsmax(szIP), 1);
get_time("%m/%d/%Y - %H:%M", szDate, charsmax(szDate));
fprintf(iFile, "[%n][%s][%s][%s] -> Banlayan admin %n", pTarget, szAuthid, szIP, szDate, pPlayer);
fclose(iFile);
}
}
bool:ReadFile(const szgAuthid[], const szgIP[]) {
new iFile = fopen(g_szFileName, "r");
if(iFile) {
new szBuffer[MAX_FMT_LENGTH];
while(fgets(iFile, szBuffer, charsmax(szBuffer))) {
trim(szBuffer);
if(szBuffer[0] == EOS || szBuffer[0] == ';') {
continue;
}
if(containi(szBuffer, szgAuthid) != -1 || containi(szBuffer, szgIP) != -1) {
fclose(iFile);
return true;
}
}
fclose(iFile);
}
return false;
}
Link: | |
Linklerini gizle |