Headshot problem
#1

I've a problem with my headshot system.

I can kill players even if they're in my team!

How i can fix this? It's annoying.

In the death chat the player dies without a killer.

I've anti team kill protection but with this headshot thing, if i aim at head at a player that is in my team, he gets killed.

I need to remove that

pawn Код:
public CheckHeadShot()
{
    new index;
    for(new playerid; playerid < maxPlayers; playerid++)
    {
        if(IsPlayerConnected(playerid))
        {
        index = GetPlayerAnimationIndex(playerid);
        if(index == 1173 || index == 1175 || index == 1177 || index == 1178)
        {
                SetPVarInt(playerid, "Headshotted", 1);
                SetPlayerHealth(playerid, 0);
            }
        }
    }
    return 1;
}
OnPlayerDeath:

pawn Код:
if(GetPVarInt(playerid, "Headshotted") == 1)
    {
        if (gTeam[playerid] == gTeam[killerid]) return 0;
        SetPVarInt(playerid, "Headshotted", 0);
        GameTextForPlayer(playerid, "~w~Head~r~shot!", 3000, 3);
        GameTextForPlayer(killerid, "~w~Head~r~shot!", 3000, 3);
        PlayerInfo[playerid][pHsReceived] ++;
        PlayerInfo[killerid][pHsMade] ++;
    }
As you can see, i added a gTeam check but doesn't work.
Reply
#2

Код:
public CheckHeadShot()
{
    new index;
    for(new playerid; playerid < maxPlayers; playerid++)
    {
        if(IsPlayerConnected(playerid))
        {
			index = GetPlayerAnimationIndex(playerid);
			if (gTeam[playerid] == gTeam[killerid])
			{
				return 0;
			}
			else if(index == 1173 || index == 1175 || index == 1177 || index == 1178)
			{
				SetPVarInt(playerid, "Headshotted", 1);
				SetPlayerHealth(playerid, 0);
			}
        }
    }
    return 1;
}

	if(GetPVarInt(playerid, "Headshotted") == 1)
    {
//        if (gTeam[playerid] == gTeam[killerid]) return 0;
        SetPVarInt(playerid, "Headshotted", 0);
        GameTextForPlayer(playerid, "~w~Head~r~shot!", 3000, 3);
        GameTextForPlayer(killerid, "~w~Head~r~shot!", 3000, 3);
        PlayerInfo[playerid][pHsReceived] ++;
        PlayerInfo[killerid][pHsMade] ++;
    }
Edit: Try It Hope It Will Work
Reply
#3

Danyal i appreciate you helping him but you also need to tell him what you did so he can understand
Reply
#4

i have checked if player team is equal to team mate at public CheckHeadShot()
it will check every headshot if player team is equal to team mate it will return as 0 and no headshot will occur by team mates
Reply
#5

Quote:
Originally Posted by Glint
Посмотреть сообщение
Danyal i appreciate you helping him but you also need to tell him what you did so he can understand
No problem, i understand without any explanation.

Danyal thanks very much for help, i'll try now.

Working or not you deserve +rep
Reply
#6

Quote:
Originally Posted by Logitech90
Посмотреть сообщение
No problem, i understand without any explanation.

Danyal thanks very much for help, i'll try now.

Working or not you deserve +rep
I know but there are people who want to learn
Reply
#7

Quote:
Originally Posted by Glint
Посмотреть сообщение
I know but there are people who want to learn
Agreed

It works,thanks Danyal!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)