Page 1 of 2

amxbans

Posted: 2011 May 03 15:42
by aurimasko

Code: Select all

  L 05/03/2011 - 16:38:09: [AMXX] Displaying debug trace (plugin "admin_amxbans.amxx")L 05/03/2011 - 16:38:09: [AMXX] Run time error 4: index out of boundsL 05/03/2011 - 16:38:09: [AMXX]    [0] admin_amxbans.sma::getAccess (line 561)L 05/03/2011 - 16:38:09: [AMXX]    [1] admin_amxbans.sma::accessUser (line 662)L 05/03/2011 - 16:38:09: [AMXX]    [2] admin_amxbans.sma::cmdReload (line 536) 
tokį errorą kartais iš lempos pradeda metyti..


kodas:

Code: Select all

  public cmdReload(id, level, cid){    if (!cmd_access(id, level, cid, 1))        return PLUGIN_HANDLED     //strip original flags (patch submitted by mrhunt)    remove_user_flags(0, read_flags("z")) #if !defined USING_SQL    new filename[128]        get_configsdir(filename, 127)    format(filename, 63, "%s/users.ini", filename)     g_aNum = 0    loadSettings(filename)      // Re-Load admins accounts     if (id != 0)    {        if (g_aNum == 1)            console_print(id, "[AMXX] %L", LANG_SERVER, "LOADED_ADMIN")        else            console_print(id, "[AMXX] %L", LANG_SERVER, "LOADED_ADMINS", g_aNum)    }#else    g_aNum = 0    adminSql()     if (id != 0)    {        if (g_aNum == 1)            console_print(id, "[AMXX] %L", LANG_SERVER, "SQL_LOADED_ADMIN")        else            console_print(id, "[AMXX] %L", LANG_SERVER, "SQL_LOADED_ADMINS", g_aNum)    }#endif     new players[32], num, pv    new name[32]    get_players(players, num)    for (new i=0; i<num; i++)    {        pv = players[i]        get_user_name(pv, name, 31)        accessUser(pv, name) // čia meta    }     return PLUGIN_HANDLED} getAccess(id, name[], authid[], ip[], password[]){    new index = -1    new result = 0        for (new i = 0; i < g_aNum; ++i)    {        if (g_aFlags[i] & FLAG_AUTHID)        {            if (equal(authid, g_aName[i]))            {                index = i                break            }        }        else if (g_aFlags[i] & FLAG_IP)        {            new c = strlen(g_aName[i])                        if (g_aName[i][c - 1] == '.')   /*ir čia */    /* check if this is not a xxx.xxx. format */            {                if (equal(g_aName[i], ip, c))                {                    index = i                    break                }            }                                   /* in other case an IP must just match */            else if (equal(ip, g_aName[i]))            {                index = i                break            }        } else {            if (g_aFlags[i] & FLAG_TAG)            {                if (contain(name, g_aName[i]) != -1)                {                    index = i                    break                }            }            else if (equal(name, g_aName[i]))            {                index = i                break            }        }    }     if (index != -1)    {        if (g_aFlags[index] & FLAG_NOPASS)        {            result |= 8            new sflags[32]                        get_flags(g_aAccess[index], sflags, 31)            set_user_flags(id, g_aAccess[index])                        log_amx("Login: ^"%s<%d><%s><>^" became an admin (account ^"%s^") (access ^"%s^") (address ^"%s^")", name, get_user_userid(id), authid, g_aName[index], sflags, ip)        }        else if (equal(password, g_aPassword[index]))        {            result |= 12            set_user_flags(id, g_aAccess[index])                        new sflags[32]            get_flags(g_aAccess[index], sflags, 31)                        log_amx("Login: ^"%s<%d><%s><>^" became an admin (account ^"%s^") (access ^"%s^") (address ^"%s^")", name, get_user_userid(id), authid, g_aName[index], sflags, ip)        } else {            result |= 1                        if (g_aFlags[index] & FLAG_KICK)            {                result |= 2                log_amx("Login: ^"%s<%d><%s><>^" kicked due to invalid password (account ^"%s^") (address ^"%s^")", name, get_user_userid(id), authid, g_aName[index], ip)            }        }    }    else if (get_cvar_float("amx_mode") == 2.0)    {        result |= 2    } else {        new defaccess[32]                get_cvar_string("amx_default_access", defaccess, 31)                if (!strlen(defaccess))            copy(defaccess, 32, "z")                new idefaccess = read_flags(defaccess)                if (idefaccess)        {            result |= 8            set_user_flags(id, idefaccess)        }    }        return result} accessUser(id, name[] = ""){    remove_user_flags(id)        new userip[32], userauthid[32], password[32], passfield[32], username[32]        get_user_ip(id, userip, 31, 1)    get_user_authid(id, userauthid, 31)        if (name[0])        copy(username, 31, name)    else        get_user_name(id, username, 31)        get_cvar_string("amx_password_field", passfield, 31)    get_user_info(id, passfield, password, 31)        new result = getAccess(id, username, userauthid, userip, password) //čia        if (result & 1)        client_cmd(id, "echo ^"* %L^"", id, "INV_PAS")        if (result & 2)    {        client_cmd(id, "%s", g_cmdLoopback)        return PLUGIN_HANDLED    }        if (result & 4)        client_cmd(id, "echo ^"* %L^"", id, "PAS_ACC")        if (result & 8)        client_cmd(id, "echo ^"* %L^"", id, "PRIV_SET")        return PLUGIN_CONTINUE} 
Kaip taisyti?

Re: amxbans

Posted: 2011 May 03 18:16
by Keistas
admin.amxx išjunk

Re: amxbans

Posted: 2011 May 03 18:30
by aurimasko
Keistas wrote:admin.amxx išjunk
išjungtas...

Re: amxbans

Posted: 2011 May 03 18:59
by newb
Tai naudok naujas versijas ir gal nemetys...

Re: amxbans

Posted: 2011 May 03 19:08
by aurimasko
newb wrote:Tai naudok naujas versijas ir gal nemetys...
5.1b versija..

Re: amxbans

Posted: 2011 May 03 19:11
by newb
O tai gal jau 6 reikia naudot ?

Re: amxbans

Posted: 2011 May 03 19:15
by aurimasko
newb wrote:O tai gal jau 6 reikia naudot ?
nu man ji netinka.. beto koks skirtumas ar aš naudoju 5.1b versiją ar 6? pluginai, ir failai dėl to juk nesusigadina, gi ne kažkokia bendra duomenų bazė, kad neveiktų.....

Re: amxbans

Posted: 2011 May 03 20:59
by newb
Skirtumas tas kad istaiso bugus visokius kaip sitas ar kam manai leidzia naujas versijas ?

Re: amxbans

Posted: 2011 May 03 20:59
by aurimasko
newb wrote:Skirtumas tas kad istaiso bugus visokius kaip sitas ar kam manai leidzia naujas versijas ?
man 6 versijos webas netenkina ir pluginų labai daug..

Re: amxbans

Posted: 2011 May 03 21:08
by aaarnas
Webas dar geresnis, o pluginai tik 2 reikalingi.