ADIDAS_
Ученик
Вообщем, сталкнулся с такой проблемой.У меня на сервере если кого-то убить один раз то киллстат показывает что убил два раза.Я так понимаю, что проблема в паблике onplayerdeath, но нечего там не нашёл.Помогите пожалуйста 
PHP:
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
GunCheckTime[playerid] = 5;
ServerResetPlayerWeapons(playerid);
new name[MAX_PLAYER_NAME];
new string[256];
new Float:px,Float:py,Float:pz;
MedicBill[playerid] = 1;
gPlayerSpawned[playerid] = 0;
GetPlayerName(playerid, name, sizeof(name));
PlayerInfo[playerid][pLocal] = 255;
GetPlayerPos(playerid, px, py, pz);
if( killerid != INVALID_PLAYER_ID)
{
SendDeathMessage(killerid, playerid, reason);
}
if(InZona[playerid] == 601)
{
players--;
InZona[playerid] = 600;
if(players == 1)
{
new string[256];
format(string, 256, "DM Зона оконченна | Победитель: %s[%d]", PlayerName(killerid), killerid);
SendClientMessageToAll(0xFFFFFF, string);
GivePlayerMoney(killerid, winnerzona);
InZona[killerid] = 600;
SpawnPlayer(killerid);
zona = 0;
players = 0;
maxplayers = 0;
winnerzona = 0;
zgun = 0;
}
}
if(NaCS[playerid] == 601)
{
players--;
NaCS[playerid] = 600;
if(players == 1)
{
new string2[256];
format(string2, 256, "CS Зона оконченна | Победитель: %s[%d]", PlayerName(killerid), killerid);
SendClientMessageToAll(0xFFFFFF, string);
NaCS[killerid] = 600;
SpawnPlayer(killerid);
CSzona = 0;
CSPlayers = 0;
}
}
if(killerid != 255)
{
new kickname[MAX_PLAYER_NAME];
if(GetPlayerState(killerid) == 2)
{
if(ProxDetectorS(20, killerid, playerid))
{
if(!IsPlayerInAnyVehicle(playerid))
{
GetPlayerName(killerid, kickname, sizeof(kickname));
SendClientMessage(killerid, COLOR_YELLOW, "Ты был кикнут за ДБ.");
Kick(playerid);
return 1;
}
}
}
}
if (gPlayerCheckpointStatus[playerid] > 4 && gPlayerCheckpointStatus[playerid] < 11)
{
DisablePlayerCheckpoint(playerid);
gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
}
new caller = Mobile[playerid];
if(caller != 255)
{
if(caller < 255)
{
SendClientMessage(caller, COLOR_GRAD2, "Линия пуста....");
CellTime[caller] = 0;
CellTime[playerid] = 0;
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
SetPlayerSpecialAction(caller,SPECIAL_ACTION_STOPUSECELLPHONE);
Mobile[caller] = 255;
}
Mobile[playerid] = 255;
CellTime[playerid] = 0;
}
ClearCrime(playerid);
if(PlayerPaintballing[playerid] != 0)
{
PlayerPaintballKills[killerid] ++;
if(PlayerPaintballKills[killerid] > PaintballWinnerKills)
{
new killer[MAX_PLAYER_NAME];
PaintballWinner = killerid;
PaintballWinnerKills = PlayerPaintballKills[killerid];
GetPlayerName(killerid, killer, sizeof(killer));
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(PlayerPaintballing[i] != 0)
{
format(string, sizeof(string), "%s вместе с главой %d убиты.",killer,PaintballWinnerKills);
SendClientMessage(i, COLOR_WHITE, string);
}
}
}
}
return 1;
}
if(PlayerInfo[playerid][pHeadValue] > 0)
{
if(IsPlayerConnected(killerid))
{
if(PlayerInfo[killerid][pLeader] == 8 || PlayerInfo[killerid][pMember] == 8)
{
if(GoChase[killerid] == playerid)
{
new killer[MAX_PLAYER_NAME];
GetPlayerName(killerid, killer, sizeof(killer));
PlayerInfo[killerid][pMoney] += PlayerInfo[playerid][pHeadValue];
format(string,128,"Хитман %s выполнил контракт на %s и получил вознаграждение %d$.",killer,name,PlayerInfo[playerid][pHeadValue]);
SendFamilyMessage(8, COLOR_YELLOW, string);
SendClientMessage(playerid,COLOR_LIGHTRED, "Ничего личного, это просто заказ.");
PlayerInfo[playerid][pHeadValue] = 0;
GotHit[playerid] = 0;
GetChased[playerid] = 999;
GoChase[killerid] = 999;
}
}
}
}
killerid = INVALID_PLAYER_ID;
SetPlayerToTeamColor(playerid);
ServerResetPlayerWeapons(playerid);
return 1;
}
