←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

zmiana zapisu adminów

  • +
  • -
lexar - zdjęcie lexar 21.06.2014

Witam

Czy istnieje możliwość zmiany zapisu/czytania adminów z pliku users.ini na inny? Wgrałem sobie system /konto ale wszystkie konta zapisują się w pliku users.ini a korzystam z amxbansa.

 

Pozdrawiam

Odpowiedz

  • +
  • -
ex0 - zdjęcie ex0 26.06.2014

Możesz korzystać z zapisu adminów SQL przecież skoro waść korzysta z bansa :)

Odpowiedz

  • +
  • -
lexar - zdjęcie lexar 26.06.2014

No tak tylko, że nie chciałbym mieć za bardzo zaśmieconego amxbansa od tych kont. Chciałbym  zmienić zapis z user.ini do innego pliku nie używając przy tym SQL. Czy była by taka opcja?   ;P

Odpowiedz

  • +
  • -
ex0 - zdjęcie ex0 26.06.2014

No tak tylko, że nie chciałbym mieć za bardzo zaśmieconego amxbansa od tych kont.

Jak zaśmieconego?
Przecież to tylko rekordy z jedną flagą by się tworzyły, nie rozumiem ?

 

Chciałbym  zmienić zapis z user.ini do innego pliku nie używając przy tym SQL. Czy była by taka opcja?   ;P

Zapewne tak, ale tutaj musisz pytać mądrzejszych ode mnie xD

Odpowiedz

  • +
  • -
lexar - zdjęcie lexar 26.06.2014

Faktycznie :D za bardzo nie ogarnąłem  :facepalm2: Ale to nie zmienia faktu, że chce mieć zapis na SQL xD

 

To w takim razie czy w ogóle da się zmienić zapis adminów z users na inny? ;)

Odpowiedz

  • +
  • -
Ogen Dogen - zdjęcie Ogen Dogen 28.06.2014

Jest chyba funkcja że bans odczytuje jednocześnie z users.ini i z bazy mysql.

Odpowiedz

  • +
  • -
lexar - zdjęcie lexar 28.06.2014

A gdzie można ją zmienić?

Odpowiedz

  • +
  • -
xenos - zdjęcie xenos 28.06.2014

tworzysz dodatkowe.ini i tam dopisujesz
 

/* Plugin generated by AMXX-Studio */
 
#include <amxmodx>
#include <amxmisc>
 
#define PLUGIN "ladowanie z innego pliku adminow"
#define VERSION "1.0"
#define AUTHOR "xenos"
 
 
new Array:g_AdminNick
new Array:g_AdminUseStaticBantime
new Array:g_AdminFromUsersIni
 
 
public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_logevent("loadSettings", 2, "1=Round_Start");
}
 
 
 
 
public loadSettings()
{
    
    new filename[64];
    get_configsdir(filename,63);
    format(filename,63,"%s/dodatkowe.ini",filename);
    new File=fopen(filename,"r");
    
    if (File)
    {
        new Text[512];
        new Flags[32];
        new Access[32]
        new AuthData[44];
        new Password[44];
        new Name[32];
        new Static[2];
        
        while (!feof(File))
        {
            fgets(File,Text,sizeof(Text)-1);
            
            trim(Text);
            
            
            if (Text[0]==';')
            {
                continue;
            }
            
            Flags[0]=0;
            Access[0]=0;
            AuthData[0]=0;
            Password[0]=0;
            Name[0] = 0;
            Static[0] = 0;
            
            
            if (parse(Text, AuthData, charsmax(AuthData), Password, charsmax(Password), Access, charsmax(Access), Flags, charsmax(Flags), Name, charsmax(Name), Static, charsmax(Static)) < 2)
            {
                continue;
            }
            
            admins_push(AuthData,Password,read_flags(Access),read_flags(Flags));
            ArrayPushString(g_AdminNick, Name);
            ArrayPushCell(g_AdminUseStaticBantime, str_to_num(Static));
            ArrayPushCell(g_AdminFromUsersIni, 1);
            
            
        }
        
        fclose(File);
    }
 
    
    
    return 1;
}

Użytkownik xenos edytował ten post 28.06.2014 20:14
Odpowiedz

  • +
  • -
lexar - zdjęcie lexar 28.06.2014

Są jakieś errory i wydaję mi się, że przez nie plugin nie działa:

Invalid array handle provided (0)
L 06/28/2014 - 21:32:56: [AMXX] Displaying debug trace (plugin "amx_konta.amxx")
L 06/28/2014 - 21:32:56: [AMXX] Run time error 10: native error (native "ArrayPushString")
L 06/28/2014 - 21:32:56: [AMXX]    [0] amx_konta.sma::loadSettings (line 69)

Dało by się coś z tym zrobić?

 

Odpowiedz

  • +
  • -
xenos - zdjęcie xenos 28.06.2014

Dziwne, kod na 100% jest dobry
dodajesz do tego pliku tak samo jak do users.ini?

zobacz to po edycji .
Jednak możliwe że był tam błąd :)

 

Załączone pliki


Użytkownik xenos edytował ten post 28.06.2014 21:15
Odpowiedz

  • +
  • -
lexar - zdjęcie lexar 28.06.2014

Tzn używam pluginu /konto (sam) i rezerwacje nicku dodają się automatycznie. Przed chwilą dałem sobie admina w pliku konta.ini i wchodząc na serwer po prostu go nie mam :o tak jakby nie czytał adminów z konta.ini

Odpowiedz

  • +
  • -
xenos - zdjęcie xenos 28.06.2014

a probowałeś ten 2gi plik? czy tak samo nie łapie?
A plugin dodaje admina co rundę(ma event który wykonuje się co rundę wiec warto poczekac i spr)


Użytkownik xenos edytował ten post 28.06.2014 21:37
Odpowiedz

  • +
  • -
lexar - zdjęcie lexar 28.06.2014

Próbowałem oba i tak samo nie czyta. W logach mam errory z bansa, być może to one są przyczyną tego, że nie czyta adminów z innego pliku:

 

[AMXX] Displaying debug trace (plugin "amxbans_core.amxx")
L 06/28/2014 - 22:47:52: [AMXX] Run time error 10: native error (native "ArrayGetString")
L 06/28/2014 - 22:47:52: [AMXX]    [0] amxbans_core.sma::getAccess (line 523)
L 06/28/2014 - 22:47:52: [AMXX]    [1] amxbans_core.sma::accessUser (line 635)
L 06/28/2014 - 22:47:52: [AMXX]    [2] amxbans_core.sma::client_authorized (line 703)
 

 

 

Odpowiedz