AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Suggestions / Requests (https://forums.alliedmods.net/forumdisplay.php?f=12)
-   -   [Solved] Add TOP15 (https://forums.alliedmods.net/showthread.php?t=177441)

pacheco 02-01-2012 15:09

[Solved] Add TOP15
 
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

pacheco 02-18-2012 11:10

Re: [REQ] Add TOP15
 
Someone? :p

Carlen20 02-18-2012 14:48

Re: [REQ] Add TOP15
 
which sort of top15 motd or just a menu?

pacheco 02-20-2012 15:43

Re: [REQ] Add TOP15
 
1 Attachment(s)
Quote:

Originally Posted by Carlen20 (Post 1652902)
which sort of top15 motd or just a menu?

Motd, please. But, if you don't know to make top15 in motd, you can make in menu.. TTTTThanks.

Carlen20 02-21-2012 01:34

Re: [REQ] Add TOP15
 
I just wondered cuz i saw one motd guide before

pacheco 02-21-2012 08:14

Re: [REQ] Add TOP15
 
Quote:

Originally Posted by Carlen20 (Post 1654383)
I just wondered cuz i saw one motd guide before

ok.. motd is better

pacheco 03-14-2012 12:31

Re: [REQ] Add TOP15
 
someone?

Ex1ne 03-14-2012 14:17

Re: [REQ] Add TOP15
 
Quote:

Originally Posted by Carlen20 (Post 1654383)
I just wondered cuz i saw one motd guide before

:o where? I've wanted to learn that for a while now.

pacheco 04-26-2012 20:22

Re: [REQ] Add TOP15
 
Sorry, but, can someone convert this top15 --> http://forums.alliedmods.net/showthread.php?t=102413
to drxp top15?? thanks! ;)
( plugin in my first post /\ )

i tried, but, didn't work :(


All times are GMT -4. The time now is 12:38.

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