Skip to content

Latest commit

 

History

History
70 lines (52 loc) · 2.41 KB

File metadata and controls

70 lines (52 loc) · 2.41 KB
title OnNPCGiveDamage
sidebar_label OnNPCGiveDamage
description This callback is called when an NPC gives damage to a player.
tags
npc
damage

Description

This callback is called when an NPC gives damage to a player.

Name Description
npcid The ID of the NPC that gave the damage
damagedid The ID of the player that received the damage
Float:amount The amount of damage that was given
WEAPON:weaponid The weapon ID used to give the damage
bodypart The body part that was hit

Returns

1 - Callback will not be called in other filterscripts.

0 - Allows this callback to be called in other filterscripts.

It is always called first in filterscripts so returning 1 there blocks other filterscripts from processing it.

Examples

public OnNPCGiveDamage(npcid, damagedid, Float:amount, WEAPON:weaponid, bodypart)
{
    // Only notify players tracking this NPC
    for (new playerid = 0; playerid < MAX_PLAYERS; playerid++)
    {
        if (!IsPlayerConnected(playerid))
            continue;

        if (PlayerNPC[playerid] == npcid)
        {
            SendClientMessage(playerid, 0xFF8800FF, "NPC %d dealt %.1f damage to player %d (weapon: %d, bodypart: %d)",
                npcid, amount, damagedid, _:weaponid, bodypart);
        }
    }
    return 1;
}

Notes

  • This callback is called before the damage is actually applied to the player
  • Returning false will NOT prevent the damage from being applied
  • The bodypart parameter uses the same values as OnPlayerTakeDamage

Related Functions

The following functions might be useful, as they're related to this callback in one way or another.

Related Callbacks