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

[ROZWIĄZANE] Czy set_user_flags resetuje się po zmianie mapy?


  • Zamknięty Temat jest zamknięty
13 odpowiedzi w tym temacie

#1 ParadisO

    Wszechmogący

  • Power User

Reputacja: 128
Zaawansowany

  • Postów:689
  • Lokalizacja:Częstochowa
Offline

Napisano 30.03.2015 09:50

Chciałbym ustawić komuś flagę ale tylko do końca mapy, czy set_user_flags ustawia ją w ten sposób, czy muszę później ją usuwać ?


  • +
  • -
  • 0

#2 vbombatcz

    Pomocny

  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:69
Offline

Napisano 30.03.2015 10:20

Polecam http://amxx.pl/topic...-na-dany-czas/ !!

 

 

 


Użytkownik vbombatcz edytował ten post 30.03.2015 10:32

89320984520420419786.png

b_350_20_46F400_0D299B_FFFFFF_D90202.png


#3 ParadisO

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 128
Zaawansowany

  • Postów:689
  • Lokalizacja:Częstochowa
Offline

Napisano 30.03.2015 10:30

Polecam http://amxx.pl/topic...-na-dany-czas/ !!

 

 

Dasz plusa ?? xD

Dzięki za linka, ciekawe ale nie zupełnie o to pytałem.

A co do plusa to miałem dać ale nie lubię jak ktoś się prosi ( i to chyba są warny)   ;)


  • +
  • -
  • 0

#4 vbombatcz

    Pomocny

  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:69
Offline

Napisano 30.03.2015 10:32

chodzi ci o darmowego vip na mapę??


89320984520420419786.png

b_350_20_46F400_0D299B_FFFFFF_D90202.png


#5 ParadisO

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 128
Zaawansowany

  • Postów:689
  • Lokalizacja:Częstochowa
Offline

Napisano 30.03.2015 10:33

Chodzi mi o ustawienie konkretnej flagi do końca mapy


  • +
  • -
  • 0

#6 vbombatcz

    Pomocny

  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:69
Offline

Napisano 30.03.2015 10:39

na ile masz ustawiony czas mapy??

 


89320984520420419786.png

b_350_20_46F400_0D299B_FFFFFF_D90202.png


#7 ParadisO

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 128
Zaawansowany

  • Postów:689
  • Lokalizacja:Częstochowa
Offline

Napisano 30.03.2015 10:40

na ile masz ustawiony czas mapy??

Co za różnica, przykładowo 25min


  • +
  • -
  • 0

#8 vbombatcz

    Pomocny

  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:69
Offline

Napisano 30.03.2015 10:48

Cvary

 

amx_addtempadmin

 

Nick - Faktyczne imię gracza, który jest w grze.

Flaga czasu - m ( minuty ), h ( godziny ), d ( dni ), y ( lata ).

Długość czasu - 1,9, 12,1456, 9999 ...

Flagi admina - , b, c, d, e, f, g, h ...

 

Komenda:

 

 

amx_addtempadmin vBomba m 25 " Flagi jaką chcesz dac " - >vBomba bedzie miał flage na 25 minuty z flagami " Flagi jaką chcesz dac "

 

 

 

 

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Temporary Admin"
#define VERSION "1.0"
#define AUTHOR "Alka"

new gTempAdminFile[64];

public plugin_init() {
    
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    register_clcmd("amx_addtempadmin", "cmdAddTempAdmin", ADMIN_ALL, "<#name/userid> <#time flag> <#time length> <#admin flags>");
    
    set_task(60.0, "cmdCheckAdmins", 1457790, "", 0, "b", 0);
}

public plugin_cfg()
{
    new sConfigsDir[64];
    get_configsdir(sConfigsDir, sizeof sConfigsDir - 1);
    
    formatex(gTempAdminFile, sizeof gTempAdminFile - 1, "%s/temp_admin.ini", sConfigsDir);
    
    if(!file_exists(gTempAdminFile))
        write_file(gTempAdminFile, ";Temporary Admins File^n;Do not modify any existent line on this file^n;To add a comment line just begin it with an ^";^"", -1);
}

public cmdAddTempAdmin(id, level, cid)
{
    if(!cmd_access(id, level, cid, 5))
        return 1;
    
    new sArg[32], sArg2[2], sArg3[32], sArg4[32];
    read_argv(1, sArg, sizeof sArg - 1);
    read_argv(2, sArg2, sizeof sArg2 - 1);
    read_argv(3, sArg3, sizeof sArg3 - 1);
    read_argv(4, sArg4, sizeof sArg4 - 1);
    
    new iTarget = cmd_target(id, sArg, 8);
    
    if(!iTarget)
        return 1;
    
    if(is_user_admin(iTarget))
    {
        client_print(id, print_console, "Player %d is already an admin, check ^"users.ini^" and modify his flags.", iTarget);
        return 1;
    }
    
    new sTargetInfo[32];
    if(is_steam_user(iTarget))
        get_user_authid(iTarget, sTargetInfo, sizeof sTargetInfo - 1);
    else
        get_user_ip(iTarget, sTargetInfo, sizeof sTargetInfo - 1, 1);
    
    new iTimeLength;
    
    switch(sArg2[0])
    {
        case 'm' : { iTimeLength = str_to_num(sArg3) * 25; }
        case 'h' : { iTimeLength = str_to_num(sArg3) * 3600; }
        case 'd' : { iTimeLength = str_to_num(sArg3) * 86400; }
        case 'y' : { iTimeLength = str_to_num(sArg3) * 31557600; }
        default : return 1;
    }
    
    new iFile = fopen(gTempAdminFile, "at+");
    
    new sBuffer[128];
    formatex(sBuffer, sizeof sBuffer - 1, "^n%s;%s;%d", sTargetInfo, sArg4, get_systime() + iTimeLength);
    
    fprintf(iFile, sBuffer);
    fclose(iFile);
    
    CheckAdmin(iTarget);
    
    client_print(id, print_console, "Successfully added player %d to temp admin list.", iTarget);
    return 1;
}

public client_authorized(id)
    CheckAdmin(id);

public client_infochanged(id)
{
    static sNewName[32], sOldName[32];
    
    get_user_name(id, sOldName, sizeof sOldName - 1);
    get_user_info(id, "name", sNewName, sizeof sNewName - 1);
    
    if(!equali(sNewName, sOldName))
        CheckAdmin(id);
}

public cmdCheckAdmins()
{
    static sPlayers[32], iNum;
    get_players(sPlayers, iNum, "ch");
    
    for(new i = 0 ; i < iNum ; i++)
        CheckAdmin(sPlayers[i]);
}

stock CheckAdmin(index)
{
    static sUserInfo[32];
    if(is_steam_user(index))
        get_user_authid(index, sUserInfo, sizeof sUserInfo - 1);
    else
        get_user_ip(index, sUserInfo, sizeof sUserInfo - 1, 1);
    
    static iFlags;
    iFlags = get_user_flags(index);
    
    static iFile;
    iFile = fopen(gTempAdminFile, "rt");
    
    static sBuffer[128], sTemp[3][32];
    new iLine;
    
    while(!feof(iFile))
    {
        fgets(iFile, sBuffer, sizeof sBuffer - 1);
        
        if(sBuffer[0] == ';' || !sBuffer[0])
        {
            iLine++;
            continue;
        }
        
        str_piece(sBuffer, sTemp, sizeof sTemp, sizeof sTemp[] - 1, ';');
        
        if(equali(sUserInfo, sTemp[0]) && get_systime() > str_to_num(sTemp[2]))
        {
            if(iFlags == read_flags(sTemp[1]))
            {
                remove_user_flags(index, read_flags(sTemp[1]));
                set_user_flags(index, read_flags("z"));
            }
            
            write_file(gTempAdminFile, ";Admin expired", iLine);
            
            break;
        }
        if(equali(sUserInfo, sTemp[0]) && get_systime() <= str_to_num(sTemp[2]))
        {
            if(iFlags != read_flags(sTemp[1]))
            {
                remove_user_flags(index, read_flags("z"));
                set_user_flags(index, read_flags(sTemp[1]));
            }
            
            break;
        }
        iLine++;
    }
    fclose(iFile);
}

stock bool:is_steam_user(index)
{
    new Steamid[32];
    get_user_authid(index, Steamid, sizeof Steamid - 1);
    
    if(Steamid[7] == ':')
        return true;
    
    return false;
}

stock str_piece(const input[], output[][], outputsize, piecelen, token = '|')
{
    new i = -1, pieces, len = -1 ;
    
    while ( input[++i] != 0 )
    {
        if ( input[i] != token )
        {
            if ( ++len < piecelen )
                output[pieces][len] = input[i] ;
        }
        else
        {
            output[pieces++][++len] = 0 ;
            len = -1 ;
            
            if ( pieces == outputsize )
                return pieces ;
        }
    }
    return pieces + 1;
}

 


Użytkownik vbombatcz edytował ten post 30.03.2015 10:50

89320984520420419786.png

b_350_20_46F400_0D299B_FFFFFF_D90202.png


#9 ParadisO

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 128
Zaawansowany

  • Postów:689
  • Lokalizacja:Częstochowa
Offline

Napisano 30.03.2015 10:56

No dobra, może coś z tego da się zrobić ale nie teraz. Dzięki


  • +
  • -
  • 0

#10 vbombatcz

    Pomocny

  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:69
Offline

Napisano 30.03.2015 10:57

Proszę


89320984520420419786.png

b_350_20_46F400_0D299B_FFFFFF_D90202.png


#11 WeBsteR

    Wszechwidzący

  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:297
  • Imię:dawid
  • Lokalizacja:Rzeszów
Offline

Napisano 30.03.2015 13:29

Pobaw się z:

set_user_flags(id, Flaga)

a przed końcem mapy z:

remove_user_flags(id, Flaga)

  • +
  • -
  • 0
Zabijaka Gryps to mój autorytet!

#12 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 30.03.2015 15:59

set_user_flags dodaje flagi tylko do końca mapy, bo jak spojrzysz albo w standardowy plugin od przyznawania adminów, itp. albo ten od amxbansa, to zauważysz, że tam właśnie flagi przydziela się po każdym przeładowaniu mapy.
  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#13 ParadisO

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 128
Zaawansowany

  • Postów:689
  • Lokalizacja:Częstochowa
Offline

Napisano 30.03.2015 16:41

set_user_flags dodaje flagi tylko do końca mapy, bo jak spojrzysz albo w standardowy plugin od przyznawania adminów, itp. albo ten od amxbansa, to zauważysz, że tam właśnie flagi przydziela się po każdym przeładowaniu mapy.

Dziękuję, takiej odpowiedzi oczekiwałem :) 

Można zamknąć.


  • +
  • -
  • 0

#14 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 30.03.2015 17:12

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





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

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