Page 1 of 2

index out of bounds

Posted: 2012 Mar 31 17:00
by xFrostas

Code: Select all

new const Stealth_PerLevel[] = { 15, 35, 60 } new Stealth_Level[33] public Ev_CurWeapon(id){    if (!is_user_alive(id))        return PLUGIN_HANDLED     new Weapon_ID = read_data(2)     if (Stealth_Level[id] > 0)    {        new iStealth = Stealth_PerLevel[Stealth_Level[id]] // Šioje eilutėje meta index out of bounds error        new iKnifeStealth = iStealth + 10         switch(Weapon_ID)        {            case CSW_KNIFE: set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 100 - iStealth)            default: set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 100 - iKnifeStealth)        }    }    return PLUGIN_CONTINUE}
Gal kas galite padėti?

Re: index out of bounds

Posted: 2012 Mar 31 17:05
by hleV

Re: index out of bounds

Posted: 2012 Mar 31 17:39
by psychical
"index out of bounds" - http://amxmodx.lt/viewtopic.php?f=15&t=772 Arnas dar temą specialiai dėl jūsų kūrė, o jūs negalit pasižiūrėt? :hm:

P.S. Jei naudoji tik vienai užklausai, tai naudok if/else, o ne switch

Re: index out of bounds

Posted: 2012 Mar 31 20:34
by xFrostas
psychical, skaičiau tą temą. Tai turi būti taip?:

Code: Select all

new const Stealth_PerLevel[] = { 0, 15, 35, 60 }

Re: index out of bounds

Posted: 2012 Mar 31 20:53
by psychical
xFrostas wrote:psychical, skaičiau tą temą. Tai turi būti taip?
O klaidą log'uose dėl "index out" ant kurios eilutės rodo?

Re: index out of bounds

Posted: 2012 Mar 31 20:54
by newb
psychical wrote:
xFrostas wrote:psychical, skaičiau tą temą. Tai turi būti taip?
O klaidą log'uose dėl "index out" ant kurios eilutės rodo?
Tai tikriausei ta kuria pazymejo ? :D

Re: index out of bounds

Posted: 2012 Mar 31 20:57
by psychical
newb wrote:
psychical wrote:
xFrostas wrote:psychical, skaičiau tą temą. Tai turi būti taip?
O klaidą log'uose dėl "index out" ant kurios eilutės rodo?
Tai tikriausei ta kuria pazymejo ? :D
Nemačiau, kitaip sakant nežiūrėjau ;D

Code: Select all

if (!is_user_alive(id))        return PLUGIN_HANDLED
keisk į

Code: Select all

if (!is_user_alive(id) || !(1 <= id <= 32))        return PLUGIN_HANDLED
arba daryk pagal Arno pavyzdį, aš parodžiau, kaip aš daryčiau.

Re: index out of bounds

Posted: 2012 Mar 31 20:58
by newb
Ne prie ko cia tas alive.
Seip, sitas tikrinimas netinka

Code: Select all

if (Stealth_Level[id] > 0)
O del to kad jis yra, tikriausei Stealth_Level[id] buna 3 ir del to meta errora. Tu nesupranti kaip sitie dalykai krc veikia...

Re: index out of bounds

Posted: 2012 Mar 31 21:01
by psychical
newb wrote:Ne prie ko cia tas alive.
Seip, sitas tikrinimas netinka

Code: Select all

if (Stealth_Level[id] > 0)
O del to kad jis yra, tikriausei Stealth_Level[id] buna 3 ir del to meta errora. Tu nesupranti kaip sitie dalykai krc veikia...
O pala, nebus taip, jog

Code: Select all

 new const Stealth_PerLevel[] = { 0, 15, 35, 60 }
kadangi čia tik 0-3(imtinai), nebus taip, jog jei daugiau nei 3 mes tą klaidą? :hm:

Re: index out of bounds

Posted: 2012 Mar 31 21:05
by newb
Jei jis pakeis i

Code: Select all

new const Stealth_PerLevel[] = { 0, 15, 35, 60 }
Tai klaidos nebeturetu mesti, nebent jis ten dar ka pridare.