Raised This Month: $ Target: $400
 0% 

Nvault top15


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 07-03-2016 , 07:12   Re: Nvault top15
Reply With Quote #9

Quote:
Originally Posted by BaD CopY View Post
What is wrong with my code ?

PHP Code:
#define TopNumber 15
#define MAX_PLAYERS 32

new gPointsMAX_PLAYERS ]
new const 
SPECIAL_CHAR[2] = "-"
new g_iVault
new g_szTopMotd[1024]

//plugin init
        
g_iVault nvault_open("POINTS")
    
FormatTop(TopNumber)
        
register_clcmd("say /btop15""show_top15");

public 
client_connect(id)
{
    
Load_Points(id);
}

public 
client_disconnect(id)
{
    
Save_Points(id);
}

stock Save_Pointsid )
{
    if(
g_iVault == INVALID_HANDLE)
        
set_fail_state("nVault returned invalid handle")
    
    new 
szAuthId[35]; 
    
get_user_authid(idszAuthIdcharsmax(szAuthId))
    
    new 
szName[32]; 
    
get_user_name(idszName31)
    
    new 
szData[256];
    
formatex(szDatacharsmax(szData), "%i"gPoints[id]);
    
    
nvault_remove(g_iVaultszAuthId)
    
nvault_set(g_iVaultszAuthIdszData)
        
    
format(szAuthIdcharsmax(szAuthId), "%s%s"szAuthIdSPECIAL_CHAR)
    
nvault_remove(g_iVaultszAuthId)
    
nvault_set(g_iVaultszAuthIdszName)

}

stock Load_Pointsid )
{
    if(
g_iVault == INVALID_HANDLE)
        
set_fail_state("nVault returned invalid handle")
        
    new 
szSavedName[32]
    new 
szName[32]; get_user_name(idszNamecharsmax(szName))
    new 
szAuthId[33]; get_user_authid(idszAuthIdcharsmax(szAuthId))
    
    new 
szData[256], iTimeStamp
    
if( !nvault_lookup(g_iVaultszAuthIdszDatacharsmax(szData), iTimeStamp) )
    {
        
nvault_set(g_iVaultszAuthId"0")
        
        
format(szAuthIdcharsmax(szAuthId), "%s%s"szAuthIdSPECIAL_CHAR)
        
nvault_set(g_iVaultszAuthIdszName)
        
        return 
0
    
}
    
    
ParseLoadData(idszData);
    
    
format(szAuthIdcharsmax(szAuthId), "%s%s"szAuthIdSPECIAL_CHAR)
    
nvault_get(g_iVaultszAuthIdszSavedName)
    
    if(!
equal(szNameszSavedName))
    {
        
nvault_remove(g_iVaultszAuthId)
        
nvault_set(g_iVaultszAuthIdszName)
    }
    return 
0
}

ParseLoadData(idszData[256])
{
    static 
szNum[11];
    
strbreak(szDataszNumcharsmax(szNum), szDatacharsmax(szData));
    
gPoints[id] = str_to_num(szNum);
}

public 
show_top15(id)
    
show_motdidg_szTopMotd"Top Points" )

stock FormatTop(iNum)
{    
    if(
g_iVault == INVALID_HANDLE)
        
set_fail_state("nVault returned invalid handle")
        
    
enum _:VaultData
    
{
        
VD_Key[33],
        
VD_Value,
        
VD_szName[33]
    };
    
    new 
Vault2 nvault_util_open("POINTS")
    new 
iSize nvault_util_count(Vault2)
    
    new Array:
entries ArrayCreate(VaultData);
    new 
sizeEntries
    
    
new data[VaultData], value[256], data2[VaultData]

    for(new 
0postimestampiSizei++)
    {
        
pos nvault_util_read(Vault2posdata[VD_Key], charsmax(data[VD_Key]), valuecharsmax(value), timestamp);
    
        if(
contain(data[VD_Key], SPECIAL_CHAR) != -1)
            continue;
        
        else
        {
            
formatex(data[VD_szName], charsmax(data[VD_szName]), "%s%s"data[VD_Key], SPECIAL_CHAR)
            
nvault_get(g_iVaultdata[VD_szName], data[VD_szName], charsmax(data[VD_szName]))
        }

        
data[VD_Value] = str_to_num(value);
        
        if(
sizeEntries == 0)
        {
            
ArrayPushArray(entriesdata);
            
sizeEntries++;
            continue;
        }
        
        else
        {
            for(
timestamp 0timestamp <= sizeEntriestimestamp++)
            {
                if(
timestamp == sizeEntries)
                {
                    if(
sizeEntries iNum)
                    {
                        
ArrayPushArray(entriesdata);
                        
sizeEntries++;
                    }
                    
                    break;
                }
          
                
ArrayGetArray(entriestimestampdata2);
                
                if(
data[VD_Value] >= data2[VD_Value])
                {
                    
ArrayInsertArrayBefore(entriestimestampdata);
                    
                    if(
sizeEntries iNum)
                    {
                        
sizeEntries++;
                    } 
                    else 
                    {
                        
ArrayDeleteItem(entriessizeEntries);
                    }
                    
                    break;
                }
            }
        }
    }
    
    new 
iLen
    
    
new len charsmax(g_szTopMotd)
    
    
iLen formatex(g_szTopMotdlen"<STYLE>body{background:#212121;color:#d1d1d1;font-family:Arial}table{width:100%%;font-size:28px}</STYLE><table cellpadding=1 cellspacing=1 border=0>")
    
iLen += formatex(g_szTopMotd[iLen], len iLen"<tr bgcolor=#333333><th width=1%%><align=left font color=white> %s <th width=5%%> %-22.22s <th width=5%%> %s""#""Name""Points")

    new 
i
    
for(0sizeEntriesi++)
    {
        
ArrayGetArray(entriesidata);
        
        
data[VD_Key][32] = 0;
        
data[VD_szName][32] = 0
        
        replace_all
(data[VD_szName], charsmax(data[VD_szName]), "<""&lt;")
        
replace_all(data[VD_szName], charsmax(data[VD_szName]), ">""&gt;")
        
        
iLen += formatex(g_szTopMotd[iLen], len iLen"<tr align=left%s><td align=left><font color=white> %d. <td> %-22.22s <td> %d"" bgcolor=#2b5b95", (i+1), data[VD_szName], data[VD_Value])
    }
    
    
ArrayDestroy(entries);
    
    
iLen += formatex(g_szTopMotd[iLen], len iLen"</table></body>")

Error: Doesn't show player name in motd. Shows only first 7 players (points). Shows '<tr align=left bgcolor=#2b5b' instead players points...
This code doesn't make sense... You don't include anything, no plugin_init, etc. etc... Provide us some original code and ask for customization if you don't know what you're doing. With this code we can't help you.
__________________
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 18:11.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode