Jump to content

ElementHealth


Klesh

Recommended Posts

Posted

Hi comunity i do a script for race but i wanna add Health Vehicle, but this no shows.

Some Health can be good.

localPlayer = getLocalPlayer() 
  
function addColumns() 
    exports.scoreboard:scoreboardAddColumn("Car Health") 
    setElementData(localPlayer,"Car Health",0) 
end 
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), addColumns) 
  
    local playerHealth = getElementHealth(source) 
    
  
    end 
end 
  

Posted

no sense.

do it server side.

steps:

add column

settimer (100ms or more) that will be looping through players (getElementsByType, and "for" loop (search google "for loop lua")) getting health and setting element data

Posted

you want to create health meter?

addEventHandler ("onClientResourceStart",getResourceRootElement(getThisResource()), 
function() 
  Color = tocolor (0,0,0,255) 
  bgColor = tocolor (0,255,255,127) 
  fgColor = tocolor (0,255,255,185) 
  sx,sy = guiGetScreenSize () 
  
  vehiclehealthx = sx/800*619 
  vehiclehealthy = sy/600*169 
  vehiclehealthxoverlay = sx/800*621 
  vehiclehealthyoverlay = sy/600*171 
  
car = nil 
end) 
  
addEventHandler ("onClientVehicleEnter",getRootElement(), 
function(player,seat,door) 
  if (player == getLocalPlayer()) then 
    car = source 
  end 
end) 
  
addEventHandler ("onClientVehicleExit",getRootElement(), 
function(player,seat) 
  if (player == getLocalPlayer()) then 
    car = nil 
  end 
end) 
  
addEventHandler ("onClientPlayerWasted",getRootElement(), 
function () 
  if (source == getLocalPlayer()) then 
    car = nil 
  end 
end) 
  
function blabla() 
  if (isElement(car)) then 
    local healthRelative = getElementHealth(car)/1000 
    dxDrawRectangle (vehiclehealthx, vehiclehealthy, 152, 12, Color, false) 
    dxDrawRectangle (vehiclehealthxoverlay, vehiclehealthyoverlay, 148, 8, bgColor, false) 
    dxDrawRectangle (vehiclehealthxoverlay, vehiclehealthyoverlay, 98*healthRelative, 8, fgColor, false) 
  
else 
    car = nil 
  end 
end 
addEventHandler ("onClientRender",getRootElement(),blabla) 

remember - client side

Posted

he wants to add player's vehicle health to scoreboard.

server-side:

addEventHandler("onResourceStart", getResourceRootElement(getThisResource()),  
function() 
  exports.scoreboard:addScoreboardColumn("Car Health") 
end) 
  
function scoreboardCarHealthUpdate(a,b,c) 
  if getElementType(source) == "player" then 
    player = source 
    car = getPedOccupiedVehicle(player) 
  elseif getElementType(source) == "vehicle" then 
    player = getVehicleController(source) 
    car = source 
  end 
  if player and car then  
    local damage = 0 
    if not b and not c then damage = a end 
    local health = math.floor((getElementHealth(car)-250-damage)/750*100) 
    setElementData(player, "Car Health", health.."%") 
  elseif player then 
    setElementData(player, "Car Health", "---")   
  end 
end 
  
addEventHandler("onVehicleDamage", getRootElement(), scoreboardCarHealthUpdate) 
addEventHandler("onVehicleEnter", getRootElement(), scoreboardCarHealthUpdate) 
addEventHandler("onPlayerPickUpRacePickup", getRootElement(), scoreboardCarHealthUpdate) 
addEventHandler("onPlayerWasted", getRootElement(), scoreboardCarHealthUpdate) 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...