Senior Member
|
![Old](images/statusicon/post_old.svg)
07-29-2004
, 09:29
>20 lvls?
|
#1
|
Okay, I've never scripted in SmallC before (and hence have no experience scripting for AMX or Superhero mod), but I do have a background in C++.
I wanted to get more than 20 levels, so I tried editing the superheromod.sma code:
Code:
SUPERHEROMOD.SMA
public readINI()
{
...
new XP[41][10]
new XPG[41][10]
...
if ( ( containi( data, "XPLEVELS" )==0 && !gLongTermXP) || ( containi( data, "LTXPLEVELS" )==0 && gLongTermXP ) )
{
parse(data, tag, 19, XP[0], 9, XP[1], 9, XP[2], 9, XP[3], 9, XP[4], 9, XP[5], 9, XP[6], 9, XP[7], 9, XP[8], 9, XP[9], 9, XP[10], 9, XP[11], 9, XP[12], 9, XP[13], 9, XP[14], 9, XP[15], 9, XP[16], 9, XP[17], 9, XP[18], 9, XP[19], 9, XP[20], 9, XP[21], 9, XP[22], 9, XP[23], 9, XP[24], 9, XP[25], 9, XP[26], 9, XP[27], 9, XP[28], 9, XP[29], 9, XP[30], 9, XP[31], 9, XP[32], 9, XP[33], 9, XP[34], 9, XP[35], 9, XP[36], 9, XP[37], 9, XP[38], 9, XP[39], 9, XP[40], 9)
}
if ( ( containi(data, "XPGIVEN")==0 && !gLongTermXP ) || ( containi(data, "LTXPGIVEN")==0 && gLongTermXP ) )
{
parse(data, tag, 19, XPG[0], 9, XPG[1], 9, XPG[2], 9, XPG[3], 9, XPG[4], 9, XPG[5], 9, XPG[6], 9, XPG[7], 9, XPG[8], 9, XPG[9], 9, XPG[10], 9, XPG[11], 9, XPG[12], 9, XPG[13], 9, XPG[14], 9, XPG[15], 9, XPG[16], 9, XPG[17], 9, XPG[18], 9, XPG[19], 9, XPG[20], 9, XPG[21], 9, XPG[22], 9, XPG[23], 9, XPG[24], 9, XPG[25], 9, XPG[26], 9, XPG[27], 9, XPG[28], 9, XPG[29], 9, XPG[30], 9, XPG[31], 9, XPG[32], 9, XPG[33], 9, XPG[34], 9, XPG[35], 9, XPG[36], 9, XPG[37], 9, XPG[38], 9, XPG[39], 9, XPG[40], 9)
}
I assumed that the parse function read from a string until hitting a space character, at which point it stored word it just read into the variable given, up to a maximum of the proceeding number.
I also noticed (in that same function) two arrays named gXPLevel[] and gXPGiven. These are declared earlier in superheromod.sma to be the size of a constant #defined in superheromod.inc - I changed this constant to 40 as well.
Code:
#define SH_MAXLEVELS 40
Finally, I noticed the data written to vault.ini (in superherovault.inc) is stored in an array defined as size 20. I changed this to SH_MAXLEVELS (as I assumed it should be):
Code:
SUPERHEROVAULT.INC
public parseXP(id, xpinfo[] )
{
...
new skills[SH_MAXLEVELS][21]
...
rc=parse(xpinfo, name, 31, epoch, 15, mm, 2, dd, 2, yy, 4, hh, 2, mi, 2, xp, 19, skills[0], 20, skills[1], 20, skills[2], 20, skills[3], 20, skills[4],20, skills[5], 20, skills[6], 20, skills[7], 20, skills[8], 20, skills[9], 20, skills[10], 20, skills[11], 20, skills[12], 20, skills[13], 20, skills[14], 20, skills[15], 20, skills[16], 20, skills[17], 20, skills[18], 20, skills[19], 20, skills[20], 20, skills[21], 20, skills[22], 20, skills[23], 20, skills[24], 20, skills[25], 20, skills[26], 20, skills[27], 20, skills[28], 20, skills[29], 20, skills[30], 20, skills[31], 20, skills[32], 20, skills[33], 20, skills[34], 20, skills[35], 20, skills[36], 20, skills[37], 20, skills[38], 20, skills[39], 20)
And that completes the list of everything I changed...
However, after recompiling everything, superheromod.amx has a "bad load".
Could any of you SH-AMX veterans help me out here?
|
|