Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

[Вопрос] Киллстат

Статус
В этой теме нельзя размещать новые ответы.

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;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу