Backsage Posted August 8, 2015 Share Posted August 8, 2015 This won't remove the text. Why? function hello(score) dxDrawText("Score: " .. score, 118, 358, 291, 380, tocolor(255, 174, 0, 255), 1.30, "default-bold", "left", "top", false, false, false, false, false) end score = 0 function wepfire() if getElementHealth(source) == 0 then score = score + 3 addEventHandler("onClientRender", root, function() hello(score) end) end end addEventHandler("onClientPlayerWasted", root, wepfire) addCommandHandler("removedx", function () removeEventHandler("onClientRender", root, hello) end ) Link to comment
nasserdfdd Posted August 8, 2015 Share Posted August 8, 2015 This won't remove the text. Why? function hello(score) dxDrawText("Score: " .. score, 118, 358, 291, 380, tocolor(255, 174, 0, 255), 1.30, "default-bold", "left", "top", false, false, false, false, false) end score = 0 function wepfire() if getElementHealth(source) == 0 then score = score + 3 addEventHandler("onClientRender", root, function() hello(score) end) end end addEventHandler("onClientPlayerWasted", root, wepfire) addCommandHandler("removedx", function () removeEventHandler("onClientRender", root, hello) end ) addCommandHandler("removedx", u did not call any function in this command handler Link to comment
Backsage Posted August 8, 2015 Author Share Posted August 8, 2015 I tried using this function hello2() removeEventHandler("onClientRender", root, hello) end addCommandHandler("removedx", hello2) but it still didn't work. Link to comment
DNL291 Posted August 8, 2015 Share Posted August 8, 2015 local score = 0 function hello() dxDrawText("Score: " .. tostring(score), 118, 358, 291, 380, tocolor(255, 174, 0, 255), 1.30, "default-bold", "left", "top", false, false, false, false, false) end function wepfire() if getElementHealth(source) == 0 then score = score + 3 addEventHandler("onClientRender", root, hello) end end addEventHandler("onClientPlayerWasted", localPlayer, wepfire) addCommandHandler("removedx", function () removeEventHandler("onClientRender", root, hello) end ) It should work. Link to comment
Backsage Posted August 8, 2015 Author Share Posted August 8, 2015 Thanks so much man, it works. Hopefully, I can apply this to another script I'm working on Edit: One last thing. How can I get this to work based on dimension? I want to be able to remove the text by the command AND based on dimension. It removes the text when I'm not in dimension 1, but I can't get it to remove it on the command. Client side: local score = 0 function hello() local dim = getElementDimension(localPlayer) for i, v in ipairs (getElementsByType("player")) do if (dim == 1) then dxDrawText("Score: " .. tostring(score), 118, 358, 291, 380, tocolor(255, 174, 0, 255), 1.30, "default-bold", "left", "top", false, false, false, false, false) end end end function wepfire() if getElementHealth(source) == 0 then score = score + 3 --addEventHandler("onClientRender", root, hello) end end addEventHandler("onClientPlayerWasted", localPlayer, wepfire) function thisistest(score) addEventHandler("onClientRender", root, function() hello(score) end) end addEvent("justfortest1", true) addEventHandler("justfortest1", root, thisistest) addCommandHandler("removedx", function () local dim = getElementDimension(localPlayer) for i, v in ipairs (getElementsByType("player")) do if (dim == 1) then removeEventHandler("onClientRender", localPlayer, hello) end end end ) addCommandHandler("showdx", function() local dim = getElementDimension(localPlayer) for i, v in ipairs (getElementsByType("player")) do if (dim == 1) then triggerServerEvent("justfortest", getLocalPlayer(), score) end end end ) Server side: function scorehandler(score) local dim1players = getElementsInDimension("player", 1) for k, v in ipairs (dim1players) do text1 = "Score " .. score triggerClientEvent(v, "justfortest1", v, text1) end end addEvent("justfortest", true) addEventHandler("justfortest", root, scorehandler) function getElementsInDimension(theType,dimension) local elementsInDimension = { } for key, value in ipairs(getElementsByType(theType)) do if getElementDimension(value)==dimension then table.insert(elementsInDimension,value) end end return elementsInDimension end Link to comment
GTX Posted August 8, 2015 Share Posted August 8, 2015 function thisistest(score) addEventHandler("onClientRender", root, hello) end addEvent("justfortest1", true) addEventHandler("justfortest1", root, thisistest) addCommandHandler("removedx", function () local dim = getElementDimension(localPlayer) if (dim == 1) then removeEventHandler("onClientRender", root, hello) end end ) Link to comment
Backsage Posted August 8, 2015 Author Share Posted August 8, 2015 Thank you GTX! It works! 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