+[T]rakin Posted April 16, 2019 Share Posted April 16, 2019 (edited) Olá Boa Tarde, estou tentando fazer uma verificação sobre a vida no Trailer(Carga) que ser for <=350 vai está mandando uma outputChatBox para o jogador agora ser for > que 350 vai continua com a Rota. Quando eu deixo o Trailer com 350 de vida e passo pelo Marker da esse erro no if not getElementHealth( Carga_Disel ) <= 350 then (attempt to compare boolean with number) server-side if not getElementHealth( Carga_Disel ) <= 350 then setElementData(source, "DiselPosicoes", getElementData(source, "DiselPosicoes") + 1) local x, y, z = unpack(DiselLocais[getElementData(source, "DiselPosicoes")]) setElementPosition(source, x, y, z -1) outputChatBox ("Descarregando", getVehicleOccupant(truck), 255, 255, 255, true ) setElementFrozen(getVehicleOccupant(truck), true) toggleAllControls(getVehicleOccupant(truck), false) setTimer(function() setElementFrozen(getVehicleOccupant(truck), false) toggleAllControls(getVehicleOccupant(truck), true) outputChatBox ("Pode seguir a Rota!!", getVehicleOccupant(truck), 255, 255, 255, true ) end, 3000, 1) else outputChatBox ("Sua Carga está Danificada!!", getVehicleOccupant(truck), 255, 255, 255, true ) end Edited April 16, 2019 by +[T]rakin Link to comment
Other Languages Moderators Lord Henry Posted April 16, 2019 Other Languages Moderators Share Posted April 16, 2019 (edited) Carga_Diesel não é um elemento válido para ter vida. Sendo assim, getElementHealth retornou false. E não tem como comparar booleano com número. Edited April 16, 2019 by Lord Henry Link to comment
+[T]rakin Posted April 16, 2019 Author Share Posted April 16, 2019 Então não é possivel checar ser a Carga_Disel ta com a vida cheia? Link to comment
Other Languages Moderators Lord Henry Posted April 16, 2019 Other Languages Moderators Share Posted April 16, 2019 (edited) A variável Carga_Diesel está com erro. Mas sim, é possível checar a vida de uma carga anexada ao caminhão. Mande a parte do código onde vc declara a variável Carga_Diesel. Edited April 16, 2019 by Lord Henry 1 Link to comment
Other Languages Moderators Lord Henry Posted April 18, 2019 Other Languages Moderators Share Posted April 18, 2019 Antes da linha if not getElementHealth( Carga_Disel ) <= 350 then Coloque isso e nos diga o que aparece. print ("Carga_Disel: "..tostring(Carga_Disel)) Link to comment
+[T]rakin Posted April 19, 2019 Author Share Posted April 19, 2019 Desculpa pela demora. Testei aqui e aparecendo issohttp://prntscr.com/ne6eog Link to comment
Other Languages Moderators Lord Henry Posted April 19, 2019 Other Languages Moderators Share Posted April 19, 2019 (edited) Hum... Parece ser um elemento mesmo. Não era pra gerar erro. Troque a linha do print por esses: print ("É elemento: "..tostring(isElement (Carga_Disel))) print ("Tipo de elemento: "..tostring(getElementType (Carga_Disel))) print ("Vida do elemento: "..tostring(getElementHealth (Carga_Disel))) Edited April 19, 2019 by Lord Henry Link to comment
+[T]rakin Posted April 19, 2019 Author Share Posted April 19, 2019 http://prntscr.com/ne8n6f Link to comment
Other Languages Moderators Lord Henry Posted April 19, 2019 Other Languages Moderators Share Posted April 19, 2019 (edited) Isso não faz sentido! Aquele terceiro print faz exatamente a mesma coisa que no seu script, ele pega a vida da carga e mostra no debug. Não tem como dar erro na sua comparação por valor booleano. Edit: NOOSSAAA! Descobri! No seu script vc fez assim: if not getElementHealth( Carga_Disel ) <= 350 then -- Se (não número) é menor ou igual a 350, então: -- QUE É O MESMO QUE: Se (false) é menor ou igual a 350, então: ERRO -- Mas vc quis dizer: if not (getElementHealth (Carga_Disel) <= 350) then -- Se (vida da carga NÃO É menor ou igual a 350), então: -- Que seguindo uma lógica mais otimizada de acordo com as boas práticas de programação, pode ser escrita como: if (getElementHealth (Carga_Disel) > 350) then -- Se (vida da carga é maior que 350), então: Faça assim: if getElementHealth (Carga_Disel) > 350 then Edited April 19, 2019 by Lord Henry Expliquei tudo. 1 Link to comment
+[T]rakin Posted April 19, 2019 Author Share Posted April 19, 2019 Vou criar outro arquivo .lua e refazer o código todo ou fazer um teste com uma função separada Link to comment
Other Languages Moderators Lord Henry Posted April 19, 2019 Other Languages Moderators Share Posted April 19, 2019 Editei o comentário acima. Link to comment
+[T]rakin Posted April 19, 2019 Author Share Posted April 19, 2019 Dessa funciono perfeito Thanks 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