How can I help to make this not lag everyone when a player joins the server?
Code:
public client_authorized(id)
{
if(get_cvar_num("sv_ranks")==0)
return PLUGIN_HANDLED
new HN_NOTAPP_XP = 0
new HN_WARRANT_OFFICER_XP = 1000
new HN_CHIEF_WARRANT_OFFICER_XP = 1200
new HN_SECOND_LIEUTENANT_XP = 1400
new HN_FIRST_LIEUTENANT_XP = 1600
new HN_CAPTAIN_XP = 1800
new KN_NOTAPP_XP = 0
new KN_PRIVATE_XP = 100
new KN_PRIVATE_FIRST_CLASS_XP = 150
new KN_LANCE_CORPORAL_XP = 225
new KN_CORPORAL_XP = 337
new KN_SERGEANT_XP = 506
new KN_STAFF_SERGEANT_XP = 759
new KN_FIRST_SERGEANT_XP = 1139
new KN_MASTER_SERGEANT_XP = 1708
new KN_SERGEANT_MAJOR_XP = 2562
new KN_WARRANT_OFFICER_XP = 3583
new KN_CHIEF_WARRANT_OFFICER_XP = 4325
new KN_SECOND_LIEUTENANT_XP = 6487
new KN_FIRST_LIEUTENANT_XP = 9731
new KN_CAPTAIN_XP = 14597
new g_authid[32]
get_user_authid(id,g_authid,31)
// sql connect
new query[256]
g_dbc = dbi_connect(g_host,g_user,g_pass,g_dbname,g_error,MAX_NAME_LENGTH)
if (g_dbc == SQL_FAILED)
log_amx("[sqlStats] SQL Connection Failed")
else{
format( query, 255, "SELECT authid,kills,headshots FROM statstable WHERE authid='%s'", g_authid)
result = dbi_query(g_dbc, query)
if (g_dbc == SQL_FAILED )
{
server_print( "Query failed!")
client_print(id,print_chat, "* Database Unavailable");
dbi_free_result(result)
return PLUGIN_HANDLED
}
new g_Data_kills[33]
new g_Data_HS[33]
while(dbi_nextrow(result))
{
g_Data_kills[id] = dbi_result(result,"kills")
g_Data_HS[id] = dbi_result(result,"headshots")
if(g_Data_kills[id] < 100)
{
PlayerRank[id] = RANK_CIVILIAN
KILLSREMAIN[id] = (KN_PRIVATE_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_NOTAPP_XP)
}
if(g_Data_kills[id] >= 100 && g_Data_kills[id] <= 150)
{
PlayerRank[id] = RANK_PRIVATE
KILLSREMAIN[id] = (KN_PRIVATE_FIRST_CLASS_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_NOTAPP_XP)
}
if(g_Data_kills[id] >= 150 && g_Data_kills[id] <= 225)
{
PlayerRank[id] = RANK_PRIVATE_FIRST_CLASS
KILLSREMAIN[id] = (KN_LANCE_CORPORAL_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_NOTAPP_XP)
}
if(g_Data_kills[id] >= 225 && g_Data_kills[id] <= 337)
{
PlayerRank[id] = RANK_LANCE_CORPORAL
KILLSREMAIN[id] = (KN_CORPORAL_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_NOTAPP_XP)
}
if(g_Data_kills[id] >= 337 && g_Data_kills[id] <= 506)
{
PlayerRank[id] = RANK_CORPORAL
KILLSREMAIN[id] = (KN_SERGEANT_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_NOTAPP_XP)
}
if(g_Data_kills[id] >= 506 && g_Data_kills[id] <= 759)
{
PlayerRank[id] = RANK_SERGEANT
KILLSREMAIN[id] = (KN_STAFF_SERGEANT_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_NOTAPP_XP)
}
if(g_Data_kills[id] >= 759 && g_Data_kills[id] <= 1139)
{
PlayerRank[id] = RANK_STAFF_SERGEANT
KILLSREMAIN[id] = (KN_FIRST_SERGEANT_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_NOTAPP_XP)
}
if(g_Data_kills[id] >= 1139 && g_Data_kills[id] <= 1708)
{
PlayerRank[id] = RANK_FIRST_SERGEANT
KILLSREMAIN[id] = (KN_MASTER_SERGEANT_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_NOTAPP_XP)
}
if(g_Data_kills[id] >= 1708 && g_Data_kills[id] <= 2562)
{
PlayerRank[id] = RANK_MASTER_SERGEANT
KILLSREMAIN[id] = (KN_SERGEANT_MAJOR_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_NOTAPP_XP)
}
if(g_Data_kills[id] >= 2562 && g_Data_kills[id] <= 3583)
{
PlayerRank[id] = RANK_SERGEANT_MAJOR
KILLSREMAIN[id] = (KN_WARRANT_OFFICER_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_NOTAPP_XP)
}
if(g_Data_kills[id] >= 3583 && g_Data_kills[id] <= 4325 && g_Data_HS[id] >= 0 && g_Data_HS[id] < 1000)
{
PlayerRank[id] = RANK_SERGEANT_MAJOR
KILLSREMAIN[id] = (KN_NOTAPP_XP)
HSREMAIN[id] = (HN_WARRANT_OFFICER_XP - g_Data_HS[id])
}
if(g_Data_kills[id] >= 4325 && g_Data_kills[id] <= 6487 && g_Data_HS[id] >= 1000 && g_Data_HS[id] < 1200)
{
PlayerRank[id] = RANK_WARRANT_OFFICER
KILLSREMAIN[id] = (KN_NOTAPP_XP)
HSREMAIN[id] = (HN_CHIEF_WARRANT_OFFICER_XP - g_Data_HS[id])
}
if(g_Data_kills[id] >= 6487 && g_Data_kills[id] <= 9731 && g_Data_HS[id] >= 1200 && g_Data_HS[id] < 1400)
{
PlayerRank[id] = RANK_CHIEF_WARRANT_OFFICER
KILLSREMAIN[id] = (KN_NOTAPP_XP)
HSREMAIN[id] = (HN_SECOND_LIEUTENANT_XP - g_Data_HS[id])
}
if(g_Data_kills[id] >= 9731 && g_Data_kills[id] <= 14597 && g_Data_HS[id] >= 1400 && g_Data_HS[id] < 1600)
{
PlayerRank[id] = RANK_SECOND_LIEUTENANT
KILLSREMAIN[id] = (KN_NOTAPP_XP)
HSREMAIN[id] = (HN_FIRST_LIEUTENANT_XP - g_Data_HS[id])
}
if(g_Data_kills[id] >= 14597 && g_Data_kills[id] <= 21895 && g_Data_HS[id] >= 1600 && g_Data_HS[id] < 1800)
{
PlayerRank[id] = RANK_FIRST_LIEUTENANT
KILLSREMAIN[id] = (KN_NOTAPP_XP)
HSREMAIN[id] = (HN_CAPTAIN_XP - g_Data_HS[id])
}
if(g_Data_kills[id] >= 21895 && g_Data_kills[id] <= 32842 && g_Data_HS[id] >= 1800 && g_Data_HS[id] < 2000)
{
PlayerRank[id] = RANK_CAPTAIN
KILLSREMAIN[id] = (KN_NOTAPP_XP)
HSREMAIN[id] = (HN_MAJOR_XP - g_Data_HS[id])
}
//HS
if(g_Data_kills[id] >= 3583 && g_Data_kills[id] <= 4325 && g_Data_HS[id] >= 1000)
{
PlayerRank[id] = RANK_WARRANT_OFFICER
KILLSREMAIN[id] = (KN_CHIEF_WARRANT_OFFICER_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_CHIEF_WARRANT_OFFICER_XP - g_Data_HS[id])
}
if(g_Data_kills[id] >= 4325 && g_Data_kills[id] <= 6487 && g_Data_HS[id] >= 1200)
{
PlayerRank[id] = RANK_CHIEF_WARRANT_OFFICER
KILLSREMAIN[id] = (KN_SECOND_LIEUTENANT_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_SECOND_LIEUTENANT_XP - g_Data_HS[id])
}
if(g_Data_kills[id] >= 6487 && g_Data_kills[id] <= 9731 && g_Data_HS[id] >= 1400)
{
PlayerRank[id] = RANK_SECOND_LIEUTENANT
KILLSREMAIN[id] = (KN_FIRST_LIEUTENANT_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_FIRST_LIEUTENANT_XP - g_Data_HS[id])
}
if(g_Data_kills[id] >= 9731 && g_Data_kills[id] <= 14597 && g_Data_HS[id] >= 1600)
{
PlayerRank[id] = RANK_FIRST_LIEUTENANT
KILLSREMAIN[id] = (KN_CAPTAIN_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_CAPTAIN_XP - g_Data_HS[id])
}
if(g_Data_kills[id] >= 14597 && g_Data_kills[id] <= 21895 && g_Data_HS[id] >= 1800)
{
PlayerRank[id] = RANK_CAPTAIN
KILLSREMAIN[id] = (KN_MAJOR_XP - g_Data_kills[id])
HSREMAIN[id] = (HN_MAJOR_XP - g_Data_HS[id])
}
if(HSREMAIN[id] < 0)
{
HSREMAIN[id] = 0
}
client_print(id,print_chat, "* You are a %s with %d kills and %d headshots.", RANKS[PlayerRank[id]], g_Data_kills[id], g_Data_HS[id]);
client_print(id,print_chat, "* You need %d kills and %d headshots until your next advancement.", KILLSREMAIN[id], HSREMAIN[id]);
dbi_free_result(result)
dbi_close(g_dbc)
}
}
return PLUGIN_CONTINUE
}
__________________