I run a listen server at my hosue for fun, when my friends want to play cs. I made a plugin, that gives you xp, but, for some reason it only gives it to me, the server machine. When my friend uses it on his server, only he gets the xp. 'the machine' Is this always like this for listen servers?
Code:
////////////////////
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
////////////////////
new XP[33] = 0
new UserKills[33] = 0
new Kills[33] = 0
new LVL[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_clcmd("say /drop","drop_class",0,": will drop a players class")
register_clcmd("say /class","showMenu",0,": shows class menu")
register_menucmd(register_menuid("Class Menu"),1023,"actionMenu")
register_logevent("StartRound",2,"1=Round_Start")
}
////////////////////
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)
XP[cur_id] = Kills[cur_id]
new name[33]
get_user_name(cur_id,name,33)
if(XP[cur_id] >= 50 && LVL[cur_id] <= 1)
{
set_user_health(cur_id,110)
set_user_armor(cur_id,110)
set_user_gravity(cur_id,0.9)
LVL[cur_id] = 1
client_print(0,print_chat,"[AMXX] %s is lvl 1",name)
return PLUGIN_CONTINUE
}
else if(XP[cur_id] >= 100 && LVL[cur_id] <= 2)
{
set_user_health(cur_id,120)
set_user_armor(cur_id,120)
set_user_gravity(cur_id,0.8)
LVL[cur_id] = 2
client_print(0,print_chat,"[AMXX] %s is lvl 2",name)
return PLUGIN_CONTINUE
}
else if(XP[cur_id] >= 200 && LVL[cur_id] <= 3)
{
set_user_health(cur_id,130)
set_user_armor(cur_id,130)
set_user_gravity(cur_id,0.7)
LVL[cur_id] = 3
client_print(0,print_chat,"[AMXX] %s is lvl 3",name)
return PLUGIN_CONTINUE
}
else if(XP[cur_id] >= 400 && LVL[cur_id] <= 4)
{
set_user_health(cur_id,140)
set_user_armor(cur_id,140)
set_user_gravity(cur_id,0.6)
LVL[cur_id] = 4
client_print(0,print_chat,"[AMXX] %s is lvl 4",name)
return PLUGIN_CONTINUE
}
else if(XP[cur_id] >= 800 && LVL[cur_id] <= 5)
{
set_user_health(cur_id,150)
set_user_armor(cur_id,150)
set_user_gravity(cur_id,0.5)
LVL[cur_id] = 5
client_print(0,print_chat,"[AMXX] %s is lvl 5",name)
return PLUGIN_CONTINUE
}
else if(XP[cur_id] >= 1600 && LVL[cur_id] <= 6)
{
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,180)
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
}
public drop_class(id)
{
pInvis[id] = false
nFsteps[id] = false
XtraHP[id] = false
client_print(id,print_chat,"[AMXX] You have dropped your current class")
return PLUGIN_CONTINUE
}