Написал не большой плагин типа у кого больше всего фрагов за Т у того через 15 мин скин и хп. В итоге тот кто 1 станет Лучшим игроком (Паханом) в 1 раунде будит им всегда независимо от счета.. как это исправить???
Code
#include <sourcemod>
#include <cstrike>
#include <sdktools>
#include <sdktools_entoutput>
#include <sdktools_functions>
new Handle:Timer[MAXPLAYERS+1];
public OnMapStart()
{
HookEvent("round_start", round_start);
HookEvent("player_spawn", player_spawn);
// Тут все параметры скинов - я их отсюда убрал чтоб код не был огромным.
}
new BT;
public round_start(Handle:event, const String:name[], bool:dontBroadcast)
{
// Сохраняем Handle таймера
Timer[BT] = CreateTimer(15.0, BOSS, BT);
}
public player_spawn(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
if (IsClientInGame(client) && GetClientTeam(client) == 2 && IsPlayerAlive(client))
{
SetEntityModel(client, "models/player/sourcegaming.ru/jail/ter1/t_leet.mdl");
}
}
public Action:BOSS(Handle:timer, any:client)
{
new best_frags = 0, bad_frags = 0, best_terrorist = 0, bad_terrorist = 0, value, value1;
for (new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i) && GetClientTeam(i) == 2 && (value = GetClientFrags(i)) > best_frags)
{
best_frags = value;
best_terrorist = i;
}
if (best_terrorist > 0)
{
SetEntityModel(best_terrorist, "models/player/sourcegaming.ru/jail/avt/zakhaev.mdl");
SetEntityHealth(best_terrorist, 250);
GivePlayerItem(best_terrorist, "item_nvgs");
// Приветствуем через чат
decl Handle:x;
if ((x = StartMessageAll("SayText2")) != INVALID_HANDLE)
{
BfWriteByte(x, best_terrorist);
BfWriteByte(x, true);
decl String:xStR[150];
Format(xStR, sizeof(xStR), "\x04Игрок \x03%N %s\x04стал Паханом!", best_terrorist, best_terrorist);
BfWriteString(x, xStR);
EndMessage();
}
return;
}
}
Timer[BT] = INVALID_HANDLE;
}