Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Plugine Menü İsteği

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
xMaster25
Mesajlar: 29
Kayıt: Sal Eyl 15, 2020 1:00 am
Konum: İstanbul
Server Ip/DNS: cs181.csduragi.com

Plugine Menü İsteği

Mesaj gönderen xMaster25 »

Yardım ??

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

bestcore
Mesajlar: 1625
Kayıt: Cmt Eyl 30, 2017 12:44 pm
Konum: Samsun

Plugine Menü İsteği

Mesaj gönderen bestcore »

Eklenti çalışıyor, kanıtlamak için fotoğrafını bile çektim. Artık yapabileceğim birşey yok.
Resim

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
Linki Kopyala
Cevapla