Raised This Month: $51 Target: $400
 12% 

[Solved] Add TOP15


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
pacheco
Senior Member
Join Date: Jul 2011
Old 02-01-2012 , 15:09   [Solved] Add TOP15
Reply With Quote #1

Can someone add top15 Player XP in this code? [ deathrun xp ]
command to open top15: say /top15_dr

Thanks!

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>
#include <nvault>

new const PLUGIN_NAME[] = "Deathrun XP";

new const 
drxp_version[] = "2.0";

new const 
LEVELS[10] = {
     
50
     
100
     
150
     
200,
     
250,
     
300,
    
350,
    
400,
    
450,
    
500
}

new 
drxp_playerxp[33], drxp_playerlevel[33];
new 
drxp_killdrxp_knifedrxp_grenadedrxp_hsdrxp_savexpg_drxp_vault;

public 
plugin_init()
{
    
register_plugin(PLUGIN_NAMEdrxp_version"KronoS");

    
RegisterHam(Ham_Spawn"player""drxp_spawn"1);
     
register_event("DeathMsg""drxp_death""a");

     
drxp_savexp register_cvar("drxp_savexp","1");
     
drxp_kill register_cvar("drxp_kill""10");
     
drxp_knife register_cvar("drxp_knife","5");
    
drxp_grenade register_cvar("drxp_grenade","15");
     
drxp_hs register_cvar("drxp_hs","10");

     
g_drxp_vault nvault_open("deathrun_xp");

        
register_concmd("amx_takexp""cmd_take_exp"ADMIN_BAN"<target> <amount>");  
        
register_concmd("amx_givexp""cmd_give_exp"ADMIN_BAN"<target> <amount>"); 
}

public 
drxp_spawn(id)
{
    if((
drxp_playerlevel[id] < 10) && (drxp_playerxp[id] >= LEVELS[drxp_playerlevel[id]]))
    {
        
client_print(id,print_chat,"[%s] Congratulations!You have gained a new level!"PLUGIN_NAME);
        while(
drxp_playerxp[id] >= LEVELS[drxp_playerlevel[id]])
        {
              
drxp_playerlevel[id] += 1;
        }
    }

    if(
drxp_playerlevel[id] > 0)
        
set_user_health(idget_user_health(id) + 5*drxp_playerlevel[id]);
}

public 
drxp_death() 
{
     new 
iVictim read_data(2);
     new 
weaponhitplaceattacker get_user_attacker(iVictim,weapon,hitplace);

    new 
victimname[32], wvar[32];
       
get_user_name(iVictim,victimname,31);
       
read_data(4wvar31);

       if(
equal(wvar"world"5))
           return;

    if(
attacker || attacker 32)
        return;

     
drxp_playerxp[attacker] += get_pcvar_num(drxp_kill);
    
client_print(attacker,print_chat,"[%s] You have received %i XP for killing %s!"PLUGIN_NAMEget_pcvar_num(drxp_grenade), victimname);

     if(
hitplace == HIT_HEAD)
    {
         
drxp_playerxp[attacker] += get_pcvar_num(drxp_hs);
        
client_print(attacker,print_chat,"[%s] You have received %i XP for killing %s with headshot!"PLUGIN_NAMEget_pcvar_num(drxp_hs), victimname);
    }

     if(
weapon == CSW_KNIFE)
    {
          
drxp_playerxp[attacker] += get_pcvar_num(drxp_knife);
        
client_print(attacker,print_chat,"[%s] You have received %i XP for killing %s with knife!"PLUGIN_NAMEget_pcvar_num(drxp_knife), victimname);
    }
     else if(
weapon == CSW_HEGRENADE)
    {
          
drxp_playerxp[attacker] += get_pcvar_num(drxp_grenade);
        
client_print(attacker,print_chat,"[%s] You have received %i XP for killing %s with HE!"PLUGIN_NAMEget_pcvar_num(drxp_grenade), victimname);
    }

    
drxp_hudinfo(attacker);
}

public 
drxp_hudinfo(id)
{
    
set_hudmessage(2552552550.010.203.03.0);
    if(
drxp_playerlevel[id] < 10)
         
show_hudmessage(id"Level: %i^nXP: %i / %i"drxp_playerlevel[id], drxp_playerxp[id], LEVELS[drxp_playerlevel[id] + 1]);
    else
         
show_hudmessage(id"Level: %i^nMax level reached!"drxp_playerlevel[id]);

    
set_task(2.0"drxp_hudinfo"id);
}

public 
client_putinserver(id)
{
     if(
get_pcvar_num(drxp_savexp) == 1)
          
LoadData(id);

    
set_task(10.0"drxp_hudinfo"id);
}

public 
client_disconnect(id)
{
     if(
get_pcvar_num(drxp_savexp) == 1)
          
SaveData(id);

     
drxp_playerxp[id] = 0;
     
drxp_playerlevel[id] = 0;
}

public 
SaveData(id)
{
     new 
PlayerName[35];
     
get_user_name(id,PlayerName,34);

     new 
vaultkey[64],vaultdata[256];
     
format(vaultkey,63,"%s",PlayerName);
     
format(vaultdata,255,"%i#%i#",drxp_playerxp[id],drxp_playerlevel[id]);
     
nvault_set(g_drxp_vault,vaultkey,vaultdata);
     return 
PLUGIN_CONTINUE;
}

public 
LoadData(id)
{
     new 
PlayerName[35];
     
get_user_name(id,PlayerName,34);

     new 
vaultkey[64],vaultdata[256];
     
format(vaultkey,63,"%s",PlayerName);
     
format(vaultdata,255,"%i#%i#",drxp_playerxp[id],drxp_playerlevel[id]);
     
nvault_get(g_drxp_vault,vaultkey,vaultdata,255);

     
replace_all(vaultdata255"#"" ");

     new 
playerxp[32], playerlevel[32];

     
parse(vaultdataplayerxp31playerlevel31);

     
drxp_playerxp[id] = str_to_num(playerxp);
     
drxp_playerlevel[id] = str_to_num(playerlevel);

     return 
PLUGIN_CONTINUE;
}  

public 
cmd_give_exp(idlevelcid

        if(!
cmd_access(idlevelcid3)) 
                return 
PLUGIN_HANDLED

        
new target[32], amount[21], reason[21]

        
read_argv(1target31)
        
read_argv(2amount20)
        
read_argv(3reason20)

        new 
player cmd_target(idtarget8)

        if(!
player)  
            return 
PLUGIN_HANDLED

        
new admin_name[32], player_name[32]
        
get_user_name(idadmin_name31)
        
get_user_name(playerplayer_name31)

        new 
expnum str_to_num(amount)
    
client_print(0print_chat"ADMIN %s: give %s xp to %s"admin_nameamountplayer_name)

        
drxp_playerxp[player] += expnum
        SaveData
(id)

        return 
PLUGIN_CONTINUE

  
public 
cmd_take_exp(idlevelcid

        if(!
cmd_access(idlevelcid3)) 
            return 
PLUGIN_HANDLED

        
new target[32], amount[21], reason[21]

        
read_argv(1target31)
        
read_argv(2amount20)
        
read_argv(3reason20)

        new 
player cmd_target(idtarget8

        if(!
player)  
                return 
PLUGIN_HANDLED

        
new admin_name[32], player_name[32]
    
        
get_user_name(idadmin_name31)
        
get_user_name(playerplayer_name31)

        new 
expnum str_to_num(amount)
    
client_print(0print_chat"ADMIN %s: take %s xp from %s"admin_nameamountplayer_name)

        
drxp_playerxp[player] -= expnum
        SaveData
(id

        return 
PLUGIN_CONTINUE

Thread: http://forums.alliedmods.net/showthread.php?t=141439
__________________




Last edited by pacheco; 05-23-2012 at 15:02.
pacheco is offline
 



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 10:06.


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