Big Smoker Posted December 31, 2021 Share Posted December 31, 2021 BOA TARDE, Desde já desejo um FELIZ ANO NOVO A TODOS DA COMUNIDADE. Venho pedir a ajuda de voces, ja tentei e tudo e o erro ainda continua. Eu coloquei um Timer quando o "ped" sai de uma ColShope e ele executa este element. So que ele nao reconhece o Element e da o ERRO OBRIGADO Bad argument @ 'setElementData' [Expected element at argument 1] function ZombieExit2(element) if isElement(element) and getElementType(element) == "ped" then local spawn_ztype = tonumber(getElementData(element,"spawn_ztype")) if spawn_ztype == 9 or spawn_ztype == 11 or spawn_ztype == 2 or spawn_ztype == 3 or spawn_ztype == 4 or spawn_ztype == 5 or spawn_ztype == 6 or spawn_ztype == 7 or spawn_ztype == 8 or spawn_ztype == 10 or spawn_ztype == 20 then setElementData(element,"zombieExit",element) setTimer(function(element) setElementData(element,"zombieTimer",getElementData(element)) end,40000,1,element) end end end addEventHandler ( "onColShapeLeave", ColCuboid2, ZombieExit2 ) Link to comment
angeluni Posted January 3, 2022 Share Posted January 3, 2022 (edited) Qual dos setElementData deu erro? o dentro do setTimer? se for tira o element dos parametros da função e cria uma variavel antes do setTimer, ped = element e usa ela como referencia eu tentaria assim: function ZombieExit2(element) if isElement(element) and getElementType(element) == "ped" then local spawn_ztype = tonumber(getElementData(element,"spawn_ztype")) if spawn_ztype == 9 or spawn_ztype == 11 or spawn_ztype == 2 or spawn_ztype == 3 or spawn_ztype == 4 or spawn_ztype == 5 or spawn_ztype == 6 or spawn_ztype == 7 or spawn_ztype == 8 or spawn_ztype == 10 or spawn_ztype == 20 then setElementData(element,"zombieExit",element) ped = element setTimer(function() setElementData(ped,"zombieTimer",getElementData(ped)) end,40000,1) end end end addEventHandler ( "onColShapeLeave", ColCuboid2, ZombieExit2 ) espero que te ajude de alguma forma, vlw Edited January 3, 2022 by angeluni Link to comment
Other Languages Moderators Lord Henry Posted January 3, 2022 Other Languages Moderators Share Posted January 3, 2022 @BruXo Isso ocorreu pois você gerou conflito de variáveis. No seu setTimer, você passa o element por parâmetro e usa ele mesmo dentro da função, mas dentro da função ele não existe. Apenas utilize outra variável dentro do setTimer que não seja igual aquela que você está passando. setTimer(function(theElement) -- 2) local theElement = element setElementData(theElement, "zombieTimer", getElementData(theElement)) -- 3) Use o theElement dentro do setTimer. end, 40000, 1, element) -- 1) Passou o element por parâmetro aqui. 1 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