AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [HELP] Deathrun rank (https://forums.alliedmods.net/showthread.php?t=237677)

Snitch 03-28-2014 09:59

[HELP] Deathrun rank
 
can someone Edit For me?
Only CT kill will Appears at the top?

and add /rank name?

and have problem with >
Code:

^1with^4 %i ^1kill^3 %s^1!", iRank, iTotal, eRankData[ Rank_Kills ], ( eRankData[ Rank_Kills ] == 1 ) ? "" : "s" );
you Are ranked 29 of 108 with 6 kill > kill s!

why s? why not working my %s
PHP Code:

#include < amxmodx >
#include < fvault >
#include < ColorChat >

enum _:RankData
{
    
Rank_Kills,
    
Rank_Name32 ],
    
Rank_SteamID35 ]
};

new const 
g_szVaultName[ ] = "amxx_stats";

new 
pCvar_Top;

public 
plugin_init( )
{
    
register_plugin"AMXX Stats""0.0.1""Exolent" );
    
    
register_srvcmd"amxstats_reset""CmdReset" );
    
    
register_clcmd"say /rank""CmdRank" );
    
register_clcmd"say /top""CmdTop" );
    
register_clcmd"say /top10""CmdTop" );
    
register_clcmd"say /top15""CmdTop" );
    
    
register_event"DeathMsg""EventDeathMsg""a" );
    
    
pCvar_Top register_cvar"amxstats_top""10" );
}

public 
CmdReset( )
{
    
fvault_clearg_szVaultName );
    
    
server_print"[AMXX] Stats have been reset." );
    
    
log_amx"[AMXX] Stats have been reset." );
    
    return 
PLUGIN_HANDLED;
}

public 
CmdRankiPlayer )
{
    new Array:
aRankData;
    new 
iTotal GetPlayerRanksaRankData );
    
    new 
iRank;
    new 
eRankDataRankData ];
    
    if( 
iTotal )
    {
        new 
szPlayerSteamID35 ];
        
get_user_authidiPlayerszPlayerSteamIDcharsmaxszPlayerSteamID ) );
        
        for( new 
0iTotali++ )
        {
            
ArrayGetArrayaRankDataieRankData );
            
            if( 
equalszPlayerSteamIDeRankDataRank_SteamID ] ) )
            {
                
iRank 1;
                break;
            }
        }
    }
    
    if( 
iRank )
    {
        
ColorChatiPlayerNORMAL"^4[Nex] ^1You are ranked^3 %i ^1of^3 %i ^1with^4 %i ^1kill^3 %s^1!"iRankiTotaleRankDataRank_Kills ], ( eRankDataRank_Kills ] == ) ? "" "s" );
    }
    else
    {
        
ColorChatiPlayerNORMAL"^4[Nex] ^1You are not^4 ranked ^1because you have not killed^3 anyone^1!" );
    }
    
    
ArrayDestroyaRankData );
}

public 
CmdTopiPlayer )
{
    new Array:
aRankData;
    new 
iTotal max0minGetPlayerRanksaRankData ), get_pcvar_numpCvar_Top ) ) );
    
    if( 
iTotal )
    {
        static 
szMOTD2500 ], iDefaultLen;
        if( !
iDefaultLen )
        {
            
iDefaultLen copyszMOTDcharsmaxszMOTD ), "<body><table align=center border=1><thead><tr><th>#.</th><th>Name</th><th>Kills</th></tr></thead><tbody>" );
        }
        
        new 
iLen iDefaultLen;
        
        new 
eRankDataRankData ];
        
        new 
szFixedName128 ];
        
        for( new 
0iTotali++ )
        {
            
ArrayGetArrayaRankDataieRankData );
            
            
copyszFixedNamecharsmaxszFixedName ), eRankDataRank_Name ] );
            
            
MakeNameMOTDSafeszFixedName31 );
            
            
iLen += formatexszMOTDiLen ], charsmaxszMOTD ) - iLen"<tr><td>%i</td><td>%s</td><td>%i</td></tr>", ( ), szFixedNameeRankDataRank_Kills ] );
        }
        
        
copyszMOTDiLen ], charsmaxszMOTD ) - iLen"</tbody></table></body>" );
        
        
show_motdiPlayerszMOTD"Top Players" );
    }
    else
    {
        
client_printiPlayerprint_chat"* No players have been put on the top!" );
    }
    
    
ArrayDestroyaRankData );
}

public 
EventDeathMsg( )
{
    new 
iVictim read_data);
    
    if( 
is_user_connectediVictim ) )
    {
        new 
iKiller read_data);
        
        if( 
iVictim != iKiller
        
&&  is_user_connectediKiller ) )
        {
            
// killed by another player
            
            
new szName32 ], szSteamID35 ];
            
get_user_authidiKillerszSteamIDcharsmaxszSteamID ) );
            
            new 
szKills48 ], iKills;
            if( 
fvault_get_datag_szVaultNameszSteamIDszKillscharsmaxszKills ) ) )
            {
                
strbreakszKillsszKillscharsmaxszKills ), szNamecharsmaxszName ) );
                
                
iKills str_to_numszKills );
            }
            
            if( 
get_user_teamiVictim ) == get_user_teamiKiller ) )
            {
                
// killed by a teammate
                
                
iKills--;
            }
            else
            {
                
// killed by an enemy
                
                
iKills++;
            }
            
            
get_user_nameiKillerszName ,charsmaxszName ) );
            
            
formatexszKillscharsmaxszKills ), "%i %s"iKillsszName );
            
            
fvault_set_datag_szVaultNameszSteamIDszKills );
        }
        else
        {
            
// killed self somehow
        
}
    }
}

GetPlayerRanks( &Array:aRankData )
{
    
aRankData ArrayCreateRankData );
    new 
iTotal;
    
    new 
eRankDataRankData ];
    
    new 
szFileName128 ];
    
_FormatVaultNameg_szVaultNameszFileNamecharsmaxszFileName ) );
    
    new 
iFile fopenszFileName"rt" );
    
    if( !
iFile )
    {
        return 
iTotal;
    }
    
    new 
szFileData128 ];
    new 
szKills48 ];
    
    while( !
feofiFile ) )
    {
        
fgetsiFileszFileDatacharsmaxszFileData ) );
        
trimszFileData );
        
        if( !
szFileData] )
        {
            continue;
        }
        
        
parseszFileDataeRankDataRank_SteamID ], charsmaxeRankDataRank_SteamID ] ), szKillscharsmaxszKills ) );
        
strbreakszKillsszKillscharsmaxszKills ), eRankDataRank_Name ], charsmaxeRankDataRank_Name ] ) );
        
eRankDataRank_Kills ] = str_to_numszKills );
        
        
ArrayPushArrayaRankDataeRankData );
        
        
iTotal++;
    }
    
    
fcloseiFile );
    
    
ArraySortaRankData"SortData" );
    
    return 
iTotal;
}

public 
SortData( Array:aDataiIndex1iIndex2, const iSortData[ ], iSortDataSize )
{
    new 
eData1RankData ], eData2RankData ];
    
ArrayGetArrayaDataiIndex1eData1 );
    
ArrayGetArrayaDataiIndex2eData2 );
    
    return 
clamp( ( eData2Rank_Kills ] - eData1Rank_Kills ] ), -1);
}

stock MakeNameMOTDSafeszName128 ], iMaxChars )
{
    
szName32 ] = 0;
    
    
replace_allszName127"&""&amp;" );
    
replace_allszName127"<""&lt;" );
    
replace_allszName127">""&gt;" );
    
replace_allszName127"^"", "&quot;" );
    
    if( iMaxChars > 128 ) return;
    
    new iLast;
    for( new i = 0; i < 128 && szName[ i ]; )
    {
        if( szName[ i ] == '&' )
        {
            if( equal( szName[ i ], "
&amp;", 5 ) )
            {
                i += 4;
            }
            else if( equal( szName[ i ], "
&quot;", 6 ) )
            {
                i += 5;
            }
            else if( equal( szName[ i ], "
&lt;", 4 ) || equal( szName[ i ], "&gt;", 4 ) )
            {
                i += 3;
            }
        }
        
        if( ++i > iMaxChars )
        {
            break;
        }
        
        iLast = i;
    }
    
    szName[ iLast ] = 0;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/ 


Snitch 04-12-2014 17:58

Re: [HELP] Deathrun rank
 
bump?

Snitch 05-17-2014 08:31

Re: [HELP] Deathrun rank
 
bump?

Snitch 06-26-2016 04:26

Re: [HELP] Deathrun rank
 
any?

redivcram 06-26-2016 04:46

Re: [HELP] Deathrun rank
 
Nah

Snitch 08-23-2016 14:22

Re: [HELP] Deathrun rank
 
bump


All times are GMT -4. The time now is 06:02.

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