Alıntı By Darkinq Nickli Üyeden Alıntı Mesajı göster


MERHABA ARKADAŞLAR BEN DARKİNq ,

Eminimki Çoğu Kişi Bu Pluginden Faydalanacaktır... Özellikle Adminlerden Sıkıntı Çeken Serverler
Burda Artık Bir Nokta Koyup Adminlerinde Uzaklaştırılma Cezası Alabiliceği Birşey Paylaşıyorum
Fotoğraf Koyamadım Üzgünüm Ancak Çalışıyor...
İlk Önce Adminlerin Listesi Çıkıyor Belli Playerler Verdiği Zaman Oy Birdaha Veremiyor....
Neyse PLugini Paylaşayım...Smasınıda Paylaşıyorum....



PHP- Kodu:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
 
#define ADMIN_LEVEL ADMIN_LEVEL_B
new g_iSeviye[22] = {
    
ADMIN_IMMUNITY// a
    
ADMIN_RESERVATION// b
    
ADMIN_KICK// c
    
ADMIN_BAN// d
    
ADMIN_SLAY// e
    
ADMIN_MAP// f
    
ADMIN_CVAR// g
    
ADMIN_CFG// h
    
ADMIN_CHAT// i
    
ADMIN_VOTE// j
    
ADMIN_PASSWORD// k
    
ADMIN_RCON// l
    
ADMIN_LEVEL_A// m
    
ADMIN_LEVEL_B// n
    
ADMIN_LEVEL_C// o
    
ADMIN_LEVEL_D// p
    
ADMIN_LEVEL_E// q
    
ADMIN_LEVEL_F// r
    
ADMIN_LEVEL_G// s
    
ADMIN_LEVEL_H// t
    
ADMIN_MENU// u
    
ADMIN_USER // z
}
new 
boolg_OyucuOylama[33][33]
new 
nVault
public plugin_init()
{
    
register_plugin("Admini Sikayet Et""1.1""Bilinmiyor")
 
    
register_clcmd("say /adminsikayet""SikayetMenuGoster")
 
    
nVault nvault_open("AdminSikayet")
}
public 
client_disconnect(id) {
    for(new 
i33i++) {
        
g_OyucuOylama[id][i] = false;
    }
}
public 
SikayetMenuGoster(id) {
    new 
players[32], numadmins[33], adminsnum
    get_players
(playersnum)
    for(new 
inumi++) {
        if(
user_top_flag(players[i]) == ADMIN_LEVEL) {
            
admins[adminsnum] = players[i];
            
adminsnum++;
        }
    }
    if(
adminsnum 1) {
        
client_print(idprint_chat"[AMXX] Sikayet edecegin hicbir admin yok.")
        return 
PLUGIN_HANDLED;
    }
    new 
menu menu_create("Admin Sikayet""MenuOlustur")
 
    for(new 
iadminsnumi++) {
        new 
szName[42], szID[2], szFinal[42], iSikayetNumarasi SikayetSayisi(admins[i]);
        
get_user_name(admins[i], szNamecharsmax(szName))
        
num_to_str(admins[i], szIDcharsmax(szID))
 
        if(
g_OyucuOylama[id][admins[i]] == true)
            
formatex(szFinalcharsmax(szFinal), "\d%s \r(%i)"szNameiSikayetNumarasi)
        else
            
formatex(szFinalcharsmax(szFinal), "%s \r(%i)"szNameiSikayetNumarasi)
 
        
menu_additem(menuszFinalszID)
    }
 
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);
    
menu_display(idmenu0);
    return 
PLUGIN_HANDLED;
}
public 
MenuOlustur(idmenuitem)
{
    if(
item == MENU_EXIT) {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
 
    new 
data[6], szName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata,charsmax(data), szName,charsmax(szName), callback);
 
    new 
adminid str_to_num(data);
 
    if(
g_OyucuOylama[id][adminid] == true) {
        
client_print(idprint_chat"[AMXX] Herhangi bir admin icin sadece 1 kez sikayette bulunabilirsiniz.")
        
SikayetMenuGoster(id)
    }
 
    else if(
user_top_flag(adminid) == ADMIN_LEVEL) {
        new 
szNum[3], authid[32]
        
get_user_authid(idauthidcharsmax(authid))
        if(
nvault_get(nVaultauthidszNumcharsmax(szNum))) {
            new 
iNum str_to_num(szNum)
            
num_to_str((iNum+1), szNumcharsmax(szNum))
            
nvault_set(nVaultauthidszNum)
        }
        else
            
nvault_set(nVaultauthid"1")
 
        
g_OyucuOylama[id][adminid] = true;
        
CheckComplaints();
    }
 
    return 
PLUGIN_HANDLED;
}
CheckComplaints() {
    new 
players[32], num
    get_players
(playersnum)
    for(new 
inumi++) {
        if(
user_top_flag(players[i]) == ADMIN_LEVEL) {
            new 
complaints SikayetSayisi(players[i])
            if(
complaints == 30) {
                new 
saat[] = "0"authid[32]
                
get_user_authid(players[i], authidcharsmax(authid))
 
                
server_cmd("kick #%d ^"Cok sayida sikayet aldigi icin serverdan kalici olarak uzaklastirildi^""i)
                
server_cmd("banid %s %s"saatauthid)
                
server_cmd("idyaz")    
            }
            else if(
complaints == 20) {
                new 
saat[] = "300"authid[32]
                
get_user_authid(players[i], authidcharsmax(authid))
 
                
server_cmd("kick #%d ^"Cok sayida sikayet aldigi icin serverdan 5 saatligine uzaklastirildi^""i)
                
server_cmd("banid %s %s"saatauthid)
                
server_cmd("idyaz")
            }
            else if(
complaints == 10) {
                new 
saat[] = "60"authid[32]
                
get_user_authid(players[i], authidcharsmax(authid))
 
                
server_cmd("kick #%d ^"Cok sayida sikayet aldigi icin serverdan 1 saatligine uzaklastirildi^""i)
                
server_cmd("banid %s %s"saatauthid)
                
server_cmd("idyaz")
            }
        }
    }
}
SikayetSayisi(id) {
    new 
szNum[3], authid[32]
    
get_user_authid(idauthidcharsmax(authid))
    if(
nvault_get(nVaultauthidszNumcharsmax(szNum)))
        return 
str_to_num(szNum);
 
    return 
0;
}
user_top_flag(id) {
    new 
flags get_user_flags(id)
 
    for(new 
i22i++)
        if(
flags g_iSeviye[i])
            return (
flags g_iSeviye[i]);
 
    return 
0;



Eklenti 2426

Eğer İndiyorsanız Lütfen Teşekkürlerimizi Esirgemeyelim... Zorlamıyorum Sonuçta...
1 Haftadır Bu Plugini Ariyodum Adminler E DUR DEMEK LAZIM ARTIK BİZ NORMAL OYUNCULARA NORMAL PLAYER MUAMELESİ YAPIYOLAR Protesto ediyorum Kardesim