Помогите пожалуйста восстановить код плагина. Плагин показывает когда расстояние между последними игроками больше 1000 юнитов.
Декомпилировал через lysis.
Буду премного благодарен за вашу помощь.
- Код: Выделить всё
#pragma semicolon 1
#pragma ctrlchar '\'
new TeamName[4][] =
{
"",
"TERRORIST",
"CT",
"SPECTATOR"
};
new bool:Check;
new Max_Distanse_Info;
new Min_Distanse_Info;
get_entity_distance(ent1, ent2)
{
return floatround(entity_range(ent1, ent2), floatround_round);
}
public __fatal_ham_error(Ham:id, HamError:err, String:reason[])
{
!!! Removed Phi
if (func != -1 && callfunc_begin_i(func, -1) == 1)
{
callfunc_push_int(id);
callfunc_push_int(err);
callfunc_push_str(reason, false);
if (callfunc_end() == 1)
{
fail = 0;
}
}
if (fail)
{
set_fail_state(reason);
}
return 0;
}
ColorChat(id, Color:type, String:msg[])
{
!!! Removed Phi
if (!get_playersnum(0) || id > get_maxplayers())
{
return 0;
}
if (id > 0 && !is_user_connected(id))
{
return 0;
}
new message[193];
switch (type)
{
case 1:
{
message[0] = 1;
}
case 2:
{
message[0] = 4;
}
default:
{
message[0] = 3;
}
}
vformat(message[1], 192, msg, 4);
message[192] = 0;
new team = 0;
new ColorChange = 0;
new index = 0;
new MSG_Type = 0;
if (id)
{
MSG_Type = 1;
index = id;
}
else
{
index = FindPlayer();
MSG_Type = 2;
}
if (ColorChange && index > 0)
{
Team_Info(index, MSG_Type, TeamName[team][0][0]);
}
return 0;
}
ShowColorMessage(id, type, String:message[])
{
!!! Removed Phi
static bool:saytext_used;
static get_user_msgid_saytext;
if (!saytext_used)
{
get_user_msgid_saytext = get_user_msgid("SayText");
saytext_used = 1;
}
message_begin(type, get_user_msgid_saytext, 196, id);
write_byte(id);
write_string(message);
message_end();
return 0;
}
Team_Info(id, type, String:team[])
{
!!! Removed Phi
static bool:teaminfo_used;
static get_user_msgid_teaminfo;
if (!teaminfo_used)
{
get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
teaminfo_used = 1;
}
message_begin(type, get_user_msgid_teaminfo, 196, id);
write_byte(id);
write_string(team);
message_end();
return 1;
}
ColorSelection(index, type, Color:Type)
{
switch (Type)
{
case 4:
{
new var1 = TeamName;
return Team_Info(index, type, var1[0][0][var1]);
}
case 5:
{
return Team_Info(index, type, TeamName[1][0]);
}
case 6:
{
return Team_Info(index, type, TeamName[2][0]);
}
default:
{
return 0;
}
}
}
FindPlayer()
{
new i = -1;
while (get_maxplayers() >= i)
{
i++;
if (is_user_connected(i))
{
return i;
}
}
return -1;
}
public plugin_init()
{
register_plugin("Check Distanse For HNS MIX", "Alpha", "DizZy - special for Proffi");
Min_Distanse_Info = register_cvar("Min_Distanse", "900.0", 0, 0.00);
Max_Distanse_Info = register_cvar("Max_Distanse", "1000.0", 0, 0.00);
RegisterHam(Ham_Spawn, "player", "player_respawn", 0);
RegisterHam(Ham_Killed, "player", "player_killed", 0);
return 0;
}
public player_respawn(id)
{
Check = 0;
return 0;
}
public player_killed(id)
{
Check = 0;
return 0;
}
public client_PreThink(id)
{
!!! Removed Phi
new Players[32];
new Count = 0;
get_players(Players, Count, "ah", "");
if (!is_user_alive(id))
{
return 0;
}
new i = 1;
while (i <= 32)
{
if (!is_user_alive(i) || id != i)
{
}
else
{
if (!Check == 1 && Distance <= get_pcvar_num(Min_Distanse_Info) && get_user_team(id, var5, 0) != get_user_team(i, var4, 0))
{
Check = 1;
}
if (Check == true && Count == 2 && Distance >= get_pcvar_num(Max_Distanse_Info))
{
ColorChat(0, Color:5, "Расстояние Между Игроков %d/Юнит", Distance);
Check = 0;
}
}
i++;
}
return 0;
}