PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <colorchat>
new const levelup[] = { "misc/levelup.wav" }
new const RANKS[20][] = {
"First", // 0 Level
"First", // 1 Level
"First", // 2 Level
"Super Natural", // 3 Level
"Super Natural", // 4 Level
"Super Natural", // 5 Level
"Tank", // 6 Level
"Tank", // 7 Level
"Tank", // 8 Level
"Posion", // 9 Level
"Posion", // 10 Level
"Posion", // 11 Level
"Runner", // 12 Level
"Runner", // 13 Level
"Runner", // 14 Level
"Hiper Electro", // 15 Level
"Hiper Electro", // 16 Level
"Hiper Electro", // 17 Level
"Mystic Jumper", // 18 Level
"Mystic Jumper" // 19 Level
}
new const LEVELS[20] = {
100,
300,
600,
1000,
1500,
2100,
2800,
3600,
4500,
5500,
6600,
7800,
9100,
10500,
12000,
13600,
15400,
17300,
19300,
21400
}
new PlayerXP[33],PlayerLevel[33],PlayerRank[33]
new XP_Kill,SaveXP
public plugin_precache()
register_forward(FM_Spawn, "fwdSpawn");
public plugin_init()
{
register_plugin("Mystic-XP", "1.0", "xFrost");
register_event("DeathMsg", "event_deathmsg", "a");
TeamInfo = get_user_msgid("TeamInfo");
SayText = get_user_msgid("SayText");
RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1);
SaveXP = register_cvar("SaveXP","1")
XP_Kill=register_cvar("XP_per_kill", "10")
register_clcmd("say level", "ShowLevel")
register_clcmd("say_team level", "ShowLevel")
}
public event_deathmsg()
{
new attacker = read_data( 1 )
new headshot = read_data( 3 )
new clip, ammo, weapon = get_user_weapon(attacker,clip,ammo);
while(PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]])
{
ColorChat(0, GREEN, "[^x01Mystic-XP^x03]^x01 Congratulations!^x04 You are a level^x01 %i!^x03",PlayerLevel[attacker]);
PlayerLevel[attacker] += 0
}
ShowLevel(attacker)
SaveData(attacker)
}
public ShowLevel(id)
{
ColorChat(0, GREEN, "^x03Level ^x04- ^x01[ ^x03%i ^x04/ ^x03 19 ^x01] ^x03XP ^x04- ^x01[ ^x03%i ^x01] ^x03Rank ^x04- ^x01[ ^x03%s ^x01]",PlayerLevel[id],PlayerXP[id],RANKS[PlayerRank[id]]);
return PLUGIN_HANDLED;
}
PlayerXP[attacker] += get_pcvar_num(XP_Kill)
set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)
show_hudmessage(0, "+%d XP For Kill", get_pcvar_num(XP_Kill))
}
public client_connect(id)
{
if(get_pcvar_num(SaveXP) == 1)
{
LoadData(id)
}
}
public client_disconnect(id)
{
if(get_pcvar_num(SaveXP) == 1)
{
SaveData(id)
}
PlayerXP[id] = 0
PlayerLevel[id] = 0
PlayerRank[id] = 0
}
public SaveData(id)
{
new AuthID[35]
get_user_authid(id,AuthID,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-Mod",AuthID)
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
return PLUGIN_CONTINUE
}
public LoadData(id)
{
new AuthID[35]
get_user_authid(id,AuthID,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-Mod",AuthID)
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
replace_all(vaultdata, 255, "#", " ")
new playerxp[32], playerlevel[32]
parse(vaultdata, playerxp, 31, playerlevel, 31)
PlayerXP[id] = str_to_num(playerxp)
PlayerLevel[id] = str_to_num(playerlevel)
return PLUGIN_CONTINUE
}
public fwdSpawn(iEnt)
{
static s_szClassName[32];
pev(iEnt, pev_classname, s_szClassName, 31);
if (equal(s_szClassName, "func_buyzone"))
return FMRES_SUPERCEDE;
return FMRES_IGNORED;
}
public fw_PlayerSpawn_Post(id)
{
if (!is_user_alive(id))
return
switch (PlayerLevel[id])
{
case 0:
{
give_item (id, "weapon_glock18")
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
}
case 1:
{
give_item (id, "weapon_usp");
give_item( id, "ammo_45acp")
give_item( id, "ammo_45acp")
give_item( id, "ammo_45acp")
give_item( id, "ammo_45acp")
give_item( id, "ammo_45acp")
give_item(id, "weapon_smokegrenade")
}
case 2:
{
give_item (id, "weapon_p228");
give_item( id, "ammo_350sig")
give_item( id, "ammo_350sig")
give_item( id, "ammo_350sig")
give_item( id, "ammo_350sig")
give_item( id, "ammo_350sig")
give_item(id, "weapon_smokegrenade")
}
case 3:
{
give_item (id, "weapon_fiveseven");
give_item( id, "ammo_57mm")
give_item( id, "ammo_57mm")
give_item( id, "ammo_57mm")
give_item( id, "ammo_57mm")
give_item( id, "ammo_57mm")
give_item(id, "weapon_smokegrenade")
}
case 4:
{
give_item (id, "weapon_deagle");
give_item( id, "ammo_50ae")
give_item( id, "ammo_50ae")
give_item( id, "ammo_50ae")
give_item( id, "ammo_50ae")
give_item( id, "ammo_50ae")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
}
case 5:
{
give_item (id, "weapon_elite");
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item(id, "weapon_hegrenade")
}
case 6:
{
give_item (id, "weapon_tmp");
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item(id, "weapon_smokegrenade")
}
case 7:
{
give_item (id, "weapon_mac10");
give_item( id, "ammo_45acp")
give_item( id, "ammo_45acp")
give_item( id, "ammo_45acp")
give_item( id, "ammo_45acp")
give_item( id, "ammo_45acp")
give_item(id, "weapon_smokegrenade")
}
case 8:
{
give_item (id, "weapon_ump45");
give_item( id, "ammo_45acp")
give_item( id, "ammo_45acp")
give_item( id, "ammo_45acp")
give_item( id, "ammo_45acp")
give_item( id, "ammo_45acp")
give_item(id, "weapon_smokegrenade")
}
case 9:
{
give_item (id, "weapon_mp5navy");
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item( id, "ammo_9mm")
give_item(id, "weapon_smokegrenade")
}
case 10:
{
give_item (id, "weapon_p90");
give_item( id, "ammo_57mm")
give_item( id, "ammo_57mm")
give_item( id, "ammo_57mm")
give_item( id, "ammo_57mm")
give_item( id, "ammo_57mm")
give_item(id, "weapon_smokegrenade")
}
case 11:
{
give_item (id, "weapon_famas");
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item(id, "weapon_hegrenade")
}
case 12:
{
give_item (id, "weapon_galil");
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item(id, "weapon_smokegrenade")
}
case 13:
{
give_item (id, "weapon_m3");
give_item( id, "ammo_buckshot")
give_item( id, "ammo_buckshot")
give_item( id, "ammo_buckshot")
give_item( id, "ammo_buckshot")
give_item( id, "ammo_buckshot")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
}
case 14:
{
give_item (id, "weapon_ak47");
give_item( id, "ammo_762nato")
give_item( id, "ammo_762nato")
give_item( id, "ammo_762nato")
give_item( id, "ammo_762nato")
give_item( id, "ammo_762nato")
give_item(id, "weapon_smokegrenade")
}
case 15:
{
give_item (id, "weapon_m4a1");
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item(id, "weapon_smokegrenade")
}
case 16:
{
give_item (id, "weapon_sg550");
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item(id, "weapon_smokegrenade")
}
case 17:
{
give_item (id, "weapon_g3sg1");
give_item( id, "ammo_762nato")
give_item( id, "ammo_762nato")
give_item( id, "ammo_762nato")
give_item( id, "ammo_762nato")
give_item( id, "ammo_762nato")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_smokegrenade")
}
case 18:
{
give_item (id, "weapon_sg552");
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item( id, "ammo_556nato")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
}
case 19:
{
give_item (id, "weapon_m249");
give_item( id, "ammo_556natobox")
give_item( id, "ammo_556natobox")
give_item( id, "ammo_556natobox")
give_item( id, "ammo_556natobox")
give_item( id, "ammo_556natobox")
give_item(id, "weapon_smokegrenade")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
}
}
}