AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [HELP] XpMOD (https://forums.alliedmods.net/showthread.php?t=237579)

Snitch 03-26-2014 14:55

[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.
PHP Code:

#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)
    
// We create the victim variable, so that this function can check 
    // if a player was killed 
    
new iVictim read_data)
    
// If a player was killed by a HeadShot, this will be used for the cvar Xp_Hs
    
new headshot read_data)
    if(
attacker == iVictim)
    {
        return 
PLUGIN_HANDLED
    
}
    
//which weapon was used
    
new clipammoweapon 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] += 
        ColorChat
(attackerNORMAL"^4[Nex] ^4Congratulations! ^1You are level^3 %i "g_lvl[attacker]) 
    }
    
SaveExp(attacker)
    return 
PLUGIN_HANDLED
}  

public 
show(id

    
set_hudmessage(02550, -1.00.906.012.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] > )
    {
        
SaveExp(plr);
        
        
g_exp[plr] = 0;
    }
}

SaveExp(plr)
{
    new 
authid[35];
    
get_user_authid(plrauthidsizeof(authid) - 1);
    new 
data2[16];
    
num_to_str(g_lvl[plr], data2sizeof(data2) - 1);
    
    
fvault_set_data(g_vault_lvlauthiddata2);
    new 
data[16];
    
num_to_str(g_exp[plr], datasizeof(data) - 1);
    
    
fvault_set_data(g_vault_nameauthiddata);
}

LoadExp(plr)
{
    new 
authid[35];
    
get_user_authid(plrauthidsizeof(authid) - 1);
    new 
data2[16];
    if( 
fvault_get_data(g_vault_lvlauthiddata2sizeof(data2) - 1) )
    {
        
g_lvl[plr] = str_to_num(data2);
    }
    else
    {
        
g_lvl[plr] = 0;
    }
    new 
data[16];
    if( 
fvault_get_data(g_vault_nameauthiddatasizeof(data) - 1) )
    {
        
g_exp[plr] = str_to_num(data);
    }
    else
    {
        
g_exp[plr] = 0;
    }



Buckshot 03-27-2014 23:02

Re: [HELP] XpMOD
 
PHP Code:

new target,body;
new 
szName32 ]
get_user_aimingidtargetbody )
get_user_nametargetszNamecharsmaxszName ) )

if( 
target )
{
    
set_hudmessage02550, -1.00.906.012.0 
    
show_hudmessageid"Name: %s | Level: %i | Exp: %i/%i"szNameg_lvlid ], g_expid ] ); 


Like this?

Snitch 03-28-2014 07:50

Re: [HELP] XpMOD
 
Quote:

Originally Posted by Buckshot (Post 2116737)
PHP Code:

new target,body;
new 
szName32 ]
get_user_aimingidtargetbody )
get_user_nametargetszNamecharsmaxszName ) )

if( 
target )
{
    
set_hudmessage02550, -1.00.906.012.0 
    
show_hudmessageid"Name: %s | Level: %i | Exp: %i/%i"szNameg_lvlid ], g_expid ] ); 


Like this?

Code:

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

Re: [HELP] XpMOD
 
PHP Code:

#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)
    
// We create the victim variable, so that this function can check 
    // if a player was killed 
    
new iVictim read_data)
    
// If a player was killed by a HeadShot, this will be used for the cvar Xp_Hs
    
new headshot read_data)
    if(
attacker == iVictim)
    {
        return 
PLUGIN_HANDLED
    
}
    
//which weapon was used
    
new clipammoweapon 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] += 
        ColorChat
(attackerNORMAL"^4[Nex] ^4Congratulations! ^1You are level^3 %i "g_lvl[attacker]) 
    }
    
SaveExp(attacker)
    return 
PLUGIN_HANDLED
}  

public 
show(id
{
    new 
target[32],body;
    new 
szName32 ]
    
get_user_aimingidtargetbody )
    
get_user_nametargetszNamecharsmaxszName ) )
    
set_hudmessage(02550, -1.00.906.012.0)
    if( 
target )
    {
        
ShowSyncHudMsg(id,syncObj"Name: %s | Level: %i | Exp: %i/%i"szNameg_lvltarget ], g_exptarget ], LEVELS[g_lvltarget ]])
    }
}

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] > )
    {
        
SaveExp(plr);
        
        
g_exp[plr] = 0;
    }
}

SaveExp(plr)
{
    new 
authid[35];
    
get_user_authid(plrauthidsizeof(authid) - 1);
    new 
data2[16];
    
num_to_str(g_lvl[plr], data2sizeof(data2) - 1);
    
    
fvault_set_data(g_vault_lvlauthiddata2);
    new 
data[16];
    
num_to_str(g_exp[plr], datasizeof(data) - 1);
    
    
fvault_set_data(g_vault_nameauthiddata);
}

LoadExp(plr)
{
    new 
authid[35];
    
get_user_authid(plrauthidsizeof(authid) - 1);
    new 
data2[16];
    if( 
fvault_get_data(g_vault_lvlauthiddata2sizeof(data2) - 1) )
    {
        
g_lvl[plr] = str_to_num(data2);
    }
    else
    {
        
g_lvl[plr] = 0;
    }
    new 
data[16];
    if( 
fvault_get_data(g_vault_nameauthiddatasizeof(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

Snitch 03-28-2014 08:21

Re: [HELP] XpMOD
 
Quote:

Originally Posted by Buckshot (Post 2116837)
PHP Code:

#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)
    
// We create the victim variable, so that this function can check 
    // if a player was killed 
    
new iVictim read_data)
    
// If a player was killed by a HeadShot, this will be used for the cvar Xp_Hs
    
new headshot read_data)
    if(
attacker == iVictim)
    {
        return 
PLUGIN_HANDLED
    
}
    
//which weapon was used
    
new clipammoweapon 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] += 
        ColorChat
(attackerNORMAL"^4[Nex] ^4Congratulations! ^1You are level^3 %i "g_lvl[attacker]) 
    }
    
SaveExp(attacker)
    return 
PLUGIN_HANDLED
}  

public 
show(id
{
    new 
target[32],body;
    new 
szName32 ]
    
get_user_aimingidtargetbody )
    
get_user_nametargetszNamecharsmaxszName ) )
    
set_hudmessage(02550, -1.00.906.012.0)
    if( 
target )
    {
        
ShowSyncHudMsg(id,syncObj"Name: %s | Level: %i | Exp: %i/%i"szNameg_lvltarget ], g_exptarget ], LEVELS[g_lvltarget ]])
    }
}

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] > )
    {
        
SaveExp(plr);
        
        
g_exp[plr] = 0;
    }
}

SaveExp(plr)
{
    new 
authid[35];
    
get_user_authid(plrauthidsizeof(authid) - 1);
    new 
data2[16];
    
num_to_str(g_lvl[plr], data2sizeof(data2) - 1);
    
    
fvault_set_data(g_vault_lvlauthiddata2);
    new 
data[16];
    
num_to_str(g_exp[plr], datasizeof(data) - 1);
    
    
fvault_set_data(g_vault_nameauthiddata);
}

LoadExp(plr)
{
    new 
authid[35];
    
get_user_authid(plrauthidsizeof(authid) - 1);
    new 
data2[16];
    if( 
fvault_get_data(g_vault_lvlauthiddata2sizeof(data2) - 1) )
    {
        
g_lvl[plr] = str_to_num(data2);
    }
    else
    {
        
g_lvl[plr] = 0;
    }
    new 
data[16];
    if( 
fvault_get_data(g_vault_nameauthiddatasizeof(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

Code:

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

Re: [HELP] XpMOD
 
PHP Code:

public show(id
{
    new 
target[32],body;
    new 
szName32 ]
    
get_user_aimingidtargetbody )
    
get_user_nametargetszNamecharsmaxszName ) )
    
set_hudmessage(02550, -1.00.906.012.0)
    if( 
target )
    {
        
ShowSyncHudMsg(id,syncObj"Name: %s | Level: %i | Exp: %i/%i"szNameg_lvltarget ], g_exptarget ], LEVELS[g_lvltarget ]])
    }


-->

PHP Code:

public show(id
{
    new 
target,body;
    
get_user_aimingidtargetbody )
    if( 
target )
    {
    
set_hudmessage(02550, -1.00.906.012.0)
    if (!
is_user_alive(id))
    {
        new 
szName32 ]
        
get_user_nametargetszNamecharsmaxszName ) )
        
ShowSyncHudMsg(id,syncObj"Name: %s | Level: %i | Exp: %i/%i"szNameg_lvltarget ], g_exptarget ], LEVELS[g_lvltarget ]])
    }
    else
        
ShowSyncHudMsg(id,syncObj"Level: %i | Exp: %i/%i",  g_lvltarget ], g_exptarget ], LEVELS[g_lvltarget ]])
    
    }



Snitch 03-29-2014 18:01

Re: [HELP] XpMOD
 
Quote:

Originally Posted by amx_tiger (Post 2117043)
PHP Code:

public show(id
{
    new 
target[32],body;
    new 
szName32 ]
    
get_user_aimingidtargetbody )
    
get_user_nametargetszNamecharsmaxszName ) )
    
set_hudmessage(02550, -1.00.906.012.0)
    if( 
target )
    {
        
ShowSyncHudMsg(id,syncObj"Name: %s | Level: %i | Exp: %i/%i"szNameg_lvltarget ], g_exptarget ], LEVELS[g_lvltarget ]])
    }


-->

PHP Code:

public show(id
{
    new 
target,body;
    
get_user_aimingidtargetbody )
    if( 
target )
    {
    
set_hudmessage(02550, -1.00.906.012.0)
    if (!
is_user_alive(id))
    {
        new 
szName32 ]
        
get_user_nametargetszNamecharsmaxszName ) )
        
ShowSyncHudMsg(id,syncObj"Name: %s | Level: %i | Exp: %i/%i"szNameg_lvltarget ], g_exptarget ], LEVELS[g_lvltarget ]])
    }
    else
        
ShowSyncHudMsg(id,syncObj"Level: %i | Exp: %i/%i",  g_lvltarget ], g_exptarget ], LEVELS[g_lvltarget ]])
    
    }



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

Re: [HELP] XpMOD
 
Quote:

Originally Posted by Snitch (Post 2116247)
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.
PHP Code:

#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)
    
// We create the victim variable, so that this function can check 
    // if a player was killed 
    
new iVictim read_data)
    
// If a player was killed by a HeadShot, this will be used for the cvar Xp_Hs
    
new headshot read_data)
    if(
attacker == iVictim)
    {
        return 
PLUGIN_HANDLED
    
}
    
//which weapon was used
    
new clipammoweapon 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] += 
        ColorChat
(attackerNORMAL"^4[Nex] ^4Congratulations! ^1You are level^3 %i "g_lvl[attacker]) 
    }
    
SaveExp(attacker)
    return 
PLUGIN_HANDLED
}  

public 
show(id

    
set_hudmessage(02550, -1.00.906.012.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] > )
    {
        
SaveExp(plr);
        
        
g_exp[plr] = 0;
    }
}

SaveExp(plr)
{
    new 
authid[35];
    
get_user_authid(plrauthidsizeof(authid) - 1);
    new 
data2[16];
    
num_to_str(g_lvl[plr], data2sizeof(data2) - 1);
    
    
fvault_set_data(g_vault_lvlauthiddata2);
    new 
data[16];
    
num_to_str(g_exp[plr], datasizeof(data) - 1);
    
    
fvault_set_data(g_vault_nameauthiddata);
}

LoadExp(plr)
{
    new 
authid[35];
    
get_user_authid(plrauthidsizeof(authid) - 1);
    new 
data2[16];
    if( 
fvault_get_data(g_vault_lvlauthiddata2sizeof(data2) - 1) )
    {
        
g_lvl[plr] = str_to_num(data2);
    }
    else
    {
        
g_lvl[plr] = 0;
    }
    new 
data[16];
    if( 
fvault_get_data(g_vault_nameauthiddatasizeof(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.

hornet 03-30-2014 03:42

Re: [HELP] XpMOD
 
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

Re: [HELP] XpMOD
 
Quote:

Originally Posted by Snitch (Post 2117647)
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.


All times are GMT -4. The time now is 05:59.

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