lol I remember when I attempted to fix this for whoever it was I was helping out at the time. But I noticed that in this version on keydown your setting the level on everyone, except the people who have the hero selected
Code:
for(new player=1; player<=SH_MAXSLOTS; player++)
if(is_user_alive(player) && !gHasHATPowers[player] ) {
server_cmd("amx_shsetlevel ^"%s^" %d", steamid, level)
}
also your checking for ultimate used when you never set a cooldown in the code thus making that check kinda redundant. And one final note: when you registered your cvars you had "hat" in lowercase, but both times you called the cvars(level, and admincheck) you capitalized it "HAT".
__________________
If at first you don't succeed, then skydiving isn't for you.