SA-MP Forums Archive
Fall Damage not calling OnPlayerDeath - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Fall Damage not calling OnPlayerDeath (/showthread.php?tid=550654)



Fall Damage not calling OnPlayerDeath - Aerotactics - 14.12.2014

As the title says, fall damage isnt calling the OnPlayerDeath function. I think it has something to do with OnPlayerTakeDamage, but I can't figure it out.

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    //Reseting hunger/thirst values.
    pInfo[playerid][pHunger] = 100;
    pInfo[playerid][pThirst] = 100;

    UpdateBars(playerid);
    KillTimer(TIMER_HUNGER[playerid]);
    KillTimer(TIMER_THIRST[playerid]);

    //Kills/deaths.
    pInfo[killerid][pKills] ++;
    pInfo[playerid][pDeaths] ++;

    //Re-attaching their backpack.
    TIMER_BACKPACKEQUIP[playerid] = SetTimerEx("BackpackEquip", 5000, false, "i", playerid);

    PlayerSpawned[playerid] = false;

    if(PlayerIsInLobby[playerid] == false && GameJoin == false ) //in a game.
    {
        PlayersLeft --; //Decrement by one.
        new string[128];
        format(string,sizeof(string), "%s has been eliminated from the Hunger Games. Players remaining: %d", GetName(playerid), PlayersLeft);
        SCMA(COLOR_GREY, string);
        if(PlayersLeft == 1) //If they are the last player remaining.
        {
            TIMER_WIN = SetTimer("WinRound", WIN_TIME, false);
            return 1;
        }
        if(PlayersLeft == 0)
        {
            KillTimer(TIMER_WIN);
            SCMA(COLOR_GREEN, "There are no remaining tributes to recieve a reward.");
            TIMER_ENDTIMER = SetTimer("EndRound", 5000, false);
            return 1;
        }
    }
    return 1;
}


public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
{
    if(PlayerIsInLobby[playerid] == true) //in lobby
    {
        if(TDMTeam[issuerid] == TDMTeam[playerid] && playerid != issuerid) return 0; //cant shoot team mates
    }
    return 1;
}



Re: Fall Damage not calling OnPlayerDeath - BroZeus - 14.12.2014

You have written "fall damage" not "fall death"
OnPlayerDeath is only for when player dies not for player damage...
And if mean player death on fall then put this in OnPlayerDeath to see if it really called or not..
printf("[DEBUG] OnPlayerDeath Called || PlayerId : %i Reason ; %i", playerid, reason);


Re: Fall Damage not calling OnPlayerDeath - Aerotactics - 14.12.2014

Quote:
Originally Posted by BroZeus
Посмотреть сообщение
You have written "fall damage" not "fall death"
OnPlayerDeath is only for when player dies not for player damage...
And if mean player death on fall then put this in OnPlayerDeath to see if it really called or not..
printf("[DEBUG] OnPlayerDeath Called || PlayerId : %i Reason ; %i", playerid, reason);
Yup, it was calling, but getting stuck when it tried to pass INVALID_PLAYER_ID in pInfo[killerid][pKills]. Fixed, +rep.

EDIT: given rep recently.