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?

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