errorai, kaip ištaisyti?

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

errorai, kaip ištaisyti?

Post by aurimasko »

Code: Select all

 L 04/11/2011 - 19:40:49: [AMXX] Displaying debug trace (plugin ".amxx")L 04/11/2011 - 19:40:49: [AMXX] Run time error 5: memory accessL 04/11/2011 - 19:40:49: [AMXX]    [0] .sma::fw_SetModel (line 1224) 

Code: Select all

 L 04/11/2011 - 19:40:51: [.amxx] Can't connect to MySQL server on '193.46.83.116' (113) 
Pirmojo eilutės:

Code: Select all

 public fw_SetModel(entity, const model[11]) {    if(!is_valid_ent(entity)) return FMRES_IGNORED;        switch(model[9])  // ant sitos meta error    {        case 'm':         {            switch(model[10])            {                case '4':                 {                    entity_set_model(entity, _emke_models[2]);                }                case '2':                {                    entity_set_model(entity, _mash_models[2]);                }            }        }                  case 'a':        {            switch(model[10])            {                case 'k':                {                    entity_set_model(entity, _ak_models[2]);                }                case 'w':                {                    entity_set_model(entity, _awp_models[2]);                }                case 'u':                {                    entity_set_model(entity, _aug_models[2]);                }            }        } 
O dėl antrojo kaip suprantu neprisijungia prie sql..

Tai kodas plugine:

Code: Select all

 public plugin_init(){    new configsDir[64]    get_configsdir(configsDir, 63)    server_cmd("exec %s/sql.cfg", configsDir)    mysql_connect()} public mysql_connect(){    new host[64], user[64], pass[64], db[64]     get_cvar_string("amx_sql_host", host, 63)    get_cvar_string("amx_sql_user", user, 63)    get_cvar_string("amx_sql_pass", pass, 63)    get_cvar_string("amx_sql_db", db, 63)        g_hTuple = SQL_MakeDbTuple( host, user, pass, db );        for ( new i = 0; i < sizeof szTables; i++ )        SQL_ThreadQuery( g_hTuple, "QueryCreateTable", szTables[i])} 
sql.cfg failas:

Code: Select all

 amx_sql_host    "77.79.7.143" //hostnameamx_sql_user    "aurimaska_1" //usernameamx_sql_pass    "slaptazodis" //passwordamx_sql_db      "aurimaska_jailbreak" //databaseamx_sql_table   "amx_amxadmins" //tableamx_sql_type    "mysql" //type 
ipp.lt ip lygtais yra 77.79.7.143, į Access Hosts direct pulte, hoste, serverio ip įrašytas.. Kas blogai gali būti?


P.S. dėl fw_setmodel, galėčiau daryti, taip:

Code: Select all

 public fw_SetModel(entity, const model[11]) {    if(!is_valid_ent(entity)) return FMRES_IGNORED;        switch(model[])      {             case 'weapon_m4a1':            {               ....            }            .....       }} 

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: errorai, kaip ištaisyti?

Post by hleV »

Code: Select all

const model[11]
pakeisk į

Code: Select all

const model[]
Kadangi modelio pavadinimas gali būt trumpesnis nei 10 ar kiek ten raidžių, reiktų patikrint eilutės ilgį su strlen(). Abra galima daryt kažką tokio:

Code: Select all

// Jei failo pavadinimas neprasideda "w_", nutraukiam viskaif (model[7] != 'w' || model[8] != '_')        return FMRES_IGNORED;        // Ginklo pavadinimas faile prasideda nuo 9 char'o:// m|o|d|e|l|s|/|w|_|*// 0|1|2|3|4|5|6|7|8|9switch (model[9]){        case 'm':        {                ...
Ir su case gali tikrint tik vieną char'ą, o ne visą eilutę, todėl case 'weapon_m4a1' nepavyks.
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: errorai, kaip ištaisyti?

Post by aurimasko »

hleV wrote:

Code: Select all

const model&#91;11&#93;
pakeisk į

Code: Select all

const model&#91;&#93;
Kadangi modelio pavadinimas gali būt trumpesnis nei 10 ar kiek ten raidžių, reiktų patikrint eilutės ilgį su strlen(). Abra galima daryt kažką tokio:

Code: Select all

// Jei failo pavadinimas neprasideda "w_", nutraukiam viskaif &#40;model&#91;7&#93; != 'w' || model&#91;8&#93; != '_'&#41;        return FMRES_IGNORED;        // Ginklo pavadinimas faile prasideda nuo 9 char'o:// m|o|d|e|l|s|/|w|_|*// 0|1|2|3|4|5|6|7|8|9switch &#40;model&#91;9&#93;&#41;&#123;        case 'm':        &#123;                ...
Ir su case gali tikrint tik vieną char'ą, o ne visą eilutę, todėl case 'weapon_m4a1' nepavyks.

gerai pabandysiu, o kaip dėl sql? Beje kaip tada keisti defuser skiną?

-- 2011 Bal 16 21:10 --

vistiek meta! ir, kai kas nors prisijungia į serverį, meta šita errorą bei išmeta visus iš cs..

Beje gali tai būti dėl to, kad pluginas keičia visų ginklų modelius?

Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests