Page 1 of 2

Nepakeičia gravity: error

Posted: 2012 Mar 18 22:55
by xFrostas

Code: Select all

#define MaxSkill_Level 3 new const Float: KOD_Gravity_PerLevel[MaxSkill_Level] = { 0.9, 0.8, 0.7 } new KOD_Gravity_Level[33] public Ham_PlayerSpawn(id){    if (!is_user_alive(id))        return     if (KOD_Gravity_Level[id] > 0)    {        set_user_gravity(id, KOD_Gravity_PerLevel[KOD_Gravity_Level[id]])    }}
Štai čia kodas, ir erroras
L 03/18/2012 - 22:41:16: [AMXX] Displaying debug trace (plugin "xWar.amxx")
L 03/18/2012 - 22:41:16: [AMXX] Run time error 4: index out of bounds
L 03/18/2012 - 22:41:16: [AMXX] [0] xWar.sma::Ham_PlayerSpawn (line 339)
Nu niekaip nerandu klaidos, padėkit kasnors.

Re: Nepakeičia gravity: error

Posted: 2012 Mar 18 23:18
by Trickas
Čia visas kodas tipo?

Re: Nepakeičia gravity: error

Posted: 2012 Mar 18 23:25
by hleV
Nesamonė kažkokia tavo kodas.

Re: Nepakeičia gravity: error

Posted: 2012 Mar 19 08:10
by xFrostas
kas jum čia nesamoningo? :D

Re: Nepakeičia gravity: error

Posted: 2012 Mar 19 10:50
by newb
Turetu buti taip

Code: Select all

public Ham_PlayerSpawn(id){    if (!is_user_alive(id))        return            set_user_gravity(id, KOD_Gravity_PerLevel[KOD_Gravity_Level[id]])}
O jei nori, kad dar butu defaultine gravitacija, tai pakeisk i

Code: Select all

new const Float: KOD_Gravity_PerLevel[] = { 1.0, 0.9, 0.8, 0.7 }
Ir tada gali palikti ta tikrinima.

Re: Nepakeičia gravity: error

Posted: 2012 Mar 21 22:11
by xFrostas
O kaip padaryti, kad man iškarto apskaičiuotu, nu pvz kintamajame galėčiau rašyti: { 10, 20, 30 }? Bandžiau po funkcijos su "/ 800" bet neveikė :/

Re: Nepakeičia gravity: error

Posted: 2012 Mar 21 23:21
by aaarnas
xFrostas wrote:O kaip padaryti, kad man iškarto apskaičiuotu, nu pvz kintamajame galėčiau rašyti: { 10, 20, 30 }? Bandžiau po funkcijos su "/ 800" bet neveikė :/

Code: Select all

set_user_gravity(id, float(KOD_Gravity_PerLevel[KOD_Gravity_Level[id]])/800.0)

Re: Nepakeičia gravity: error

Posted: 2012 Mar 22 15:25
by xFrostas
Viskas padėjo. Bet yra dar problema, aš tą kodą naudoju su lygiais ir taškais. T.y. kai pasikeli lygi gauni 1 tašką ir gali jį užsidėti ant gravity. Bet kai aš pasikeliu lygi ir uždedu vieną tašką ant gravity, prisideda nuo antro skaičiaus, pvz:

Code: Select all

new const KOD_Gravity_PerLevel[MaxSkill_Level] = { 785, 765, 730 }
Šai pridedu vieną tašką ir man gravity yra 765, dar vieną tada 730, o jei dar vieną default'inasi.

Re: Nepakeičia gravity: error

Posted: 2012 Mar 22 15:31
by hleV
Tai blet, gi pirmą elementą daryk 800 (default gravity)...

Re: Nepakeičia gravity: error

Posted: 2012 Mar 22 18:55
by psychical
xFrostas wrote:Viskas padėjo. Bet yra dar problema, aš tą kodą naudoju su lygiais ir taškais. T.y. kai pasikeli lygi gauni 1 tašką ir gali jį užsidėti ant gravity. Bet kai aš pasikeliu lygi ir uždedu vieną tašką ant gravity, prisideda nuo antro skaičiaus, pvz:

Code: Select all

new const KOD_Gravity_PerLevel[MaxSkill_Level] = { 785, 765, 730 }
Šai pridedu vieną tašką ir man gravity yra 765, dar vieną tada 730, o jei dar vieną default'inasi.
Jei teisingai galva suka, MaxSkill_Level šioje pozicijoje pradedamas skaiciuoti nuo 0
T.Y.:

Code: Select all

KOD_Gravity_PerLevel[0] = 786KOD_Gravity_PerLevel[1] = 765KOD_Gravity_PerLevel[2] = 730
Kaip hlev sakė, noėradamas, jog ta ubūtų viskas normaliai priekyje prirašyk 800, t.y.:

Code: Select all

new const KOD_Gravity_PerLevel[MaxSkill_Level] = { 800, 785, 765, 730 }
Ir gavimas atrodys taip:

Code: Select all

KOD_Gravity_PerLevel[0] = 800KOD_Gravity_PerLevel[1] = 786KOD_Gravity_PerLevel[2] = 765KOD_Gravity_PerLevel[3] = 730