AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [Help]Why does the xp goes with everyclass? (https://forums.alliedmods.net/showthread.php?t=158956)

2reason2kill 06-11-2011 04:05

[Help]Why does the xp goes with everyclass?
 
I does my exp Go with every class?


if im a jumper level 10 then the other class are level 10 how 2 change that?
PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <engine>

#define MAXCLASSES 3
#define PREFIX "[ Jumper-Mod]"

enum {
    
PLAYERLEVEL_1,
    
PLAYERLEVEL_2,
    
PLAYERLEVEL_3,
    
PLAYERLEVEL_4,
    
PLAYERLEVEL_5,
    
PLAYERLEVEL_6,
    
PLAYERLEVEL_7,
    
PLAYERLEVEL_8,
    
PLAYERLEVEL_9,
    
PLAYERLEVEL_10,
    
PLAYERLEVEL_11,
    
PLAYERLEVEL_12,
    
PLAYERLEVEL_13,
    
PLAYERLEVEL_14,
    
PLAYERLEVEL_15,
    
PLAYERLEVEL_16,
    
PLAYERLEVEL_17
    
}
enum {
    
CLASS_none 0,
    
CLASS_Jumper,
    
CLASS_Paladins
}


new 
teleport_counter;
new 
Float:g_lastusetime[33];

new 
pcv_teleport_cooldown;

new 
BubbleSprite;
new 
bool:g_bHasSuperKnife[33];
new 
bool:g_bHasSuperSpeed[33];

new 
g_iMaxPlayers;

new 
g_pCvarCostSuperCut,
    
g_pCvarCostLowGrav,
    
g_pCvarQuantityLowGrav,
    
g_pCvarCostSpeed,
    
g_pCvarQuantitySpeed,
    
g_pCvarQuantityHealthCT,
    
g_pCvarCostHealthCT,
    
g_pCvarCostHE,
    
g_pCvarQuantityHealthT1,
    
g_pCvarCostHealthT1,
    
g_pCvarQuantityHealthT2,
    
g_pCvarCostHealthT2,
    
g_pCvarCostInvisinsibilite,
    
g_pCvarTimeInvisinsibilite;


new const 
CLASSES[MAXCLASSES][] = {
    
"none",
    
"Jumper",
    
"Paladins"
};

new const 
LEVELS[17] = {
    
0
    
200
    
400
    
800,
    
1600,
    
3200,
    
5400,
    
6400,
    
7950,
    
10000,
    
15000,
    
18008,
    
23548,
    
25055,
    
30000,
    
40050,
    
60005

};

new 
PlayerXP[33], PlayerLevel[33], PlayerClass[33];
new 
gCvar_KillgCvar_KnifegCvar_HSgCvar_Enableg_Vault;
new 
bool:NewClass[33];


public 
plugin_init() {
    
register_plugin("Jumper mod""1.0""2Reason2Kill");
    
    
RegisterHam(Ham_Spawn"player""fwdPlayerSpawn"1);

    
register_event("DeathMsg""eDeath""a");
    
register_event("ResetHUD""skill""be"); 

    
gCvar_Enable    register_cvar("xp_save""1");
    
gCvar_Kill    register_cvar("xp_per_kill""20");
    
gCvar_HS    register_cvar("xp_hs_bonus""20");
    
gCvar_Knife    register_cvar("xp_Knife_bonus""20");
    
g_Vault        nvault_open("Jumper-Mod");
    
    
   
    
    
pcv_teleport_cooldown register_cvar("xp_teleport_cooldown""10");
    
    
register_concmd("amx_take_exp""cmd_take_exp"ADMIN_KICK"<target> <amount>"); 
    
register_concmd("amx_give_exp""cmd_give_exp"ADMIN_KICK"<target> <amount>");
    
    
register_clcmd("say Changeclass",    "ChangeClass");
    
register_clcmd("say_team Changeclass""ChangeClass");
    
register_clcmd("say xp",    "ShowHud");
    
register_clcmd("say_team /xp",    "ShowHud");
    
register_clcmd("say class",    "ChangeClass");
    
register_clcmd("say_team /class""ChangeClass");
    
register_clcmd("say exp",    "ShowHud");
    
register_clcmd("say_team /exp",    "ShowHud");
    
register_clcmd("jump""ActivateTeleport");
    
register_event("CurWeapon""event_curweap on""be""1=1");
    
register_clcmd("/help""Help");
    
register_message(get_user_msgid("ShowMenu"), "message_show_menu")
    
register_message(get_user_msgid("VGUIMenu"), "message_vgui_menu")
    
register_logevent("Event_RoundStart"2"1=Round_Start");
    
register_message(get_user_msgid("TextMsg") ,"message_TextMsg")
    
register_clcmd("/jmshop","Shop")
    
g_pCvarCostSuperCut register_cvar("shopbb_supercut""10000");
    
g_pCvarCostLowGrav register_cvar("shopbb_grav""8000");
    
g_pCvarQuantityLowGrav register_cvar("shopbb_quant_grav""0.150");
    
g_pCvarCostSpeed register_cvar("shopbb_speed""8000");
    
g_pCvarQuantitySpeed register_cvar("shopbb_quantity_speed""400.0");
    
    
// Cvars CT
    
g_pCvarQuantityHealthCT register_cvar("shopbb_vie_ct""150");
    
g_pCvarCostHealthCT register_cvar("shopbb_prix_vie_ct""5000");
    
g_pCvarCostHE register_cvar("shopbb_he""2500");
    
    
// Cvars T
    
g_pCvarQuantityHealthT1 register_cvar("shopbb_health_t1""2000");
    
g_pCvarCostHealthT1 register_cvar("shopbb_prix_health_t1""8000");
    
g_pCvarQuantityHealthT2 register_cvar("shopbb_health_t2""5000");
    
g_pCvarCostHealthT2 register_cvar("shopbb_prix_health_t2""16000");
    
g_pCvarCostInvisinsibilite register_cvar("shopbb_invins""10000");
    
g_pCvarTimeInvisinsibilite register_cvar("shopbb_time_invins""5.0");
    
    
}



    

public 
plugin_precache()
{
    
precache_sound("jumper/jump.wav");
    
precache_sound("jumper/levelupcaster.wav");
    
precache_sound("jumper/error.wav");
    
    
BubbleSprite precache_model("sprites/blueflare2.spr");
}



public 
fwdPlayerSpawn(id)
{
    if(
NewClass[id])
    {
        
ShowMenu(id);
    }
    else
    {
        
ShowHud(id);
        
skill(id);
    }
}

public 
Help(id)
{
    
show_motd(id"Help.txt" "How To Play?");
}


public 
eDeath()
{
    new 
attacker read_data);
    new 
headshot read_data);
    new 
clipammoweapon get_user_weapon(attackerclipammo);

    
PlayerXP[attacker] += get_pcvar_num(gCvar_Kill);

    if(
headshot)
        
PlayerXP[attacker] += get_pcvar_num(gCvar_HS);

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

    
ShowHud(attacker);
    
SaveData(attacker);
    
    
CheckLevel(attacker);
}

public 
CheckLevel(id)
{
    while(
PlayerXP[id] >= LEVELS[PlayerLevel[id]])
    {
        
PlayerLevel[id] += 1;
        if(
PlayerLevel[id] != 1)
        {
            
client_printidprint_chat"%s Congratulations! You are a level %i %s!"PREFIXPlayerLevel[id], CLASSES[PlayerClass[id]]);
            
client_cmd(id"spk jumper/levelupcaster.wav")
        }
    }
    
    
ShowHud(id);
}



public 
ShowHud(id)
{
    
set_hudmessage(255000.750.0106.015.0);
    
show_hudmessage(id"Level: %i^nXP: %i^nClass: %s"PlayerLevel[id], PlayerXP[id], CLASSES[PlayerClass[id]]);
}

public 
ChangeClass(id)
{
    if(
is_user_alive(id))
    {
        
NewClass[id] = true;
        
client_printidprint_chat"%s You can choose a new class upon spawn."PREFIX);
    }
    else
    {
        
ShowMenu(id);
    }

    return 
PLUGIN_CONTINUE;
}

public 
ShowMenu(id)
{
    new 
menu menu_create("What side do u chose?" "Class_Handle");
    
menu_additem(menu ,"jumper""1"0);
    
menu_additem(menu ,"Paladins""2"0);
    
menu_setprop(menu MPROP_EXIT MEXIT_ALL);
    
menu_display(id menu 0);

    return 
PLUGIN_CONTINUE;
}

public 
message_TextMsg( const MsgId, const MsgDest, const MsgEntity )
{    
    static 
message[32]
    
get_msg_arg_string(2messagecharsmax(message))
        
    if(
equal(message"#Terrorists_Win"))
    {
        
set_hudmessage20000, -1.00.4043.08.00.00.010);
        
show_hudmessage(0"The Jumpers Survival!")  
    }
    else if(
equal(message"#CTs_Win"))
    {
        
set_hudmessage00200, -1.00.4043.08.00.00.010);
        
show_hudmessage(0"The Paladins Killed Every Jumper!"
    }
}

public 
Class_Handle(id menu item)  {
    if(
item == MENU_EXIT
        
menu_destroy(menu);

    new 
szCommand[6] , szName[64];
    new 
access callback;

    
menu_item_getinfo(menu item access szCommand szName 63 callback);

    new 
str_to_num(szCommand);
    if(
PlayerClass[id] != i
    {
        
PlayerClass[id] = i;
    
        
client_printidprint_chat"%s You are now a %s"PREFIXCLASSES[i]);
    

    } 
    else
    {
        
client_printidprint_chat"%s You are already a %s"PREFIXCLASSES[i]);
    }
    
    
ShowHud(id);
    
CheckLevel(id);
    
NewClass[id] = false;
    
menu_destroy(menu);
    return 
PLUGIN_CONTINUE;
}

public 
Shop(id)

    if ( 
is_user_alive(id) )
    {
        new 
Text[64];
        
        if(
cs_get_user_team(id) == CS_TEAM_T)
        {
            new 
menu1 menu_create("\y[\rJumpers Shop\y]""jumperShop");
            
formatex(Textcharsmax(Text), "\wVitesse \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSpeed));
            
menu_additem(menu1Text"0");
            
formatex(Textcharsmax(Text), "\wGravity \y[\r%d $\y]"get_pcvar_num(g_pCvarCostLowGrav));
            
menu_additem(menu1Text"1");
            
formatex(Textcharsmax(Text), "\wSuper Cut \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSuperCut));
            
menu_additem(menu1Text"2");
            
formatex(Textcharsmax(Text), "\w+%d HP \y[\r%d $\y]"get_pcvar_num(g_pCvarQuantityHealthT1), get_pcvar_num(g_pCvarCostHealthT1));
            
menu_additem(menu1Text"3");
            
formatex(Textcharsmax(Text), "\w+%d HP \y[\r%d $\y]"get_pcvar_num(g_pCvarQuantityHealthT2), get_pcvar_num(g_pCvarCostHealthT2));
            
menu_additem(menu1Text"4");
            
formatex(Textcharsmax(Text), "\wInvincible \y[\r%d $\y]"get_pcvar_num(g_pCvarCostInvisinsibilite));
            
menu_additem(menu1Text"5");

            
menu_setprop(menu1MPROP_EXITNAME"Quitter");

            
menu_display(idmenu1);
        }
        
        else if(
cs_get_user_team(id) == CS_TEAM_CT)
        
        {
            new 
menu2 menu_create ("\y[\rPaladins\y]""PaladinsShop");    
            
formatex(Textcharsmax(Text), "\wSuper Cut \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSuperCut));
            
menu_additem(menu2Text"1");
            
formatex(Textcharsmax(Text), "\wVitesse \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSpeed));
            
menu_additem(menu2Text"2");
            
formatex(Textcharsmax(Text), "\wGravity \y[\r%d $\y]"get_pcvar_num(g_pCvarCostLowGrav));
            
menu_additem(menu2Text"3");
            
formatex(Textcharsmax(Text), "\w+%d HP \y[\r%d $\y]"get_pcvar_num(g_pCvarQuantityHealthCT), get_pcvar_num(g_pCvarCostHealthCT));
            
menu_additem(menu2Text"4");
            
formatex(Textcharsmax(Text), "\wGrenade \y[\r%d $\y]"get_pcvar_num(g_pCvarCostHE));
            
menu_additem(menu2Text"5");
                   
menu_setprop(menu2MPROP_EXITNAME"Quitter")
                   
menu_setprop(menu2MPROP_EXITMEXIT_ALL)
               
menu_display(idmenu2)
    }
    }
    else
    {
    
client_print(idprint_chat"You must be alive for buy !")
    }
}
public 
client_connect(id)
{
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
LoadData(id);
        
    
NewClass[id] = true;
}



public 
client_disconnect(id)
{
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
SaveData(id);

    
PlayerXP[id]    = 0;
    
PlayerLevel[id]    = 0;
    
PlayerClass[id]    = 0;
}

public 
SaveData(id) {
    new 
AuthID[35];
    
get_user_authid(idAuthID34);
    
    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]);
    
nvault_set(g_Vaultvaultkeyvaultdata);
    return 
PLUGIN_CONTINUE;
}

public 
LoadData(id) {
    new 
AuthID[35];
    
get_user_authid(id,AuthID,34);
    
    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]);
    
nvault_get(g_Vaultvaultkeyvaultdata,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;
}

// Give/Take XP addaon by [X]-RayCat
public cmd_give_expidlevel,cid ) {
    if( ! 
cmd_access idlevelcid) )
        return 
PLUGIN_HANDLED;

    new 
target[32], amount[21], reason[21];

    
read_argv1target31 );
    
read_argv(2amount20 );
    
read_argv3reason20 );

    new 
player cmd_targetidtarget);

    if( ! 
player 
        return 
PLUGIN_HANDLED;

    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );

    new 
expnum str_to_numamount );

    
PlayerXP[player] += expnum;

    switch( 
get_cvar_num "amx_show_activity" ) ) 
    {
        case 
1client_print0print_chat"ADMIN: gave %i points for %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMIN %s: gave %i points for %s."admin_nameexpnumplayer_name );
    }

    
client_printplayerprint_chat"[%s] You received %i points. (Total: %d)"PREFIXexpnumPlayerXP[player] );
    
SaveDataid );

    return 
PLUGIN_CONTINUE;
}
 
public 
cmd_take_expidlevel,cid ) {
    if( ! 
cmd_access idlevelcid) )
       return 
PLUGIN_HANDLED;

    new 
target[32], amount[21], reason[21];

    
read_argv1target31 );
    
read_argv2amount20 );
    
read_argv3reason20 );

    new 
player cmd_targetidtarget);

    if( ! 
player 
       return 
PLUGIN_HANDLED;

    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );

    new 
expnum str_to_numamount );

    
PlayerXP[player] -= expnum;

    switch(
get_cvar_num("amx_show_activity"))
    {
        case 
1client_print0print_chat"ADMIN: took %i points from %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMIN %s: took %i points from %s."admin_nameexpnumplayer_name );
    }

    
client_printplayerprint_chat"%s You lost %i points. (Total: %d)"PREFIXexpnumPlayerXP[player] );
    
SaveDataid );

    return 
PLUGIN_CONTINUE;
}  
public 
skill(id)
{
    if(!
is_user_alive(id))
    
        
        if (
PlayerClass[id] == CLASS_Paladins)
        {
    

        switch(
PlayerLevel[id])
        {
            case 
1
            {
                
//Level 1 and 2
                
set_user_health(id100)
            
            }
        }
    }
    
    
    
}
//To activate the teleport
public ActivateTeleport(id)
{
    if(!
is_user_alive(id))

    if (
PlayerClass[id] == CLASS_Jumper && PlayerLevel[id] >= 4
    {     
        if (
get_gametime() - g_lastusetime[id] < get_pcvar_float(pcv_teleport_cooldown))
        {
            
set_hudmessage(00255, -1.0, -1.0)
            
show_hudmessage(id"You Must Wait");
            
client_cmd(id"spk jumper/error.wav")
        
            return 
0;
        }

            
        new 
OldLocation[3], NewLocation[3];
        
        
get_user_origin(idOldLocation);
        
        
get_user_origin(idNewLocation3);
        
        new 
UserOrigin[3];
        
get_user_origin(idUserOrigin);
        
        new 
BubbleOrigin[3];
        
BubbleOrigin[0] = UserOrigin[0];
        
BubbleOrigin[1] = UserOrigin[1];
        
BubbleOrigin[2] = UserOrigin[2] + 40;
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
        
write_byte(TE_SPRITETRAIL); // TE ID
        
write_coord(BubbleOrigin[0]); // Start Position X
        
write_coord(BubbleOrigin[1]); // Start Position Y
        
write_coord(BubbleOrigin[2]); // Start Position Z
        
write_coord(UserOrigin[0]); // End Position X
        
write_coord(UserOrigin[1]); // End Position Y
        
write_coord(UserOrigin[2]); // End Position Z
        
write_short(BubbleSprite); // Sprite Index
        
write_byte(30); // Count
        
write_byte(10); // Life
        
write_byte(1); // Scale
        
write_byte(50); // Velocity Along Vector
        
write_byte(10); // Rendomness of Velocity
        
message_end();

        
teleport_counter++;
        
client_cmd(id,"spk jumper/jump.wav");
        
        
NewLocation[0] += ((NewLocation[0] - OldLocation[0] > 0) ? -50 50);
        
NewLocation[1] += ((NewLocation[1] - OldLocation[1] > 0) ? -50 50);
        
NewLocation[2] += 40;
        
        
set_user_origin(idNewLocation);
        
        
g_lastusetime[id] = get_gametime();
    }
    
    return 
PLUGIN_CONTINUE;



Exolent[jNr] 06-11-2011 04:31

Re: [Help]Why does the xp goes with everyclass?
 
PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <engine>

#define MAXCLASSES 3
#define PREFIX "[ Jumper-Mod]"

enum {
    
PLAYERLEVEL_1,
    
PLAYERLEVEL_2,
    
PLAYERLEVEL_3,
    
PLAYERLEVEL_4,
    
PLAYERLEVEL_5,
    
PLAYERLEVEL_6,
    
PLAYERLEVEL_7,
    
PLAYERLEVEL_8,
    
PLAYERLEVEL_9,
    
PLAYERLEVEL_10,
    
PLAYERLEVEL_11,
    
PLAYERLEVEL_12,
    
PLAYERLEVEL_13,
    
PLAYERLEVEL_14,
    
PLAYERLEVEL_15,
    
PLAYERLEVEL_16,
    
PLAYERLEVEL_17
    
}
enum {
    
CLASS_none 0,
    
CLASS_Jumper,
    
CLASS_Paladins
}


new 
teleport_counter;
new 
Float:g_lastusetime[33];

new 
pcv_teleport_cooldown;

new 
BubbleSprite;
new 
bool:g_bHasSuperKnife[33];
new 
bool:g_bHasSuperSpeed[33];

new 
g_iMaxPlayers;

new 
g_pCvarCostSuperCut,
    
g_pCvarCostLowGrav,
    
g_pCvarQuantityLowGrav,
    
g_pCvarCostSpeed,
    
g_pCvarQuantitySpeed,
    
g_pCvarQuantityHealthCT,
    
g_pCvarCostHealthCT,
    
g_pCvarCostHE,
    
g_pCvarQuantityHealthT1,
    
g_pCvarCostHealthT1,
    
g_pCvarQuantityHealthT2,
    
g_pCvarCostHealthT2,
    
g_pCvarCostInvisinsibilite,
    
g_pCvarTimeInvisinsibilite;


new const 
CLASSES[MAXCLASSES][] = {
    
"none",
    
"Jumper",
    
"Paladins"
};

new const 
LEVELS[17] = {
    
0
    
200
    
400
    
800,
    
1600,
    
3200,
    
5400,
    
6400,
    
7950,
    
10000,
    
15000,
    
18008,
    
23548,
    
25055,
    
30000,
    
40050,
    
60005

};

new 
PlayerXP[33][MAXCLASSES], PlayerLevel[33][MAXCLASSES], PlayerClass[33];
new 
gCvar_KillgCvar_KnifegCvar_HSgCvar_Enableg_Vault;
new 
bool:NewClass[33];


public 
plugin_init() {
    
register_plugin("Jumper mod""1.0""2Reason2Kill");
    
    
RegisterHam(Ham_Spawn"player""fwdPlayerSpawn"1);

    
register_event("DeathMsg""eDeath""a");
    
register_event("ResetHUD""skill""be"); 

    
gCvar_Enable    register_cvar("xp_save""1");
    
gCvar_Kill    register_cvar("xp_per_kill""20");
    
gCvar_HS    register_cvar("xp_hs_bonus""20");
    
gCvar_Knife    register_cvar("xp_Knife_bonus""20");
    
g_Vault        nvault_open("Jumper-Mod");
    
    
   
    
    
pcv_teleport_cooldown register_cvar("xp_teleport_cooldown""10");
    
    
register_concmd("amx_take_exp""cmd_take_exp"ADMIN_KICK"<target> <amount>"); 
    
register_concmd("amx_give_exp""cmd_give_exp"ADMIN_KICK"<target> <amount>");
    
    
register_clcmd("say Changeclass",    "ChangeClass");
    
register_clcmd("say_team Changeclass""ChangeClass");
    
register_clcmd("say xp",    "ShowHud");
    
register_clcmd("say_team /xp",    "ShowHud");
    
register_clcmd("say class",    "ChangeClass");
    
register_clcmd("say_team /class""ChangeClass");
    
register_clcmd("say exp",    "ShowHud");
    
register_clcmd("say_team /exp",    "ShowHud");
    
register_clcmd("jump""ActivateTeleport");
    
register_event("CurWeapon""event_curweap on""be""1=1");
    
register_clcmd("/help""Help");
    
register_message(get_user_msgid("ShowMenu"), "message_show_menu")
    
register_message(get_user_msgid("VGUIMenu"), "message_vgui_menu")
    
register_logevent("Event_RoundStart"2"1=Round_Start");
    
register_message(get_user_msgid("TextMsg") ,"message_TextMsg")
    
register_clcmd("/jmshop","Shop")
    
g_pCvarCostSuperCut register_cvar("shopbb_supercut""10000");
    
g_pCvarCostLowGrav register_cvar("shopbb_grav""8000");
    
g_pCvarQuantityLowGrav register_cvar("shopbb_quant_grav""0.150");
    
g_pCvarCostSpeed register_cvar("shopbb_speed""8000");
    
g_pCvarQuantitySpeed register_cvar("shopbb_quantity_speed""400.0");
    
    
// Cvars CT
    
g_pCvarQuantityHealthCT register_cvar("shopbb_vie_ct""150");
    
g_pCvarCostHealthCT register_cvar("shopbb_prix_vie_ct""5000");
    
g_pCvarCostHE register_cvar("shopbb_he""2500");
    
    
// Cvars T
    
g_pCvarQuantityHealthT1 register_cvar("shopbb_health_t1""2000");
    
g_pCvarCostHealthT1 register_cvar("shopbb_prix_health_t1""8000");
    
g_pCvarQuantityHealthT2 register_cvar("shopbb_health_t2""5000");
    
g_pCvarCostHealthT2 register_cvar("shopbb_prix_health_t2""16000");
    
g_pCvarCostInvisinsibilite register_cvar("shopbb_invins""10000");
    
g_pCvarTimeInvisinsibilite register_cvar("shopbb_time_invins""5.0");
    
    
}



    

public 
plugin_precache()
{
    
precache_sound("jumper/jump.wav");
    
precache_sound("jumper/levelupcaster.wav");
    
precache_sound("jumper/error.wav");
    
    
BubbleSprite precache_model("sprites/blueflare2.spr");
}



public 
fwdPlayerSpawn(id)
{
    if(
NewClass[id])
    {
        
ShowMenu(id);
    }
    else
    {
        
ShowHud(id);
        
skill(id);
    }
}

public 
Help(id)
{
    
show_motd(id"Help.txt" "How To Play?");
}


public 
eDeath()
{
    new 
attacker read_data);
    new 
headshot read_data);
    new 
clipammoweapon get_user_weapon(attackerclipammo);

    
PlayerXP[attacker][PlayerClass[attacker]] += get_pcvar_num(gCvar_Kill);

    if(
headshot)
        
PlayerXP[attacker][PlayerClass[attacker]] += get_pcvar_num(gCvar_HS);

    if(
weapon == CSW_KNIFE)
        
PlayerXP[attacker][PlayerClass[attacker]] += get_pcvar_num(gCvar_Knife);

    
ShowHud(attacker);
    
SaveData(attacker);
    
    
CheckLevel(attacker);
}

public 
CheckLevel(id)
{
    while(
PlayerXP[id][PlayerClass[id]] >= LEVELS[PlayerLevel[id][PlayerClass[id]]])
    {
        
PlayerLevel[id][PlayerClass[id]] += 1;
        if(
PlayerLevel[id][PlayerClass[id]] != 1)
        {
            
client_printidprint_chat"%s Congratulations! You are a level %i %s!"PREFIXPlayerLevel[id][PlayerClass[id]], CLASSES[PlayerClass[id]]);
            
client_cmd(id"spk jumper/levelupcaster.wav")
        }
    }
    
    
ShowHud(id);
}



public 
ShowHud(id)
{
    
set_hudmessage(255000.750.0106.015.0);
    
show_hudmessage(id"Level: %i^nXP: %i^nClass: %s"PlayerLevel[id][PlayerClass[id]], PlayerXP[id][PlayerClass[id]], CLASSES[PlayerClass[id]]);
}

public 
ChangeClass(id)
{
    if(
is_user_alive(id))
    {
        
NewClass[id] = true;
        
client_printidprint_chat"%s You can choose a new class upon spawn."PREFIX);
    }
    else
    {
        
ShowMenu(id);
    }

    return 
PLUGIN_CONTINUE;
}

public 
ShowMenu(id)
{
    new 
menu menu_create("What side do u chose?" "Class_Handle");
    
menu_additem(menu ,"jumper""1"0);
    
menu_additem(menu ,"Paladins""2"0);
    
menu_setprop(menu MPROP_EXIT MEXIT_ALL);
    
menu_display(id menu 0);

    return 
PLUGIN_CONTINUE;
}

public 
message_TextMsg( const MsgId, const MsgDest, const MsgEntity )
{    
    static 
message[32]
    
get_msg_arg_string(2messagecharsmax(message))
        
    if(
equal(message"#Terrorists_Win"))
    {
        
set_hudmessage20000, -1.00.4043.08.00.00.010);
        
show_hudmessage(0"The Jumpers Survival!")  
    }
    else if(
equal(message"#CTs_Win"))
    {
        
set_hudmessage00200, -1.00.4043.08.00.00.010);
        
show_hudmessage(0"The Paladins Killed Every Jumper!"
    }
}

public 
Class_Handle(id menu item)  {
    if(
item == MENU_EXIT
        
menu_destroy(menu);

    new 
szCommand[6] , szName[64];
    new 
access callback;

    
menu_item_getinfo(menu item access szCommand szName 63 callback);

    new 
str_to_num(szCommand);
    if(
PlayerClass[id] != i
    {
        
PlayerClass[id] = i;
    
        
client_printidprint_chat"%s You are now a %s"PREFIXCLASSES[i]);
    

    } 
    else
    {
        
client_printidprint_chat"%s You are already a %s"PREFIXCLASSES[i]);
    }
    
    
ShowHud(id);
    
CheckLevel(id);
    
NewClass[id] = false;
    
menu_destroy(menu);
    return 
PLUGIN_CONTINUE;
}

public 
Shop(id)

    if ( 
is_user_alive(id) )
    {
        new 
Text[64];
        
        if(
cs_get_user_team(id) == CS_TEAM_T)
        {
            new 
menu1 menu_create("\y[\rJumpers Shop\y]""jumperShop");
            
formatex(Textcharsmax(Text), "\wVitesse \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSpeed));
            
menu_additem(menu1Text"0");
            
formatex(Textcharsmax(Text), "\wGravity \y[\r%d $\y]"get_pcvar_num(g_pCvarCostLowGrav));
            
menu_additem(menu1Text"1");
            
formatex(Textcharsmax(Text), "\wSuper Cut \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSuperCut));
            
menu_additem(menu1Text"2");
            
formatex(Textcharsmax(Text), "\w+%d HP \y[\r%d $\y]"get_pcvar_num(g_pCvarQuantityHealthT1), get_pcvar_num(g_pCvarCostHealthT1));
            
menu_additem(menu1Text"3");
            
formatex(Textcharsmax(Text), "\w+%d HP \y[\r%d $\y]"get_pcvar_num(g_pCvarQuantityHealthT2), get_pcvar_num(g_pCvarCostHealthT2));
            
menu_additem(menu1Text"4");
            
formatex(Textcharsmax(Text), "\wInvincible \y[\r%d $\y]"get_pcvar_num(g_pCvarCostInvisinsibilite));
            
menu_additem(menu1Text"5");

            
menu_setprop(menu1MPROP_EXITNAME"Quitter");

            
menu_display(idmenu1);
        }
        
        else if(
cs_get_user_team(id) == CS_TEAM_CT)
        
        {
            new 
menu2 menu_create ("\y[\rPaladins\y]""PaladinsShop");    
            
formatex(Textcharsmax(Text), "\wSuper Cut \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSuperCut));
            
menu_additem(menu2Text"1");
            
formatex(Textcharsmax(Text), "\wVitesse \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSpeed));
            
menu_additem(menu2Text"2");
            
formatex(Textcharsmax(Text), "\wGravity \y[\r%d $\y]"get_pcvar_num(g_pCvarCostLowGrav));
            
menu_additem(menu2Text"3");
            
formatex(Textcharsmax(Text), "\w+%d HP \y[\r%d $\y]"get_pcvar_num(g_pCvarQuantityHealthCT), get_pcvar_num(g_pCvarCostHealthCT));
            
menu_additem(menu2Text"4");
            
formatex(Textcharsmax(Text), "\wGrenade \y[\r%d $\y]"get_pcvar_num(g_pCvarCostHE));
            
menu_additem(menu2Text"5");
                   
menu_setprop(menu2MPROP_EXITNAME"Quitter")
                   
menu_setprop(menu2MPROP_EXITMEXIT_ALL)
               
menu_display(idmenu2)
    }
    }
    else
    {
    
client_print(idprint_chat"You must be alive for buy !")
    }
}
public 
client_connect(id)
{
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
LoadData(id);
        
    
NewClass[id] = true;
}



public 
client_disconnect(id)
{
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
SaveData(id);

    
arrayset(PlayerXP[id], 0MAXCLASSES)
    
arrayset(PlayerLevel[id], 0MAXCLASSES)
    
PlayerClass[id]    = 0;
}

public 
SaveData(id) {
    new 
AuthID[35];
    
get_user_authid(idAuthID34);
    
    new 
vaultkey[64], vaultdata[256], len;
    
format(vaultkey63"%s-Mod"AuthID);
    for(new 
0MAXCLASSESi++)
    {
        
len += formatex(vaultdata255"%i#%i#"PlayerXP[id][i], PlayerLevel[id][i]);
    }
    
nvault_set(g_Vaultvaultkeyvaultdata);
    return 
PLUGIN_CONTINUE;
}

public 
LoadData(id) {
    new 
AuthID[35];
    
get_user_authid(id,AuthID,34);
    
    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
nvault_get(g_Vaultvaultkeyvaultdata,255);

    
replace_all(vaultdata255"#"" ");

    new 
playerxp[32], playerlevel[32];
    
    for(new 
0MAXCLASSESi++)
    {
        
strbreak(vaultdataplayerxp31vaultdata255);
        
strbreak(vaultdataplayerlevel31vaultdata255);
        
        
PlayerXP[id][i] = str_to_num(playerxp);
        
PlayerLevel[id][i] = str_to_num(playerlevel);
    }

    return 
PLUGIN_CONTINUE;
}

// Give/Take XP addaon by [X]-RayCat
public cmd_give_expidlevel,cid ) {
    if( ! 
cmd_access idlevelcid) )
        return 
PLUGIN_HANDLED;

    new 
target[32], amount[21], reason[21];

    
read_argv1target31 );
    
read_argv(2amount20 );
    
read_argv3reason20 );

    new 
player cmd_targetidtarget);

    if( ! 
player 
        return 
PLUGIN_HANDLED;

    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );

    new 
expnum str_to_numamount );

    
PlayerXP[player][PlayerClass[player]] += expnum;

    switch( 
get_cvar_num "amx_show_activity" ) ) 
    {
        case 
1client_print0print_chat"ADMIN: gave %i points for %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMIN %s: gave %i points for %s."admin_nameexpnumplayer_name );
    }

    
client_printplayerprint_chat"[%s] You received %i points. (Total: %d)"PREFIXexpnumPlayerXP[player][PlayerClass[player]] );
    
SaveDataid );

    return 
PLUGIN_CONTINUE;
}
 
public 
cmd_take_expidlevel,cid ) {
    if( ! 
cmd_access idlevelcid) )
       return 
PLUGIN_HANDLED;

    new 
target[32], amount[21], reason[21];

    
read_argv1target31 );
    
read_argv2amount20 );
    
read_argv3reason20 );

    new 
player cmd_targetidtarget);

    if( ! 
player 
       return 
PLUGIN_HANDLED;

    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );

    new 
expnum str_to_numamount );

    
PlayerXP[player][PlayerClass[player]] -= expnum;

    switch(
get_cvar_num("amx_show_activity"))
    {
        case 
1client_print0print_chat"ADMIN: took %i points from %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMIN %s: took %i points from %s."admin_nameexpnumplayer_name );
    }

    
client_printplayerprint_chat"%s You lost %i points. (Total: %d)"PREFIXexpnumPlayerXP[player][PlayerClass[player]] );
    
SaveDataid );

    return 
PLUGIN_CONTINUE;
}  
public 
skill(id)
{
    if(!
is_user_alive(id))
    
        
        if (
PlayerClass[id] == CLASS_Paladins)
        {
    

        switch(
PlayerLevel[id][CLASS_Paladins])
        {
            case 
1
            {
                
//Level 1 and 2
                
set_user_health(id100)
            
            }
        }
    }
    
    
    
}
//To activate the teleport
public ActivateTeleport(id)
{
    if(!
is_user_alive(id))

    if (
PlayerClass[id] == CLASS_Jumper && PlayerLevel[id][CLASS_Jumper] >= 4
    {     
        if (
get_gametime() - g_lastusetime[id] < get_pcvar_float(pcv_teleport_cooldown))
        {
            
set_hudmessage(00255, -1.0, -1.0)
            
show_hudmessage(id"You Must Wait");
            
client_cmd(id"spk jumper/error.wav")
        
            return 
0;
        }

            
        new 
OldLocation[3], NewLocation[3];
        
        
get_user_origin(idOldLocation);
        
        
get_user_origin(idNewLocation3);
        
        new 
UserOrigin[3];
        
get_user_origin(idUserOrigin);
        
        new 
BubbleOrigin[3];
        
BubbleOrigin[0] = UserOrigin[0];
        
BubbleOrigin[1] = UserOrigin[1];
        
BubbleOrigin[2] = UserOrigin[2] + 40;
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
        
write_byte(TE_SPRITETRAIL); // TE ID
        
write_coord(BubbleOrigin[0]); // Start Position X
        
write_coord(BubbleOrigin[1]); // Start Position Y
        
write_coord(BubbleOrigin[2]); // Start Position Z
        
write_coord(UserOrigin[0]); // End Position X
        
write_coord(UserOrigin[1]); // End Position Y
        
write_coord(UserOrigin[2]); // End Position Z
        
write_short(BubbleSprite); // Sprite Index
        
write_byte(30); // Count
        
write_byte(10); // Life
        
write_byte(1); // Scale
        
write_byte(50); // Velocity Along Vector
        
write_byte(10); // Rendomness of Velocity
        
message_end();

        
teleport_counter++;
        
client_cmd(id,"spk jumper/jump.wav");
        
        
NewLocation[0] += ((NewLocation[0] - OldLocation[0] > 0) ? -50 50);
        
NewLocation[1] += ((NewLocation[1] - OldLocation[1] > 0) ? -50 50);
        
NewLocation[2] += 40;
        
        
set_user_origin(idNewLocation);
        
        
g_lastusetime[id] = get_gametime();
    }
    
    return 
PLUGIN_CONTINUE;



2reason2kill 06-11-2011 04:43

Re: [Help]Why does the xp goes with everyclass?
 
Quote:

Originally Posted by Exolent[jNr] (Post 1485581)
PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <engine>

#define MAXCLASSES 3
#define PREFIX "[ Jumper-Mod]"

enum {
    
PLAYERLEVEL_1,
    
PLAYERLEVEL_2,
    
PLAYERLEVEL_3,
    
PLAYERLEVEL_4,
    
PLAYERLEVEL_5,
    
PLAYERLEVEL_6,
    
PLAYERLEVEL_7,
    
PLAYERLEVEL_8,
    
PLAYERLEVEL_9,
    
PLAYERLEVEL_10,
    
PLAYERLEVEL_11,
    
PLAYERLEVEL_12,
    
PLAYERLEVEL_13,
    
PLAYERLEVEL_14,
    
PLAYERLEVEL_15,
    
PLAYERLEVEL_16,
    
PLAYERLEVEL_17
    
}
enum {
    
CLASS_none 0,
    
CLASS_Jumper,
    
CLASS_Paladins
}


new 
teleport_counter;
new 
Float:g_lastusetime[33];

new 
pcv_teleport_cooldown;

new 
BubbleSprite;
new 
bool:g_bHasSuperKnife[33];
new 
bool:g_bHasSuperSpeed[33];

new 
g_iMaxPlayers;

new 
g_pCvarCostSuperCut,
    
g_pCvarCostLowGrav,
    
g_pCvarQuantityLowGrav,
    
g_pCvarCostSpeed,
    
g_pCvarQuantitySpeed,
    
g_pCvarQuantityHealthCT,
    
g_pCvarCostHealthCT,
    
g_pCvarCostHE,
    
g_pCvarQuantityHealthT1,
    
g_pCvarCostHealthT1,
    
g_pCvarQuantityHealthT2,
    
g_pCvarCostHealthT2,
    
g_pCvarCostInvisinsibilite,
    
g_pCvarTimeInvisinsibilite;


new const 
CLASSES[MAXCLASSES][] = {
    
"none",
    
"Jumper",
    
"Paladins"
};

new const 
LEVELS[17] = {
    
0
    
200
    
400
    
800,
    
1600,
    
3200,
    
5400,
    
6400,
    
7950,
    
10000,
    
15000,
    
18008,
    
23548,
    
25055,
    
30000,
    
40050,
    
60005

};

new 
PlayerXP[33][MAXCLASSES], PlayerLevel[33][MAXCLASSES], PlayerClass[33];
new 
gCvar_KillgCvar_KnifegCvar_HSgCvar_Enableg_Vault;
new 
bool:NewClass[33];


public 
plugin_init() {
    
register_plugin("Jumper mod""1.0""2Reason2Kill");
    
    
RegisterHam(Ham_Spawn"player""fwdPlayerSpawn"1);

    
register_event("DeathMsg""eDeath""a");
    
register_event("ResetHUD""skill""be"); 

    
gCvar_Enable    register_cvar("xp_save""1");
    
gCvar_Kill    register_cvar("xp_per_kill""20");
    
gCvar_HS    register_cvar("xp_hs_bonus""20");
    
gCvar_Knife    register_cvar("xp_Knife_bonus""20");
    
g_Vault        nvault_open("Jumper-Mod");
    
    
   
    
    
pcv_teleport_cooldown register_cvar("xp_teleport_cooldown""10");
    
    
register_concmd("amx_take_exp""cmd_take_exp"ADMIN_KICK"<target> <amount>"); 
    
register_concmd("amx_give_exp""cmd_give_exp"ADMIN_KICK"<target> <amount>");
    
    
register_clcmd("say Changeclass",    "ChangeClass");
    
register_clcmd("say_team Changeclass""ChangeClass");
    
register_clcmd("say xp",    "ShowHud");
    
register_clcmd("say_team /xp",    "ShowHud");
    
register_clcmd("say class",    "ChangeClass");
    
register_clcmd("say_team /class""ChangeClass");
    
register_clcmd("say exp",    "ShowHud");
    
register_clcmd("say_team /exp",    "ShowHud");
    
register_clcmd("jump""ActivateTeleport");
    
register_event("CurWeapon""event_curweap on""be""1=1");
    
register_clcmd("/help""Help");
    
register_message(get_user_msgid("ShowMenu"), "message_show_menu")
    
register_message(get_user_msgid("VGUIMenu"), "message_vgui_menu")
    
register_logevent("Event_RoundStart"2"1=Round_Start");
    
register_message(get_user_msgid("TextMsg") ,"message_TextMsg")
    
register_clcmd("/jmshop","Shop")
    
g_pCvarCostSuperCut register_cvar("shopbb_supercut""10000");
    
g_pCvarCostLowGrav register_cvar("shopbb_grav""8000");
    
g_pCvarQuantityLowGrav register_cvar("shopbb_quant_grav""0.150");
    
g_pCvarCostSpeed register_cvar("shopbb_speed""8000");
    
g_pCvarQuantitySpeed register_cvar("shopbb_quantity_speed""400.0");
    
    
// Cvars CT
    
g_pCvarQuantityHealthCT register_cvar("shopbb_vie_ct""150");
    
g_pCvarCostHealthCT register_cvar("shopbb_prix_vie_ct""5000");
    
g_pCvarCostHE register_cvar("shopbb_he""2500");
    
    
// Cvars T
    
g_pCvarQuantityHealthT1 register_cvar("shopbb_health_t1""2000");
    
g_pCvarCostHealthT1 register_cvar("shopbb_prix_health_t1""8000");
    
g_pCvarQuantityHealthT2 register_cvar("shopbb_health_t2""5000");
    
g_pCvarCostHealthT2 register_cvar("shopbb_prix_health_t2""16000");
    
g_pCvarCostInvisinsibilite register_cvar("shopbb_invins""10000");
    
g_pCvarTimeInvisinsibilite register_cvar("shopbb_time_invins""5.0");
    
    
}



    

public 
plugin_precache()
{
    
precache_sound("jumper/jump.wav");
    
precache_sound("jumper/levelupcaster.wav");
    
precache_sound("jumper/error.wav");
    
    
BubbleSprite precache_model("sprites/blueflare2.spr");
}



public 
fwdPlayerSpawn(id)
{
    if(
NewClass[id])
    {
        
ShowMenu(id);
    }
    else
    {
        
ShowHud(id);
        
skill(id);
    }
}

public 
Help(id)
{
    
show_motd(id"Help.txt" "How To Play?");
}


public 
eDeath()
{
    new 
attacker read_data);
    new 
headshot read_data);
    new 
clipammoweapon get_user_weapon(attackerclipammo);

    
PlayerXP[attacker][PlayerClass[attacker]] += get_pcvar_num(gCvar_Kill);

    if(
headshot)
        
PlayerXP[attacker][PlayerClass[attacker]] += get_pcvar_num(gCvar_HS);

    if(
weapon == CSW_KNIFE)
        
PlayerXP[attacker][PlayerClass[attacker]] += get_pcvar_num(gCvar_Knife);

    
ShowHud(attacker);
    
SaveData(attacker);
    
    
CheckLevel(attacker);
}

public 
CheckLevel(id)
{
    while(
PlayerXP[id][PlayerClass[id]] >= LEVELS[PlayerLevel[id][PlayerClass[id]]])
    {
        
PlayerLevel[id][PlayerClass[id]] += 1;
        if(
PlayerLevel[id][PlayerClass[id]] != 1)
        {
            
client_printidprint_chat"%s Congratulations! You are a level %i %s!"PREFIXPlayerLevel[id][PlayerClass[id]], CLASSES[PlayerClass[id]]);
            
client_cmd(id"spk jumper/levelupcaster.wav")
        }
    }
    
    
ShowHud(id);
}



public 
ShowHud(id)
{
    
set_hudmessage(255000.750.0106.015.0);
    
show_hudmessage(id"Level: %i^nXP: %i^nClass: %s"PlayerLevel[id][PlayerClass[id]], PlayerXP[id][PlayerClass[id]], CLASSES[PlayerClass[id]]);
}

public 
ChangeClass(id)
{
    if(
is_user_alive(id))
    {
        
NewClass[id] = true;
        
client_printidprint_chat"%s You can choose a new class upon spawn."PREFIX);
    }
    else
    {
        
ShowMenu(id);
    }

    return 
PLUGIN_CONTINUE;
}

public 
ShowMenu(id)
{
    new 
menu menu_create("What side do u chose?" "Class_Handle");
    
menu_additem(menu ,"jumper""1"0);
    
menu_additem(menu ,"Paladins""2"0);
    
menu_setprop(menu MPROP_EXIT MEXIT_ALL);
    
menu_display(id menu 0);

    return 
PLUGIN_CONTINUE;
}

public 
message_TextMsg( const MsgId, const MsgDest, const MsgEntity )
{    
    static 
message[32]
    
get_msg_arg_string(2messagecharsmax(message))
        
    if(
equal(message"#Terrorists_Win"))
    {
        
set_hudmessage20000, -1.00.4043.08.00.00.010);
        
show_hudmessage(0"The Jumpers Survival!")  
    }
    else if(
equal(message"#CTs_Win"))
    {
        
set_hudmessage00200, -1.00.4043.08.00.00.010);
        
show_hudmessage(0"The Paladins Killed Every Jumper!"
    }
}

public 
Class_Handle(id menu item)  {
    if(
item == MENU_EXIT
        
menu_destroy(menu);

    new 
szCommand[6] , szName[64];
    new 
access callback;

    
menu_item_getinfo(menu item access szCommand szName 63 callback);

    new 
str_to_num(szCommand);
    if(
PlayerClass[id] != i
    {
        
PlayerClass[id] = i;
    
        
client_printidprint_chat"%s You are now a %s"PREFIXCLASSES[i]);
    

    } 
    else
    {
        
client_printidprint_chat"%s You are already a %s"PREFIXCLASSES[i]);
    }
    
    
ShowHud(id);
    
CheckLevel(id);
    
NewClass[id] = false;
    
menu_destroy(menu);
    return 
PLUGIN_CONTINUE;
}

public 
Shop(id)

    if ( 
is_user_alive(id) )
    {
        new 
Text[64];
        
        if(
cs_get_user_team(id) == CS_TEAM_T)
        {
            new 
menu1 menu_create("\y[\rJumpers Shop\y]""jumperShop");
            
formatex(Textcharsmax(Text), "\wVitesse \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSpeed));
            
menu_additem(menu1Text"0");
            
formatex(Textcharsmax(Text), "\wGravity \y[\r%d $\y]"get_pcvar_num(g_pCvarCostLowGrav));
            
menu_additem(menu1Text"1");
            
formatex(Textcharsmax(Text), "\wSuper Cut \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSuperCut));
            
menu_additem(menu1Text"2");
            
formatex(Textcharsmax(Text), "\w+%d HP \y[\r%d $\y]"get_pcvar_num(g_pCvarQuantityHealthT1), get_pcvar_num(g_pCvarCostHealthT1));
            
menu_additem(menu1Text"3");
            
formatex(Textcharsmax(Text), "\w+%d HP \y[\r%d $\y]"get_pcvar_num(g_pCvarQuantityHealthT2), get_pcvar_num(g_pCvarCostHealthT2));
            
menu_additem(menu1Text"4");
            
formatex(Textcharsmax(Text), "\wInvincible \y[\r%d $\y]"get_pcvar_num(g_pCvarCostInvisinsibilite));
            
menu_additem(menu1Text"5");

            
menu_setprop(menu1MPROP_EXITNAME"Quitter");

            
menu_display(idmenu1);
        }
        
        else if(
cs_get_user_team(id) == CS_TEAM_CT)
        
        {
            new 
menu2 menu_create ("\y[\rPaladins\y]""PaladinsShop");    
            
formatex(Textcharsmax(Text), "\wSuper Cut \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSuperCut));
            
menu_additem(menu2Text"1");
            
formatex(Textcharsmax(Text), "\wVitesse \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSpeed));
            
menu_additem(menu2Text"2");
            
formatex(Textcharsmax(Text), "\wGravity \y[\r%d $\y]"get_pcvar_num(g_pCvarCostLowGrav));
            
menu_additem(menu2Text"3");
            
formatex(Textcharsmax(Text), "\w+%d HP \y[\r%d $\y]"get_pcvar_num(g_pCvarQuantityHealthCT), get_pcvar_num(g_pCvarCostHealthCT));
            
menu_additem(menu2Text"4");
            
formatex(Textcharsmax(Text), "\wGrenade \y[\r%d $\y]"get_pcvar_num(g_pCvarCostHE));
            
menu_additem(menu2Text"5");
                   
menu_setprop(menu2MPROP_EXITNAME"Quitter")
                   
menu_setprop(menu2MPROP_EXITMEXIT_ALL)
               
menu_display(idmenu2)
    }
    }
    else
    {
    
client_print(idprint_chat"You must be alive for buy !")
    }
}
public 
client_connect(id)
{
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
LoadData(id);
        
    
NewClass[id] = true;
}



public 
client_disconnect(id)
{
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
SaveData(id);

    
arrayset(PlayerXP[id], 0MAXCLASSES)
    
arrayset(PlayerLevel[id], 0MAXCLASSES)
    
PlayerClass[id]    = 0;
}

public 
SaveData(id) {
    new 
AuthID[35];
    
get_user_authid(idAuthID34);
    
    new 
vaultkey[64], vaultdata[256], len;
    
format(vaultkey63"%s-Mod"AuthID);
    for(new 
0MAXCLASSESi++)
    {
        
len += formatex(vaultdata255"%i#%i#"PlayerXP[id][i], PlayerLevel[id][i]);
    }
    
nvault_set(g_Vaultvaultkeyvaultdata);
    return 
PLUGIN_CONTINUE;
}

public 
LoadData(id) {
    new 
AuthID[35];
    
get_user_authid(id,AuthID,34);
    
    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
nvault_get(g_Vaultvaultkeyvaultdata,255);

    
replace_all(vaultdata255"#"" ");

    new 
playerxp[32], playerlevel[32];
    
    for(new 
0MAXCLASSESi++)
    {
        
strbreak(vaultdataplayerxp31vaultdata255);
        
strbreak(vaultdataplayerlevel31vaultdata255);
        
        
PlayerXP[id][i] = str_to_num(playerxp);
        
PlayerLevel[id][i] = str_to_num(playerlevel);
    }

    return 
PLUGIN_CONTINUE;
}

// Give/Take XP addaon by [X]-RayCat
public cmd_give_expidlevel,cid ) {
    if( ! 
cmd_access idlevelcid) )
        return 
PLUGIN_HANDLED;

    new 
target[32], amount[21], reason[21];

    
read_argv1target31 );
    
read_argv(2amount20 );
    
read_argv3reason20 );

    new 
player cmd_targetidtarget);

    if( ! 
player 
        return 
PLUGIN_HANDLED;

    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );

    new 
expnum str_to_numamount );

    
PlayerXP[player][PlayerClass[player]] += expnum;

    switch( 
get_cvar_num "amx_show_activity" ) ) 
    {
        case 
1client_print0print_chat"ADMIN: gave %i points for %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMIN %s: gave %i points for %s."admin_nameexpnumplayer_name );
    }

    
client_printplayerprint_chat"[%s] You received %i points. (Total: %d)"PREFIXexpnumPlayerXP[player][PlayerClass[player]] );
    
SaveDataid );

    return 
PLUGIN_CONTINUE;
}
 
public 
cmd_take_expidlevel,cid ) {
    if( ! 
cmd_access idlevelcid) )
       return 
PLUGIN_HANDLED;

    new 
target[32], amount[21], reason[21];

    
read_argv1target31 );
    
read_argv2amount20 );
    
read_argv3reason20 );

    new 
player cmd_targetidtarget);

    if( ! 
player 
       return 
PLUGIN_HANDLED;

    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );

    new 
expnum str_to_numamount );

    
PlayerXP[player][PlayerClass[player]] -= expnum;

    switch(
get_cvar_num("amx_show_activity"))
    {
        case 
1client_print0print_chat"ADMIN: took %i points from %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMIN %s: took %i points from %s."admin_nameexpnumplayer_name );
    }

    
client_printplayerprint_chat"%s You lost %i points. (Total: %d)"PREFIXexpnumPlayerXP[player][PlayerClass[player]] );
    
SaveDataid );

    return 
PLUGIN_CONTINUE;
}  
public 
skill(id)
{
    if(!
is_user_alive(id))
    
        
        if (
PlayerClass[id] == CLASS_Paladins)
        {
    

        switch(
PlayerLevel[id][CLASS_Paladins])
        {
            case 
1
            {
                
//Level 1 and 2
                
set_user_health(id100)
            
            }
        }
    }
    
    
    
}
//To activate the teleport
public ActivateTeleport(id)
{
    if(!
is_user_alive(id))

    if (
PlayerClass[id] == CLASS_Jumper && PlayerLevel[id][CLASS_Jumper] >= 4
    {     
        if (
get_gametime() - g_lastusetime[id] < get_pcvar_float(pcv_teleport_cooldown))
        {
            
set_hudmessage(00255, -1.0, -1.0)
            
show_hudmessage(id"You Must Wait");
            
client_cmd(id"spk jumper/error.wav")
        
            return 
0;
        }

            
        new 
OldLocation[3], NewLocation[3];
        
        
get_user_origin(idOldLocation);
        
        
get_user_origin(idNewLocation3);
        
        new 
UserOrigin[3];
        
get_user_origin(idUserOrigin);
        
        new 
BubbleOrigin[3];
        
BubbleOrigin[0] = UserOrigin[0];
        
BubbleOrigin[1] = UserOrigin[1];
        
BubbleOrigin[2] = UserOrigin[2] + 40;
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
        
write_byte(TE_SPRITETRAIL); // TE ID
        
write_coord(BubbleOrigin[0]); // Start Position X
        
write_coord(BubbleOrigin[1]); // Start Position Y
        
write_coord(BubbleOrigin[2]); // Start Position Z
        
write_coord(UserOrigin[0]); // End Position X
        
write_coord(UserOrigin[1]); // End Position Y
        
write_coord(UserOrigin[2]); // End Position Z
        
write_short(BubbleSprite); // Sprite Index
        
write_byte(30); // Count
        
write_byte(10); // Life
        
write_byte(1); // Scale
        
write_byte(50); // Velocity Along Vector
        
write_byte(10); // Rendomness of Velocity
        
message_end();

        
teleport_counter++;
        
client_cmd(id,"spk jumper/jump.wav");
        
        
NewLocation[0] += ((NewLocation[0] - OldLocation[0] > 0) ? -50 50);
        
NewLocation[1] += ((NewLocation[1] - OldLocation[1] > 0) ? -50 50);
        
NewLocation[2] += 40;
        
        
set_user_origin(idNewLocation);
        
        
g_lastusetime[id] = get_gametime();
    }
    
    return 
PLUGIN_CONTINUE;



Thnx, But can u tell me what u did change?

I want 2 learn =)

Exolent[jNr] 06-11-2011 04:58

Re: [Help]Why does the xp goes with everyclass?
 
PHP Code:

new PlayerXP[33][MAXCLASSES], PlayerLevel[33][MAXCLASSES

Added so that the "xp" and "level" variables are also indexed by a class number.
This separates the "xp" and "level" from each class.

After changing that, I had to change all other lines that used those 2 variables.
Also, the save/load is different since there is more data to save/load.

2reason2kill 06-11-2011 15:12

Re: [Help]Why does the xp goes with everyclass?
 
Quote:

Originally Posted by Exolent[jNr] (Post 1485608)
PHP Code:

new PlayerXP[33][MAXCLASSES], PlayerLevel[33][MAXCLASSES

Added so that the "xp" and "level" variables are also indexed by a class number.
This separates the "xp" and "level" from each class.

After changing that, I had to change all other lines that used those 2 variables.
Also, the save/load is different since there is more data to save/load.

Wow Thank u, well explained


i tested but i dont know why i cant teleport now....

Exolent[jNr] 06-11-2011 16:32

Re: [Help]Why does the xp goes with everyclass?
 
Because you only allow the player to teleport if he is dead.
See the first line in the function: !is_user_alive(id)

2reason2kill 06-11-2011 16:57

Re: [Help]Why does the xp goes with everyclass?
 
Quote:

Originally Posted by Exolent[jNr] (Post 1485954)
Because you only allow the player to teleport if he is dead.
See the first line in the function: !is_user_alive(id)

so ! means OPPOSITE?

And why doesnt the exp save?

nikhilgupta345 06-11-2011 17:06

Re: [Help]Why does the xp goes with everyclass?
 
Here's just one problem I can see.

PHP Code:

len += formatex(vaultdata255"%i#%i#"PlayerXP[id][i], PlayerLevel[id][i]); 

->

PHP Code:

len += formatex(vaultdata255 len"%i#%i#"PlayerXP[id][i], PlayerLevel[id][i]); 


2reason2kill 06-11-2011 17:20

Re: [Help]Why does the xp goes with everyclass?
 
Quote:

Originally Posted by nikhilgupta345 (Post 1485985)
Here's just one problem I can see.

PHP Code:

len += formatex(vaultdata255"%i#%i#"PlayerXP[id][i], PlayerLevel[id][i]); 

->

PHP Code:

len += formatex(vaultdata255 len"%i#%i#"PlayerXP[id][i], PlayerLevel[id][i]); 


it didnt work :/

Exolent[jNr] 06-11-2011 17:46

Re: [Help]Why does the xp goes with everyclass?
 
Yeah, it should be this:
PHP Code:

len += formatex(vaultdata[len], 255 len"%i#%i#"PlayerXP[id][i], PlayerLevel[id][i]); 



All times are GMT -4. The time now is 23:35.

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