View Full Version : [HELP] XpMOD
can someone Add for this Code > Spec name?
I look at someone, then it will show me the
Name: Level | Exp
As it shows mine I'm living.
#include <amxmodx>
#include <fvault>
#include <ColorChat>
new const g_vault_name[] = "EXP_MOD";
new const g_vault_lvl[] = "LVL_MOD";
new const LEVELS[7] = {
30, //lvl 0
80, //lvl 1
220, //lvl 2
370, //lvl 3
600, //lvl 4
1500, //lvl 5
5000 //lvl 6
}
new g_exp[33],g_lvl[33];
new XP_Kill,XP_Knife,XP_Hs,syncObj
public plugin_init()
{
register_plugin("XpMod", "1.0", "JustGo")
register_event("DeathMsg", "eDeath", "a")
XP_Kill=register_cvar("XP_per_kill", "2")
XP_Hs=register_cvar("XP_hs_bonus","3")
XP_Knife=register_cvar("XP_knife_bonus","3")
syncObj = CreateHudSyncObj()
}
public eDeath() //function name
{
// Create a variable to store the attacker's id
new attacker = read_data( 1 )
// We create the victim variable, so that this function can check
// if a player was killed
new iVictim = read_data( 2 )
// If a player was killed by a HeadShot, this will be used for the cvar Xp_Hs
new headshot = read_data( 3 )
if(attacker == iVictim)
{
return PLUGIN_HANDLED
}
//which weapon was used
new clip, ammo, weapon = get_user_weapon(attacker,clip,ammo);
// used for the xp_hs cvar
// it checks if the victim was killed by a headshot
if(headshot)
{
g_exp[attacker] += get_pcvar_num(XP_Hs)
}
else if(weapon == CSW_KNIFE)
{
g_exp[attacker] += get_pcvar_num(XP_Knife)
}
else
{
g_exp[attacker] += get_pcvar_num(XP_Kill)
}
while(g_exp[attacker] >= LEVELS[g_lvl[attacker]])
{
g_lvl[attacker] += 1
ColorChat(attacker, NORMAL, "^4[Nex] ^4Congratulations! ^1You are level^3 %i ", g_lvl[attacker])
}
SaveExp(attacker)
return PLUGIN_HANDLED
}
public show(id)
{
set_hudmessage(0, 255, 0, -1.0, 0.9, 0, 6.0, 12.0)
ShowSyncHudMsg(id,syncObj, "[ Level: %i| Exp: %i/%i]",g_lvl[id],g_exp[id],LEVELS[g_lvl[id]])
}
public client_putinserver(plr)
{
if( !is_user_hltv(plr) && !is_user_bot(plr) )
{
LoadExp(plr);
}
set_task(1.0, "show", plr, _, _, "b")
}
public client_disconnect(plr)
{
if( g_exp[plr] > 0 )
{
SaveExp(plr);
g_exp[plr] = 0;
}
}
SaveExp(plr)
{
new authid[35];
get_user_authid(plr, authid, sizeof(authid) - 1);
new data2[16];
num_to_str(g_lvl[plr], data2, sizeof(data2) - 1);
fvault_set_data(g_vault_lvl, authid, data2);
new data[16];
num_to_str(g_exp[plr], data, sizeof(data) - 1);
fvault_set_data(g_vault_name, authid, data);
}
LoadExp(plr)
{
new authid[35];
get_user_authid(plr, authid, sizeof(authid) - 1);
new data2[16];
if( fvault_get_data(g_vault_lvl, authid, data2, sizeof(data2) - 1) )
{
g_lvl[plr] = str_to_num(data2);
}
else
{
g_lvl[plr] = 0;
}
new data[16];
if( fvault_get_data(g_vault_name, authid, data, sizeof(data) - 1) )
{
g_exp[plr] = str_to_num(data);
}
else
{
g_exp[plr] = 0;
}
}
Buckshot
03-27-2014, 23:02
new target,body;
new szName[ 32 ]
get_user_aiming( id, target, body )
get_user_name( target, szName, charsmax( szName ) )
if( target > 0 )
{
set_hudmessage( 0, 255, 0, -1.0, 0.9, 0, 6.0, 12.0 )
show_hudmessage( id, "Name: %s | Level: %i | Exp: %i/%i", szName, g_lvl[ id ], g_exp[ id ] );
}
Like this?
new target,body;
new szName[ 32 ]
get_user_aiming( id, target, body )
get_user_name( target, szName, charsmax( szName ) )
if( target > 0 )
{
set_hudmessage( 0, 255, 0, -1.0, 0.9, 0, 6.0, 12.0 )
show_hudmessage( id, "Name: %s | Level: %i | Exp: %i/%i", szName, g_lvl[ id ], g_exp[ id ] );
}
Like this?
public show(id)
{
new target,body;
new szName[ 32 ]
get_user_aiming( id, target, body )
get_user_name( target, szName, charsmax( szName ) )
if( target > 0 )
{
set_hudmessage( 0, 255, 0, -1.0, 0.9, 0, 6.0, 12.0 )
show_hudmessage( id, "Name: %s | Level: %i | Exp: %i/%i", szName, g_lvl[ id ], g_exp[ id ] );
}
}
but if someone look at me he see the name and my exp and level?
Buckshot
03-28-2014, 07:58
#include <amxmodx>
#include <fvault>
#include <ColorChat>
new const g_vault_name[] = "EXP_MOD";
new const g_vault_lvl[] = "LVL_MOD";
new const LEVELS[7] = {
30, //lvl 0
80, //lvl 1
220, //lvl 2
370, //lvl 3
600, //lvl 4
1500, //lvl 5
5000 //lvl 6
}
new g_exp[33],g_lvl[33];
new XP_Kill,XP_Knife,XP_Hs,syncObj
public plugin_init()
{
register_plugin("XpMod", "1.0", "JustGo")
register_event("DeathMsg", "eDeath", "a")
XP_Kill=register_cvar("XP_per_kill", "2")
XP_Hs=register_cvar("XP_hs_bonus","3")
XP_Knife=register_cvar("XP_knife_bonus","3")
syncObj = CreateHudSyncObj()
}
public eDeath() //function name
{
// Create a variable to store the attacker's id
new attacker = read_data( 1 )
// We create the victim variable, so that this function can check
// if a player was killed
new iVictim = read_data( 2 )
// If a player was killed by a HeadShot, this will be used for the cvar Xp_Hs
new headshot = read_data( 3 )
if(attacker == iVictim)
{
return PLUGIN_HANDLED
}
//which weapon was used
new clip, ammo, weapon = get_user_weapon(attacker,clip,ammo);
// used for the xp_hs cvar
// it checks if the victim was killed by a headshot
if(headshot)
{
g_exp[attacker] += get_pcvar_num(XP_Hs)
}
else if(weapon == CSW_KNIFE)
{
g_exp[attacker] += get_pcvar_num(XP_Knife)
}
else
{
g_exp[attacker] += get_pcvar_num(XP_Kill)
}
while(g_exp[attacker] >= LEVELS[g_lvl[attacker]])
{
g_lvl[attacker] += 1
ColorChat(attacker, NORMAL, "^4[Nex] ^4Congratulations! ^1You are level^3 %i ", g_lvl[attacker])
}
SaveExp(attacker)
return PLUGIN_HANDLED
}
public show(id)
{
new target[32],body;
new szName[ 32 ]
get_user_aiming( id, target, body )
get_user_name( target, szName, charsmax( szName ) )
set_hudmessage(0, 255, 0, -1.0, 0.9, 0, 6.0, 12.0)
if( target > 0 )
{
ShowSyncHudMsg(id,syncObj, "Name: %s | Level: %i | Exp: %i/%i", szName, g_lvl[ target ], g_exp[ target ], LEVELS[g_lvl[ target ]])
}
}
public client_putinserver(plr)
{
if( !is_user_hltv(plr) && !is_user_bot(plr) )
{
LoadExp(plr);
}
set_task(1.0, "show", plr, _, _, "b")
}
public client_disconnect(plr)
{
if( g_exp[plr] > 0 )
{
SaveExp(plr);
g_exp[plr] = 0;
}
}
SaveExp(plr)
{
new authid[35];
get_user_authid(plr, authid, sizeof(authid) - 1);
new data2[16];
num_to_str(g_lvl[plr], data2, sizeof(data2) - 1);
fvault_set_data(g_vault_lvl, authid, data2);
new data[16];
num_to_str(g_exp[plr], data, sizeof(data) - 1);
fvault_set_data(g_vault_name, authid, data);
}
LoadExp(plr)
{
new authid[35];
get_user_authid(plr, authid, sizeof(authid) - 1);
new data2[16];
if( fvault_get_data(g_vault_lvl, authid, data2, sizeof(data2) - 1) )
{
g_lvl[plr] = str_to_num(data2);
}
else
{
g_lvl[plr] = 0;
}
new data[16];
if( fvault_get_data(g_vault_name, authid, data, sizeof(data) - 1) )
{
g_exp[plr] = str_to_num(data);
}
else
{
g_exp[plr] = 0;
}
}
Try this.. I do not know if it compiles at all since i don't have the fvault include.. But hopefully it works
#include <amxmodx>
#include <fvault>
#include <ColorChat>
new const g_vault_name[] = "EXP_MOD";
new const g_vault_lvl[] = "LVL_MOD";
new const LEVELS[7] = {
30, //lvl 0
80, //lvl 1
220, //lvl 2
370, //lvl 3
600, //lvl 4
1500, //lvl 5
5000 //lvl 6
}
new g_exp[33],g_lvl[33];
new XP_Kill,XP_Knife,XP_Hs,syncObj
public plugin_init()
{
register_plugin("XpMod", "1.0", "JustGo")
register_event("DeathMsg", "eDeath", "a")
XP_Kill=register_cvar("XP_per_kill", "2")
XP_Hs=register_cvar("XP_hs_bonus","3")
XP_Knife=register_cvar("XP_knife_bonus","3")
syncObj = CreateHudSyncObj()
}
public eDeath() //function name
{
// Create a variable to store the attacker's id
new attacker = read_data( 1 )
// We create the victim variable, so that this function can check
// if a player was killed
new iVictim = read_data( 2 )
// If a player was killed by a HeadShot, this will be used for the cvar Xp_Hs
new headshot = read_data( 3 )
if(attacker == iVictim)
{
return PLUGIN_HANDLED
}
//which weapon was used
new clip, ammo, weapon = get_user_weapon(attacker,clip,ammo);
// used for the xp_hs cvar
// it checks if the victim was killed by a headshot
if(headshot)
{
g_exp[attacker] += get_pcvar_num(XP_Hs)
}
else if(weapon == CSW_KNIFE)
{
g_exp[attacker] += get_pcvar_num(XP_Knife)
}
else
{
g_exp[attacker] += get_pcvar_num(XP_Kill)
}
while(g_exp[attacker] >= LEVELS[g_lvl[attacker]])
{
g_lvl[attacker] += 1
ColorChat(attacker, NORMAL, "^4[Nex] ^4Congratulations! ^1You are level^3 %i ", g_lvl[attacker])
}
SaveExp(attacker)
return PLUGIN_HANDLED
}
public show(id)
{
new target[32],body;
new szName[ 32 ]
get_user_aiming( id, target, body )
get_user_name( target, szName, charsmax( szName ) )
set_hudmessage(0, 255, 0, -1.0, 0.9, 0, 6.0, 12.0)
if( target > 0 )
{
ShowSyncHudMsg(id,syncObj, "Name: %s | Level: %i | Exp: %i/%i", szName, g_lvl[ target ], g_exp[ target ], LEVELS[g_lvl[ target ]])
}
}
public client_putinserver(plr)
{
if( !is_user_hltv(plr) && !is_user_bot(plr) )
{
LoadExp(plr);
}
set_task(1.0, "show", plr, _, _, "b")
}
public client_disconnect(plr)
{
if( g_exp[plr] > 0 )
{
SaveExp(plr);
g_exp[plr] = 0;
}
}
SaveExp(plr)
{
new authid[35];
get_user_authid(plr, authid, sizeof(authid) - 1);
new data2[16];
num_to_str(g_lvl[plr], data2, sizeof(data2) - 1);
fvault_set_data(g_vault_lvl, authid, data2);
new data[16];
num_to_str(g_exp[plr], data, sizeof(data) - 1);
fvault_set_data(g_vault_name, authid, data);
}
LoadExp(plr)
{
new authid[35];
get_user_authid(plr, authid, sizeof(authid) - 1);
new data2[16];
if( fvault_get_data(g_vault_lvl, authid, data2, sizeof(data2) - 1) )
{
g_lvl[plr] = str_to_num(data2);
}
else
{
g_lvl[plr] = 0;
}
new data[16];
if( fvault_get_data(g_vault_name, authid, data, sizeof(data) - 1) )
{
g_exp[plr] = str_to_num(data);
}
else
{
g_exp[plr] = 0;
}
}
Try this.. I do not know if it compiles at all since i don't have the fvault include.. But hopefully it works
get_user_aiming( id, target, body )Error: Array must be indexed (variable "target") on line 77
Error: Argument type mismatch (argument 2) on line 72
Error: Argument type mismatch (argument 1) on line 73
Error: Array must be indexed (variable "target") on line 75
*Edit:*
But if i Alive if you can make like this
Level | exp
if im spec on someone i mean if im dead so Name | level | exp
amx_tiger
03-28-2014, 14:10
public show(id)
{
new target[32],body;
new szName[ 32 ]
get_user_aiming( id, target, body )
get_user_name( target, szName, charsmax( szName ) )
set_hudmessage(0, 255, 0, -1.0, 0.9, 0, 6.0, 12.0)
if( target > 0 )
{
ShowSyncHudMsg(id,syncObj, "Name: %s | Level: %i | Exp: %i/%i", szName, g_lvl[ target ], g_exp[ target ], LEVELS[g_lvl[ target ]])
}
}
-->
public show(id)
{
new target,body;
get_user_aiming( id, target, body )
if( target > 0 )
{
set_hudmessage(0, 255, 0, -1.0, 0.9, 0, 6.0, 12.0)
if (!is_user_alive(id))
{
new szName[ 32 ]
get_user_name( target, szName, charsmax( szName ) )
ShowSyncHudMsg(id,syncObj, "Name: %s | Level: %i | Exp: %i/%i", szName, g_lvl[ target ], g_exp[ target ], LEVELS[g_lvl[ target ]])
}
else
ShowSyncHudMsg(id,syncObj, "Level: %i | Exp: %i/%i", g_lvl[ target ], g_exp[ target ], LEVELS[g_lvl[ target ]])
}
}
public show(id)
{
new target[32],body;
new szName[ 32 ]
get_user_aiming( id, target, body )
get_user_name( target, szName, charsmax( szName ) )
set_hudmessage(0, 255, 0, -1.0, 0.9, 0, 6.0, 12.0)
if( target > 0 )
{
ShowSyncHudMsg(id,syncObj, "Name: %s | Level: %i | Exp: %i/%i", szName, g_lvl[ target ], g_exp[ target ], LEVELS[g_lvl[ target ]])
}
}-->
public show(id)
{
new target,body;
get_user_aiming( id, target, body )
if( target > 0 )
{
set_hudmessage(0, 255, 0, -1.0, 0.9, 0, 6.0, 12.0)
if (!is_user_alive(id))
{
new szName[ 32 ]
get_user_name( target, szName, charsmax( szName ) )
ShowSyncHudMsg(id,syncObj, "Name: %s | Level: %i | Exp: %i/%i", szName, g_lvl[ target ], g_exp[ target ], LEVELS[g_lvl[ target ]])
}
else
ShowSyncHudMsg(id,syncObj, "Level: %i | Exp: %i/%i", g_lvl[ target ], g_exp[ target ], LEVELS[g_lvl[ target ]])
}
}
It shows me a few seconds and then disappears or it does not show anything..
and sometime when im moveing it disappears the message and sometimes it shows
xxxperts
03-30-2014, 02:53
can someone Add for this Code > Spec name?
I look at someone, then it will show me the
Name: Level | Exp
As it shows mine I'm living.
#include <amxmodx>
#include <fvault>
#include <ColorChat>
new const g_vault_name[] = "EXP_MOD";
new const g_vault_lvl[] = "LVL_MOD";
new const LEVELS[7] = {
30, //lvl 0
80, //lvl 1
220, //lvl 2
370, //lvl 3
600, //lvl 4
1500, //lvl 5
5000 //lvl 6
}
new g_exp[33],g_lvl[33];
new XP_Kill,XP_Knife,XP_Hs,syncObj
public plugin_init()
{
register_plugin("XpMod", "1.0", "JustGo")
register_event("DeathMsg", "eDeath", "a")
XP_Kill=register_cvar("XP_per_kill", "2")
XP_Hs=register_cvar("XP_hs_bonus","3")
XP_Knife=register_cvar("XP_knife_bonus","3")
syncObj = CreateHudSyncObj()
}
public eDeath() //function name
{
// Create a variable to store the attacker's id
new attacker = read_data( 1 )
// We create the victim variable, so that this function can check
// if a player was killed
new iVictim = read_data( 2 )
// If a player was killed by a HeadShot, this will be used for the cvar Xp_Hs
new headshot = read_data( 3 )
if(attacker == iVictim)
{
return PLUGIN_HANDLED
}
//which weapon was used
new clip, ammo, weapon = get_user_weapon(attacker,clip,ammo);
// used for the xp_hs cvar
// it checks if the victim was killed by a headshot
if(headshot)
{
g_exp[attacker] += get_pcvar_num(XP_Hs)
}
else if(weapon == CSW_KNIFE)
{
g_exp[attacker] += get_pcvar_num(XP_Knife)
}
else
{
g_exp[attacker] += get_pcvar_num(XP_Kill)
}
while(g_exp[attacker] >= LEVELS[g_lvl[attacker]])
{
g_lvl[attacker] += 1
ColorChat(attacker, NORMAL, "^4[Nex] ^4Congratulations! ^1You are level^3 %i ", g_lvl[attacker])
}
SaveExp(attacker)
return PLUGIN_HANDLED
}
public show(id)
{
set_hudmessage(0, 255, 0, -1.0, 0.9, 0, 6.0, 12.0)
ShowSyncHudMsg(id,syncObj, "[ Level: %i| Exp: %i/%i]",g_lvl[id],g_exp[id],LEVELS[g_lvl[id]])
}
public client_putinserver(plr)
{
if( !is_user_hltv(plr) && !is_user_bot(plr) )
{
LoadExp(plr);
}
set_task(1.0, "show", plr, _, _, "b")
}
public client_disconnect(plr)
{
if( g_exp[plr] > 0 )
{
SaveExp(plr);
g_exp[plr] = 0;
}
}
SaveExp(plr)
{
new authid[35];
get_user_authid(plr, authid, sizeof(authid) - 1);
new data2[16];
num_to_str(g_lvl[plr], data2, sizeof(data2) - 1);
fvault_set_data(g_vault_lvl, authid, data2);
new data[16];
num_to_str(g_exp[plr], data, sizeof(data) - 1);
fvault_set_data(g_vault_name, authid, data);
}
LoadExp(plr)
{
new authid[35];
get_user_authid(plr, authid, sizeof(authid) - 1);
new data2[16];
if( fvault_get_data(g_vault_lvl, authid, data2, sizeof(data2) - 1) )
{
g_lvl[plr] = str_to_num(data2);
}
else
{
g_lvl[plr] = 0;
}
new data[16];
if( fvault_get_data(g_vault_name, authid, data, sizeof(data) - 1) )
{
g_exp[plr] = str_to_num(data);
}
else
{
g_exp[plr] = 0;
}
}
i had posted this kind of code lets check again & again..! till u dont get.
Your main issue is that your calling a task to detect looking at a player, rather than a real event such as StatusValue which would be ideal for this.
Buckshot
03-30-2014, 03:56
It shows me a few seconds and then disappears or it does not show anything..
and sometime when im moveing it disappears the message and sometimes it shows
Yes. that is what you asked for. This message only shows up while looking at a player.
Yes. that is what you asked for. This message only shows up while looking at a player.
I know, it work perfect but my exp and level sometimes disappears when im moveing with bh
But anywayswork i will fix it
vBulletin® v3.8.7, Copyright ©2000-2024, vBulletin Solutions, Inc.