Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

BanCfg - flagi przerobkamam nadzieje ze za bancfg niedostane warna


  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 amxxmaster

    Profesjonalista

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:207
  • Imię:Stad
  • Lokalizacja:Daleko
Offline

Napisano 12.06.2011 19:30

mam nadzieje ze za bancfg niedostane warna




Da rade przerobic ten kod (to tylko przyklad jak to mniej wiecej wyglada) chce zeby
to
if(get_user_flags(iTarget) & ADMIN_IMMUNITY){
client_print(id, print_console, "Nie mozesz zbanowac Admina!")
return 1;
}

a w menu wyglada to mniej wiecej tak

if(get_user_flags(tempid) & ADMIN_IMMUNITY){ to poprostu nie można zbanowac gracza ktory ma dostep do amx_banconfigmenu

odwolywalo sie do flag umieszczonych tu

register_concmd("amx_banconfig", "cmdBanConfig", ADMIN_IMMUNITY, "<#name/userid> <#time>");
register_concmd("amx_banconfigmenu","BanConfigMenu", ADMIN_IMMUNITY);
}


to znaczy jezeli ktos w cmdacess.ini zmieni flage amx_banconfig lub amx_banconfigmenu na ADMIN_BAN to nie bedzie mozna zbanowac gracza z flaga ADMIN_BAN, jezeli ustawi amx_banconfig na admin slay, a banconfigmenu na admin_kick to nie bedzie mozna zbanowac gracza z flagami admin_ban i admin_kick poprostu nie bedzie mozna zbanowac tych osob

jest to do wykonania?

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Ban Config"
#define VERSION "1.0"
#define AUTHOR "Alka"

new const gBanKey[] = "_ban";

public plugin_init() {
    
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    register_concmd("amx_banconfig", "cmdBanConfig", ADMIN_IMMUNITY, "<#name/userid> <#time>");
    register_concmd("amx_banconfigmenu","BanConfigMenu", ADMIN_IMMUNITY);
}

public cmdBanConfig(id, level, cid)
{
    if(!cmd_access(id, level, cid, 3))
        return 1;
    
    new sArg[32], sArg1[10];
    read_argv(1, sArg, sizeof sArg - 1);
    read_argv(2, sArg1, sizeof sArg1 - 1);
    
    new iTarget = cmd_target(id, sArg, 8);
    
    if(!iTarget)
        return 1;

    if(get_user_flags(iTarget) & ADMIN_IMMUNITY){
        client_print(id, print_console, "Nie mozesz zbanowac Admina!")
        return 1;
    }
    
    new iBanTime = ((str_to_num(sArg1) * 60) + get_systime());
    
    if(str_to_num(sArg1) <= 0)
        iBanTime = 9999999999;
    
    client_cmd(iTarget, "developer 1;wait;setinfo %s %d", gBanKey, iBanTime);
    
    switch(get_cvar_num("amx_show_activity"))
    {
        case 0: { return 1; }
        case 1:
        {
            new sTargetName[32];
            get_user_name(iTarget, sTargetName, sizeof sTargetName - 1);
            
            client_print(0, print_chat, "ADMIN: ban %s.", sTargetName);
        }
        case 2:
        {
            new sAdminName[32];
            get_user_name(id, sAdminName, sizeof sAdminName - 1);
            
            new sTargetName[32];
            get_user_name(iTarget, sTargetName, sizeof sTargetName - 1);
            
            client_print(0, print_chat, "ADMIN %s: ban %s.", sAdminName, sTargetName);
        }
    }
    
    server_cmd("kick #%d ^"Banned!^"", get_user_userid(iTarget));
    
    return 1;
}

public client_authorized(id)
{
    new sInfo[32];
    get_user_info(id, gBanKey, sInfo, sizeof sInfo - 1);
    
    if(strlen(sInfo) > 0)
    {
        if(get_systime() < str_to_num(sInfo))
        {
            server_cmd("kick #%d ^"Banned!^"", get_user_userid(id));
            return;
        }
    }
}
tutaj oczywiscie niema nigdzie banconfig menu to jest tylko przykladowy kod


Mam nadzieje ze mnie dobrze zrozumieliscie chodzi glownie o to ze osoba ktora ma dostep do menu niemoze sie sama zbanowac i osoba ktora ma dostep do amx_banconfig tez nie moze sie sama zbanowac ;P osoba ktora moze uzyc tej komendy ma ta sama flage ktorej nie mozna zbanowac.

Jest ktos tutaj co sie bardzo dobrze zna i da rade w tym pomoc?:P bo to latwe na pewno nie jest

Dodano 14 czerwiec 2011 - 14:37:
dodam ze slyszalem o get_cvar_flags ale nie wiem jak uzyc


Głownie chodzi o to zeby immunitet miala ta osoba co ma dostep do menu nawet jesli zmieni sie dostep do menu w cmdacess to sie zmieni flaga immunitetu na ta co jest ustawiony dostep do amx_banconfig i amx_banconfigmenu :P

Użytkownik amxxmaster edytował ten post 14.06.2011 16:48





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych