Could you possibly show me this in action, because i have tried a lot of different combinations here, specifically in this area of the code.
Code:
public topten_update(id) {
new szvault[64], szmap[32], kreedztime
get_mapname(szmap,32)
format(szvault,64,"bhop_%s",szmap)
new time = getusertime(id)
new vault = nvault_open(szvault) // Now we have to sort the new list :o
if(vault != -1) {
new szkey[8]
for(new i=1;i<=10;i++) {
new szreturn[128]
new arg1[32], arg2[8]
format(szkey,8,"%d",i)
nvault_get(vault,szkey,szreturn,128)
if(parse(szreturn,arg1,32,arg2,8) == 0 || getusertime(id) < str_to_num(arg2))
{
if(getusertime(id) < str_to_num(arg2)) // if their new time is better than time in vault
nvault_remove(vault, szreturn) // trying to remove old data
else { //Where do i incorporate nvault_lookup ???
new sznew[128], szname[32]
get_user_name(id,szname,32)
format(sznew,128,"^"%s^" ^"%d^" ^"%d^" ^"%d^" ^"%d^"",szname,time,timer[id-1][TMR_CPSCNT],timer[id-1][TMR_GCSCNT],timer[id-1][TMR_BOOSTS])
if(i < 10) {
for(new x=10;x>i;x--) {
new sztemp[128], sztempkey[8]
format(sztempkey,8,"%d",x-1)
nvault_get(vault,sztempkey,sztemp,128)
if(!equal(sztemp,"")) {
format(sztempkey,8,"%d",x)
nvault_pset(vault,sztempkey,sztemp)
}
}
}
nvault_pset(vault,szkey,sznew)
if(i == 1)
client_print(0,print_chat,"[KZ] Congratulations, %s has a new record !",szname)
break
}
}
}
nvault_close(vault)
}
}