SetElementHealth: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Added issue)
(Added more issues)
Line 60: Line 60:
{{Issues|
{{Issues|
{{Issue|414|Using setElementHealth on a dead ped makes it invincible}}
{{Issue|414|Using setElementHealth on a dead ped makes it invincible}}
{{Issue|2223|setElementHealth in onClientPlayerDamage bug}}
{{Issue|472|setElementHealth in onClientPedDamage can cause crash}}
}}
}}


==See Also==
==See Also==
{{Element functions}}
{{Element functions}}

Revision as of 18:53, 30 January 2022

This function sets the health for the specified element. This can be a ped, object or a vehicle.

[[{{{image}}}|link=|]] Note: In the case of the vehicle element, the following effects appear, depending on the health value:
  • 650: white steam 0%, black smoke 0%
  • 450: white steam 100%, black smoke 50%
  • 250: white steam 0%, black smoke 100%
  • 249: fire with big black smoke

Syntax

bool setElementHealth ( element theElement, float newHealth )

OOP Syntax Help! I don't understand this!

Method: element:setHealth(...)
Variable: .health
Counterpart: getElementHealth


Required Arguments

  • theElement: The ped, vehicle or object whose health you want to set.
  • newHealth: A float indicating the new health to set for the element.

Returns

Returns true if the new health was set successfully, or false if invalid arguments were passed.

Example

Click to collapse [-]
Server

This example adds a 'hpslap' console command that lets players "slap" others (doing 20 damage).

function hpSlap ( sourcePlayer, command, targetPlayerName )
    -- check if the user has access to it first
    if not hasObjectPermissionTo(sourcePlayer, "command.slap", false) then
        outputChatBox ( "You cannot use this command.", sourcePlayer )
        return false
    end
    -- look up the player to be slapped
    local targetPlayer = getPlayerFromName ( targetPlayerName )
    -- if there's a player with such name,
    if targetPlayer then
        -- subtract 20 from his health
        setElementHealth ( targetPlayer, getElementHealth(targetPlayer) - 20 )
    else
        -- otherwise, output an error message
        outputChatBox ( "There is no player named " .. targetPlayerName .. "!", sourcePlayer )
    end
end
-- add our function as a handler for "hpslap"
addCommandHandler ( "hpslap", hpSlap )
Click to collapse [-]
Example 1

This example setting health by a command.

function Health(player, command, amount)
    setElementHealth(player, tonumber(amount))
end
addCommandHandler("set", Health)

Issues

Issue ID Description
#414 Using setElementHealth on a dead ped makes it invincible
#2223 setElementHealth in onClientPlayerDamage bug
#472 setElementHealth in onClientPedDamage can cause crash

See Also