. I want to use it in Deathrun server. I've tried to get some code from zombie escape but not working.
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#define OFFICIAL_LANG LANG_PLAYER
enum
{
RANK_NONE = 0,
RANK_FIRST,
RANK_SECOND,
RANK_THIRD
}
enum
{
TEAM_T = 1,
TEAM_CT = 2
}
new g_WinText[7][64]
new Float:delay_hud[33]
new g_escape_point[33]
new g_MaxPlayers, score_hud, stat_hud
new g_escape_rank[4]
new g_team_score[6]
public plugin_init()
{
register_dictionary("zombie_escape.txt")
RegisterHam(Ham_Spawn, "player", "fw_Spawn_Post", 1)
g_MaxPlayers = get_maxplayers()
format(g_WinText[TEAM_T], 63, "Escape Fail")
format(g_WinText[TEAM_CT], 63, "Escape Success")
score_hud = CreateHudSyncObj(2)
}
public client_putinserver(id)
{
g_escape_point[id] = 0
}
public get_stat()
{
static highest, current
highest = current = 0
// Rank First
for(new i = 0; i < g_MaxPlayers; i++)
{
if(!is_user_connected(i))
continue
if(!is_user_alive(i))
continue
if(cs_get_user_team(i) == CS_TEAM_T)
continue
if(g_escape_point[i] > highest)
{
current = i
highest = g_escape_point[i]
}
}
g_escape_rank[RANK_FIRST] = current
// Rank Second
highest = current = 0
for(new i = 0; i < g_MaxPlayers; i++)
{
if(!is_user_connected(i))
continue
if(!is_user_alive(i))
continue
if(cs_get_user_team(i) == CS_TEAM_T)
continue
if(g_escape_rank[RANK_FIRST] == i)
continue
if(g_escape_point[i] > highest)
{
current = i
highest = g_escape_point[i]
}
}
g_escape_rank[RANK_SECOND] = current
// Rank Third
highest = current = 0
for(new i = 0; i < g_MaxPlayers; i++)
{
if(!is_user_connected(i))
continue
if(!is_user_alive(i))
continue
if(cs_get_user_team(i) == CS_TEAM_T)
continue
if(g_escape_rank[RANK_FIRST] == i || g_escape_rank[RANK_SECOND] == i)
continue
if(g_escape_point[i] > highest)
{
current = i
highest = g_escape_point[i]
}
}
g_escape_rank[RANK_THIRD] = current
}
public client_PostThink(id)
{
if(!is_user_connected(id))
return
if(get_gametime() - 1.0 > delay_hud[id])
{
// Show Score
set_hudmessage(255, 255, 255, -1.0, 0.0, 0, 2.0, 2.0)
ShowSyncHudMsg(id, score_hud, "%L", OFFICIAL_LANG, "HUD_SCORE", g_team_score[TEAM_T], g_team_score[TEAM_CT])
// Add Point for Who is Running Fast
if(cs_get_user_team(id) == CS_TEAM_CT)
{
static Float:Velocity[3], Speed
pev(id, pev_velocity, Velocity)
Speed = floatround(vector_length(Velocity))
switch(Speed)
{
case 210..229: g_escape_point[id] += 1
case 230..249: g_escape_point[id] += 2
case 250..300: g_escape_point[id] += 3
}
}
// Show Stat
show_stat(id)
delay_hud[id] = get_gametime()
}
}
public show_stat(id)
{
get_stat()
new temp_string_first[64], temp_string_second[64], temp_string_third[64], curid, Player_Name[64], none[32]
formatex(none, sizeof(none), "%L", OFFICIAL_LANG, "RANK_NONE")
// Rank First
curid = g_escape_rank[RANK_FIRST]
if(is_user_alive(curid) && cs_get_user_team(curid) == CS_TEAM_CT && g_escape_point[curid] != 0)
{
get_user_name(curid, Player_Name, sizeof(Player_Name))
formatex(temp_string_first, sizeof(temp_string_first), "%L", OFFICIAL_LANG, "RANK_FIRST", Player_Name)
} else {
get_user_name(curid, Player_Name, sizeof(Player_Name))
formatex(temp_string_first, sizeof(temp_string_first), "%L", OFFICIAL_LANG, "RANK_FIRST", none)
}
// Rank Second
curid = g_escape_rank[RANK_SECOND]
if(is_user_alive(curid) && cs_get_user_team(curid) == CS_TEAM_CT && g_escape_point[curid] != 0)
{
get_user_name(curid, Player_Name, sizeof(Player_Name))
formatex(temp_string_second, sizeof(temp_string_second), "%L", OFFICIAL_LANG, "RANK_SECOND", Player_Name)
} else {
get_user_name(curid, Player_Name, sizeof(Player_Name))
formatex(temp_string_second, sizeof(temp_string_second), "%L", OFFICIAL_LANG, "RANK_SECOND", none)
}
// Rank Third
curid = g_escape_rank[RANK_THIRD]
if(is_user_alive(curid) && cs_get_user_team(curid) == CS_TEAM_CT && g_escape_point[curid] != 0)
{
get_user_name(curid, Player_Name, sizeof(Player_Name))
formatex(temp_string_third, sizeof(temp_string_third), "%L", OFFICIAL_LANG, "RANK_THIRD", Player_Name)
} else {
get_user_name(curid, Player_Name, sizeof(Player_Name))
formatex(temp_string_third, sizeof(temp_string_third), "%L", OFFICIAL_LANG, "RANK_THIRD", none)
}
set_hudmessage(0, 255, 0, 0.05, 0.30, 0, 2.0, 2.0)
ShowSyncHudMsg(id, stat_hud, "%L^n%s^n%s^n%s", OFFICIAL_LANG, "RANK_INFO", temp_string_first, temp_string_second, temp_string_third)
}
public fw_Spawn_Post(id)
{
if(!is_user_connected(id))
return HAM_IGNORED
g_escape_point[id] = 0
return HAM_HANDLED
}