Raised This Month: $ Target: $400
 0% 

[Help]Why does the xp goes with everyclass?


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
2reason2kill
Senior Member
Join Date: Feb 2011
Old 06-11-2011 , 04:05   [Help]Why does the xp goes with everyclass?
Reply With Quote #1

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;

2reason2kill is offline
 



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 23:35.


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