|
Senior Member
Join Date: Oct 2009
Location: Constanta, Romania
|

05-21-2010
, 09:32
Re: Xp Leveler
|
#1
|
Quote:
Originally Posted by SaM.ThE.MaN
Hi,
I am trying to make this plugin.
Description:
Each time you get a level your hp increases by 1.
But i cant seem to get the code to work.
Can some one please help me :
|
As I see over here, you only add hp when the client executes "say /me"...You can do like this:
Quote:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <vault>
new PlayerXP[33]
new PlayerLevel[33]
new msgtext
new const LEVELS[6] = {
1,
2,
4,
8,
16,
32
}
public plugin_init()
{
register_plugin("Lvler", "1.0", "SaM")
register_cvar("sv_Leveler", "1")
register_event("Level, "Level", "a")
RegisterHam(Ham_Spawn, "player", "fwdHamSpawn")
register_cvar("XP_per_kill", "1")
register_clcmd("say /me", "Hp")
register_clcmd("say_team /me", "Hp")
}
public fwdHamSpawn(id) {
set_user_health(id, get_user_health(id) + PlayerLevel[id])
return HAM_IGNORED
}
public Hp(id)
{
set_user_health ( 1, PlayerLevel )
}
public SaveXP(id)
{
new authid[32];
get_user_authid(id,authid,31);
new vaultkey[64], vaultdata[64];
format(vaultkey,63,"ANIMAL-%s-class",authid);
format(vaultdata,63,"%d",PlayerClass[id]);
set_vaultdata(vaultkey,vaultdata);
format(vaultkey,63,"ANIMAL-%s-xp",authid);
format(vaultdata,63,"%d",PlayerXP[id]);
set_vaultdata(vaultkey,vaultdata);
format(vaultkey,63,"ANIMAL-%s-level",authid);
format(vaultdata,63,"%d",PlayerLevel[id]);
set_vaultdata(vaultkey,vaultdata);
}
public LoadXP(id)
{
new authid[32];
get_user_authid(id,authid,31);
new vaultkey[64], vaultdata[64];
format(vaultkey,63,"ANIMAL-%s-class",authid);
get_vaultdata(vaultkey,vaultdata,63);
PlayerClass[id] = str_to_num(vaultdata);
format(vaultkey,63,"ANIMAL-%s-xp",authid);
get_vaultdata(vaultkey,vaultdata,63);
PlayerXP[id] = str_to_num(vaultdata);
format(vaultkey,63,"ANIMAL-%s-level",authid);
get_vaultdata(vaultkey,vaultdata,63);
PlayerLevel[id] = str_to_num(vaultdata);
}
public client_connect(id)
{
if(get_cvar_num("SaveXP") == 1) {
LoadXP(id)
client_print(id, print_chat, "[Animal Mod] XP Loaded!")
client_print(id, print_chat, "[Animal Mod] You are a %s with level %s and %s XP", PlayerClass[id], PlayerLevel[id], PlayerXP[id])
}
}
public client_disconnect(id)
{
if(get_cvar_num("SaveXP") == 1) {
SaveXP(id)
}
}
public Level()
{
if(get_cvar_num("sv_Leveler") == 0) {
return PLUGIN_HANDLED
}
new attacker = read_data(1)
if(PlayerClass[attacker] == CLASS_NOTHING) {
return PLUGIN_HANDLED
}
if(PlayerLevel[attacker] == 6) {
return PLUGIN_HANDLED
}
PlayerXP[attacker] += get_cvar_num("XP_per_kill")
if(PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]) {
PlayerLevel[attacker] += 1
client_print(attacker, print_chat, "[Beast] Congratulations! You are now level %i!", PlayerLevel[attacker])
if(get_cvar_num("SaveXP") == 1) {
SaveXP(attacker)
}
ShowHUD(attacker)
}
ShowHUD(attacker)
return PLUGIN_CONTINUE
}
public ShowHUD(id)
{
new HUD[51]
format(HUD, 50, "[%s]Level: %i XP: %i", CLASSES[PlayerClass[id]], PlayerLevel[id], PlayerXP[id])
message_begin(MSG_ONE, msgtext, {0,0,0}, id)
write_byte(0)
write_string(HUD)
message_end()
return
}
|
Untested, should work though...
__________________
|
|