Im having a problem with this plugin and I really want it to work. Atm, its supposed to save a players xp, but it wont. The xp is what runs this entire plugin. Why isn't it calculating? Heres my code:
Code:
////////////////////
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
////////////////////
new XP[33] = 0
new UserKills[33] = 0
new Kills[33] = 0
new bool:nFsteps[33] = false
new bool:pInvis[33] = false
new bool:XtraHP[33] = false
new bool:AllowMenu[33] = false
////////////////////
public plugin_init()
{
register_plugin("Levels","0.1","Knekter")
register_clcmd("say /xp","show_xp",0,": shows a player his xp")
register_logevent("StartRound",2,"1=Round_Start")
register_menucmd(register_menuid("Class Menu"),1023,"actionMenu")
register_clcmd("say /class","showMenu",0,": shows class menu")
}
////////////////////
public StartRound()
{
client_print(0,print_chat,"[AMXX] Calculating everyones XP...")
new players[32], numberofplayers, i, cur_id
get_players(players,numberofplayers)
for (i=0;i<numberofplayers;i++)
{
cur_id = players[i]
UserKills[cur_id] = get_user_frags(cur_id)
Kills[cur_id] = (UserKills[cur_id] * 10)
new name[33]
get_user_name(cur_id,name,33)
if(XP[cur_id] > 50)
{
set_user_health(cur_id,110)
set_user_armor(cur_id,110)
set_user_gravity(cur_id,0.9)
client_print(cur_id,print_chat,"[AMXX] %s is lvl 1",name)
return PLUGIN_CONTINUE
}
else if(XP[cur_id] > 100)
{
set_user_health(cur_id,120)
set_user_armor(cur_id,120)
set_user_gravity(cur_id,0.8)
client_print(cur_id,print_chat,"[AMXX] %s is lvl 2",name)
return PLUGIN_CONTINUE
}
else if(XP[cur_id] > 200)
{
set_user_health(cur_id,130)
set_user_armor(cur_id,130)
set_user_gravity(cur_id,0.7)
client_print(cur_id,print_chat,"[AMXX] %s is lvl 3",name)
return PLUGIN_CONTINUE
}
else if(XP[cur_id] > 400)
{
set_user_health(cur_id,140)
set_user_armor(cur_id,140)
set_user_gravity(cur_id,0.6)
client_print(cur_id,print_chat,"[AMXX] %s is lvl 4",name)
return PLUGIN_CONTINUE
}
else if(XP[cur_id] > 800)
{
set_user_health(cur_id,150)
set_user_armor(cur_id,150)
set_user_gravity(cur_id,0.5)
client_print(cur_id,print_chat,"[AMXX] %s is lvl 5",name)
return PLUGIN_CONTINUE
}
else if(XP[cur_id] > 1600)
{
client_print(cur_id,print_chat,"[AMXX] Say /class to see the menu")
AllowMenu[cur_id] = true
return PLUGIN_CONTINUE
}
if(nFsteps[cur_id] == true)
{
set_user_footsteps(cur_id,0)
return PLUGIN_CONTINUE
}
if(XtraHP[cur_id] == true)
{
set_user_health(cur_id,200)
return PLUGIN_CONTINUE
}
if(pInvis[cur_id] == true)
{
set_user_rendering(cur_id,kRenderFxNone,0,0,0,kRenderTransAlpha,50)
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
return PLUGIN_HANDLED
}
public show_xp(id)
{
client_print(id,print_chat,"[AMXX] You have %i XP",XP[id])
return PLUGIN_HANDLED
}
public actionMenu(id,key)
{
switch(key)
{
case 0:
{
if(pInvis[id] == true || XtraHP[id] == true)
{
client_print(id,print_chat,"[AMXX] You already have another class")
return PLUGIN_HANDLED
}
nFsteps[id] = true
}
case 1:
{
if(nFsteps[id] == true || XtraHP[id] == true)
{
client_print(id,print_chat,"[AMXX] You already have another class")
return PLUGIN_HANDLED
}
pInvis[id] = true
}
case 2:
{
if(pInvis[id] == true || nFsteps[id] == true)
{
client_print(id,print_chat,"[AMXX] You already have another class")
return PLUGIN_HANDLED
}
XtraHP[id] = true
}
}
return PLUGIN_HANDLED
}
public showMenu(id)
{
if(AllowMenu[id] == false)
{
client_print(id,print_chat,"[AMXX] You need more XP to use this menu")
return PLUGIN_HANDLED
}
new menuBody[512]
new len = format(menuBody,511,"\yClass Menu\R^n^n\w")
len += format(menuBody[len],511-len,"1. No Footsteps^n2. Partial Invis^n3. Extra Health^n^n0. Exit")
show_menu(id,((1<<0)|(1<<1)|(1<<2)|(1<<9)),menuBody)
return PLUGIN_HANDLED
}