Klesh Posted December 4, 2010 Posted December 4, 2010 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
dzek (varez) Posted December 4, 2010 Posted December 4, 2010 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
Klesh Posted December 4, 2010 Author Posted December 4, 2010 i dont understan, can explain better or any code
dukenukem Posted December 4, 2010 Posted December 4, 2010 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
Aibo Posted December 4, 2010 Posted December 4, 2010 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)
Klesh Posted December 4, 2010 Author Posted December 4, 2010 Thanks it works. You are great Aiboforcen
Castillo Posted December 4, 2010 Posted December 4, 2010 yes but next time make it yourself or at least try
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now