Klesh Posted December 4, 2010 Share 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 Link to comment
dzek (varez) Posted December 4, 2010 Share 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 Link to comment
Klesh Posted December 4, 2010 Author Share Posted December 4, 2010 i dont understan, can explain better or any code Link to comment
dukenukem Posted December 4, 2010 Share 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 Link to comment
Aibo Posted December 4, 2010 Share 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) Link to comment
dukenukem Posted December 4, 2010 Share Posted December 4, 2010 ah, I have not read to the end ;p Link to comment
Klesh Posted December 4, 2010 Author Share Posted December 4, 2010 Thanks it works. You are great Aiboforcen Link to comment
Castillo Posted December 4, 2010 Share Posted December 4, 2010 yes but next time make it yourself or at least try Link to comment
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