| mammapappa |
03-19-2011 05:18 |
nvault load
Hi how can i load a nvault everytime someone gets for example money? it's for my top/rank but it does only load on every mapchange i want it to load the same second someone gets money
Codes(if needed):
PHP Code:
public CmdRank(id)
{
new Array:aNames, Array:aSteamIDs, Array:aXPs;
new iTotal = SortTopPlayers(aNames, aSteamIDs, aXPs);
new szSteamID[35];
get_user_authid(id, szSteamID, charsmax(szSteamID));
new szSteamID2[35], i;
for( i = 0; i < iTotal; i++ )
{
ArrayGetString(aSteamIDs, i, szSteamID2, charsmax(szSteamID2));
if( equal(szSteamID, szSteamID2) )
{
ColorChat(id, "!g[%s]!yYou are ranked !g%i !yof !g%i !yplayers", PREFIX, (i + 1), iTotal);
break;
}
}
if( i == iTotal )
{
ColorChat(id, "You are not ranked!");
}
ArrayDestroy(aNames);
ArrayDestroy(aSteamIDs);
ArrayDestroy(aXPs);
return PLUGIN_HANDLED;
}
PHP Code:
public CmdTop(id)
{
new Array:aNames, Array:aSteamIDs, Array:aXPs;
new iTotal = SortTopPlayers(aNames, aSteamIDs, aXPs);
new szHTML[2500], iLen;
iLen = copy(szHTML, charsmax(szHTML), "<html><body><h2>MoneyMod Top 15</h2><br><table><tr><th>#.</th><th>Name</th><th>Money</th></tr>");
new szName[156];
for( new i = 0; i < 15; i++ )
{
if( i < iTotal )
{
ArrayGetString(aNames, i, szName, charsmax(szName));
replace_all(szName, charsmax(szName), "&", "&");
replace_all(szName, charsmax(szName), "<", "<");
replace_all(szName, charsmax(szName), ">", ">");
iLen += formatex(szHTML[iLen], charsmax(szHTML)-iLen, "<tr><td>%i.</td><td>%s</td><td>%i</td></tr>", (i + 1), szName, ArrayGetCell(aXPs, i));
}
else
{
iLen += copy(szHTML[iLen], charsmax(szHTML)-iLen, "<tr><td></td><td></td><td></td></tr>");
}
}
iLen += copy(szHTML[iLen], charsmax(szHTML)-iLen, "</table></body></html>");
ArrayDestroy(aNames);
ArrayDestroy(aSteamIDs);
ArrayDestroy(aXPs);
show_motd(id, szHTML, "Top 15");
return PLUGIN_HANDLED;
}
PHP Code:
SortTopPlayers( &Array:aNames, &Array:aSteamIDs, &Array:aXPs )
{
aNames = ArrayCreate( 32 );
aSteamIDs = ArrayCreate( 35 );
aXPs = ArrayCreate( 1 );
new hVault = nvault_util_open( "MoneyModTop" );
new iCount = nvault_util_count( hVault );
new iPos;
new szSteamID[ 35 ], szXP[ 11 ], iTimeStamp, szName[ 32 ];
for( new i = 0; i < iCount; i++ )
{
iPos = nvault_util_read( hVault, iPos, szSteamID, charsmax( szSteamID ), szXP, charsmax( szXP ), iTimeStamp );
nvault_get( gNameVault, szSteamID, szName, charsmax( szName ) );
ArrayPushString( aNames, szName );
ArrayPushString( aSteamIDs, szSteamID );
ArrayPushCell( aXPs, str_to_num( szXP ) );
}
nvault_util_close( hVault );
new iXP;
for( new i = 0, j; i < ( iCount - 1 ); i++ )
{
iXP = ArrayGetCell( aXPs, i );
for( j = i + 1; j < iCount; j++ )
{
if( iXP < ArrayGetCell( aXPs, j ) )
{
ArraySwap( aNames, i, j );
ArraySwap( aSteamIDs, i, j );
ArraySwap( aXPs, i, j );
i--;
break;
}
}
}
return iCount;
}
|