Even if he add this line, nothing will change since players are not spawned yet when new round is called.
PHP Code:
#include <amxmodx>
#include <fun>
#include <hamsandwich>
#define MAX_LVLS 10
#define DIFF 5 // level = 4 + (kills-deaths)/DIFF
#define MAX_PLAYERS 32
new bool:g_freezetime
new g_max_hp[MAX_LVLS] = {250, 200, 150, 125, 100, 80, 60, 40, 30, 20}
new Float:g_speed_bonus[MAX_LVLS] = { 50.0, 35.0, 20.0, 10.0, 0.0, -10.0, -20.0, -30.0, -40.0, -50.0}
new Float:g_weap_speed[32] = {0.0, 250.0, 0.0, 260.0, 250.0, 240.0, 250.0, 250.0, 240.0,
250.0, 250.0, 250.0, 250.0, 210.0, 240.0, 240.0, 250.0, 250.0, 210.0, 250.0, 220.0, 230.0,
230.0, 250.0, 210.0, 250.0, 250.0, 235.0, 221.0, 250.0, 245.0, 0.0}
new g_p_lvl[MAX_PLAYERS + 1]
public plugin_init() {
register_plugin("Even The Odds", "1.0", "Sylwester")
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
register_event("CurWeapon", "reset_player_speed", "be", "1=1")
register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
register_logevent("logevent_round_start", 2, "1=Round_Start")
}
public reset_player_speed(id){
if(g_freezetime)
return
set_user_maxspeed(id, g_weap_speed[get_user_weapon(id)] + g_speed_bonus[g_p_lvl[id]])
}
public player_spawn(id){
if(is_user_alive(id)){
set_lvl(id)
set_user_health(id, g_max_hp[g_p_lvl[id]])
}
}
public set_lvl(id){
if(!is_user_connected(id))
return
g_p_lvl[id] = (get_user_frags(id) - get_user_deaths(id))/DIFF + 4
if(g_p_lvl[id] < 0)
g_p_lvl[id] = 0
if(g_p_lvl[id] > MAX_LVLS-1)
g_p_lvl[id] = MAX_LVLS-1
}
public event_new_round(){
g_freezetime = true
}
public logevent_round_start(){
g_freezetime = false
}
Store max hps and speed bonuses in some arrays. Update odds and set health on player spawn and set max speed on curweapon.