Sniper/Rifle Head Shot Problem
#1

pawn Код:
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
    if(issuerid != INVALID_PLAYER_ID && gTeam[playerid] != gTeam[issuerid])
    {
        if(weaponid == 34 || weaponid == 33 && bodypart == 9)
        {
            new stringa[MAX_PLAYER_NAME+40];
            format(stringa, sizeof(stringa), "{00FFFF}[HEADSHOT]:{FFFFFF}%s{FFFF00}by{FFFFFF} %s", GetName(playerid), GetName(issuerid));
            SendClientMessageToAll(0xFFFF00FF,stringa), stringa = "\0"; GivePlayerScore(playerid,1);
            SetTimerEx("HeadshotKill", 500, false, "i", playerid);
        }
    }
    return 1;
}
forward HeadshotKill(playerid);
public HeadshotKill(playerid)
{
    SetPlayerHealth(playerid, 0);
    return 1;
}
If we shoot in any part of the Body.The Player Dies with 1 Shot.But I want it for only Head and Other Body 2 Shot kill .

Please Help
Reply
#2

if(weaponid == 34 || weaponid == 33 && bodypart == 9)

pawn Код:
if((weaponid == 34 || weaponid == 33) && (bodypart == 9))
Reply
#3

Код:
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
    if(issuerid == INVALID_PLAYER_ID || gTeam[playerid] == gTeam[issuerid])return 1;
    if(weaponid != 34 && weaponid != 33)return 1;
    if(bodypart != 9)return 1;
    new stringa[MAX_PLAYER_NAME+40];
    format(stringa, sizeof(stringa), "{00FFFF}[HEADSHOT]:{FFFFFF}%s{FFFF00}by{FFFFFF} %s", GetName(playerid), GetName(issuerid));
    SendClientMessageToAll(0xFFFF00FF,stringa), stringa = ""; GivePlayerScore(playerid,1);
    SetTimerEx("@HeadshotKill", 500, false, "i", playerid);
    return 1;
}
@HeadshotKill(id); @HeadshotKill(id){
  SetPlayerHealth(id, 0.0);
}
Try this source code a try!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)