This site is a testing version, but all data is shared with the live forum.


Raised This Month: $ Target: $400
 0% 

recompense hp


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Juuhz
Junior Member
Join Date: Sep 2012
Old 12-14-2012 , 12:14   recompense hp
Reply With Quote #1

Hello, I wanted to give a recompense hp, to players who reach level X

ex:

Level 15 = 2HP
Level 16 = 2HP

adding all the player would be with 104 hp


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

new const LEVELS[22] = {
    
100,   
    
200,   
    
400,   
    
700,  
    
1000,  
    
1500,  
    
2000,  
    
3000,  
    
3600,
    
4800,  
    
6000,
    
8000,  
    
10000,
    
15000,  
    
20000,
    
25000,  
    
45000,
    
55000,  
    
80000,
    
100000,  
    
150000,
    
200000
}

new 
PlayerXP[33],PlayerLevel[33]
new 
XP_Kill,XP_Knife,XP_Hs,SaveXP,g_vault

public plugin_init()
{
    
register_plugin("Simple XP""1.0""Fxfighter")
 
    
register_event("DeathMsg""eDeath""a"
 
    
SaveXP register_cvar("SaveXP","1")
    
XP_Kill=register_cvar("XP_per_kill""20")
    
XP_Hs=register_cvar("XP_hs_bonus","20")
    
XP_Knife=register_cvar("XP_knife_bonus","30")
    
g_vault nvault_open("simplexp-nvault")

    
register_clcmd("say /xp""ShowHud")
}

public 
eDeath() 
{
    new 
attacker read_data)
    new 
victim read_data)
    new 
headshot read_data)
    new 
clipammoweapon get_user_weapon(attackerclipammo)
    
    if(
attacker == victim)
    {
        return 
PLUGIN_HANDLED
    
}

    
PlayerXP[attacker] += get_pcvar_num(XP_Kill)

    if(
headshot)
        
PlayerXP[attacker] += get_pcvar_num(XP_Hs)

    if(
weapon == CSW_KNIFE)
        
PlayerXP[attacker] += get_pcvar_num(XP_Knife)

    while(
PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]])
    {
        
PlayerLevel[attacker] += 1
        client_print
(attackerprint_chat"[Click #1] Parabens! Agora voce e Level %i %s!"PlayerLevel[attacker])
    }
    
    
ShowHud(attacker)
    
SaveData(attacker)
    
    return 
PLUGIN_HANDLED
}

public 
ShowHud(id)
{
    
set_hudmessage(random(256), random(256), random(256), 0.010.1826.012.00.050.052)
    
show_hudmessage(id"Seu Level: %i^nSeu XP: %i",PlayerLevel[id],PlayerXP[id])
}

public 
client_connect(id)
{
    if(
get_pcvar_num(SaveXP) == 1)
    {
 
        
LoadData(id)
    }
}

public 
client_disconnect(id)
{
    if(
get_pcvar_num(SaveXP) == 1)
    {
 
        
SaveData(id)
    }
    
PlayerXP[id] = 0
    PlayerLevel
[id] = 0
}

public 
SaveData(id)
{
    new 
AuthID[35]
    
get_user_authid(id,AuthID,34)
 
    new 
vaultkey[64],vaultdata[256]
    
format(vaultkey,63,"%s-Mod",AuthID)
    
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
    
nvault_set(g_vault,vaultkey,vaultdata)
    return 
PLUGIN_CONTINUE
}

public 
LoadData(id)
{
    new 
AuthID[35]
    
get_user_authid(id,AuthID,34)
 
    new 
vaultkey[64],vaultdata[256]
    
format(vaultkey,63,"%s-Mod",AuthID)
    
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
    
nvault_get(g_vault,vaultkey,vaultdata,255)
 
    
replace_all(vaultdata255"#"" ")
 
    new 
playerxp[32], playerlevel[32]
 
    
parse(vaultdataplayerxp31playerlevel31)
 
    
PlayerXP[id] = str_to_num(playerxp)
    
PlayerLevel[id] = str_to_num(playerlevel)
 
    return 
PLUGIN_CONTINUE

Juuhz is offline
Reply



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 16:12.


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