WeeD1 Posted January 29, 2019 Posted January 29, 2019 (edited) Alguém pra me dar um help nisso? ERROR: Prender.lua:8: attempt to compare number with boolean Já tentei fazer assim porém deu o mesmo problema (acredito que o que eu fiz esteja errado): elseif ( dist > 5 ) then return outputChatBox("#FF0000fChegue mais perto do jogador para prender!", Policial, 255, 255, 255, true ) elseif ( dist < 6 )then return outputChatBox("#FF0000Chegue mais perto do jogador para prender!", Policial, 255, 255, 255, true ) end local jX, jY, jZ = getElementPosition (Jogador) local pX, pY, pZ = getElementPosition (Policial) local dist = getDistanceBetweenPoints3D ( pX, pY, pZ, jX, jY, jZ) if Jogador == Policial then return outputChatBox("#ff0000Voce não pode se Prender.", Policial, 255, 255, 255, true) elseif ( estrelasdeprocurado == 0 ) then return outputChatBox("#ff0000Este Jogador não está sendo Procurado!", Policial, 255, 255, 255, true ) elseif dist >= 3 then return outputChatBox("#ff0000Chegue mais perto do Jogador para Prender!", Policial, 255, 255, 255, true ) end Prender(Jogador) outputChatBox("#ff0000Voce Recebeu R$1.000 Por prender o Jogador "..getPlayerName(Jogador).."", Policial, 255 , 255, 255, true) givePlayerMoney(Policial, 1000) else outputChatBox("#ff0000Digite o Nome do Jogador!", Policial, 255, 255, 255, true) end Edited January 29, 2019 by WeeD1
zMpyster Posted January 29, 2019 Posted January 29, 2019 3 minutes ago, WeeD1 said: Alguém pra me dar um help nisso? ERROR: Prender.lua:8: attempt to compare number with boolean Já tentei fazer assim porém deu o mesmo problema: elseif ( dist > 5 ) then return outputChatBox("#FF0000fChegue mais perto do jogador para prender!", Policial, 255, 255, 255, true ) elseif ( dist < 6 )then return outputChatBox("#FF0000Chegue mais perto do jogador para prender!", Policial, 255, 255, 255, true ) end local jX, jY, jZ = getElementPosition (Jogador) local pX, pY, pZ = getElementPosition (Policial) local dist = getDistanceBetweenPoints3D ( pX, pY, pZ, jX, jY, jZ) if Jogador == Policial then return outputChatBox("#ff0000Voce não pode se Prender.", Policial, 255, 255, 255, true) elseif ( estrelasdeprocurado == 0 ) then return outputChatBox("#ff0000Este Jogador não está sendo Procurado!", Policial, 255, 255, 255, true ) elseif dist >= 3 then return outputChatBox("#ff0000Chegue mais perto do Jogador para Prender!", Policial, 255, 255, 255, true ) end Prender(Jogador) outputChatBox("#ff0000Voce Recebeu R$1.000 Por prender o Jogador "..getPlayerName(Jogador).."", Policial, 255 , 255, 255, true) givePlayerMoney(Policial, 1000) else outputChatBox("#ff0000Digite o Nome do Jogador!", Policial, 255, 255, 255, true) end Você recuperou o jogador de uma string e o converteu para player? Com o getPlayerFromPartialName 1
DNL291 Posted January 29, 2019 Posted January 29, 2019 Faça uma depuração básica no código e descubra o que está errado: outputChatBox("jogador " ..tostring(Jogador)) outputChatBox("policial "..tostring(Policial)) outputChatBox("estrelasdeprocurado "..tostring(estrelasdeprocurado)) local jX, jY, jZ = getElementPosition (Jogador) local pX, pY, pZ = getElementPosition (Policial) local dist = getDistanceBetweenPoints3D ( pX, pY, pZ, jX, jY, jZ) if Jogador == Policial then return outputChatBox("#ff0000Voce não pode se Prender.", Policial, 255, 255, 255, true) elseif ( estrelasdeprocurado == 0 ) then return outputChatBox("#ff0000Este Jogador não está sendo Procurado!", Policial, 255, 255, 255, true ) elseif dist >= 3 then return outputChatBox("#ff0000Chegue mais perto do Jogador para Prender!", Policial, 255, 255, 255, true ) end Prender(Jogador) outputChatBox("#ff0000Voce Recebeu R$1.000 Por prender o Jogador "..getPlayerName(Jogador).."", Policial, 255 , 255, 255, true) givePlayerMoney(Policial, 1000) else outputChatBox("#ff0000Digite o Nome do Jogador!", Policial, 255, 255, 255, true) end 1
WeeD1 Posted January 29, 2019 Author Posted January 29, 2019 Eu não entendi muito bem isso, testei no servidor porém não deu em nada... vou deixar aqui o código completo : function prisao(Policial, cmd, Jogador) local accName = getAccountName ( getPlayerAccount ( Policial ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "PM" ) ) then if cmd == "prender" then if Jogador then Jogador = getPlayerFromPartialName(Jogador) estrelasdeprocurado = getPlayerWantedLevel(Jogador) local jX, jY, jZ = getElementPosition (Jogador) local pX, pY, pZ = getElementPosition (Policial) local dist = getDistanceBetweenPoints3D ( pX, pY, pZ, jX, jY, jZ) if Jogador == Policial then return outputChatBox("#FF0000Voce não pode se Prender.", Policial, 255, 255, 255, true) elseif ( estrelasdeprocurado == 0 ) then return outputChatBox("#FF0000Este Jogador não está sendo Procurado!", Policial, 255, 255, 255, true ) elseif dist >= 3 then return outputChatBox("#FF0000Chegue mais perto do Jogador para Prender!", Policial, 255, 255, 255, true ) end Prender(Jogador) outputChatBox("#FF0000Voce Recebeu R$1.000 Por prender o Jogador "..getPlayerName(Jogador).."", Policial, 255 , 255, 255, true) givePlayerMoney(Policial, 1000) else outputChatBox("#FF0000Digite o Nome do Jogador!", Policial, 255, 255, 255, true) end elseif cmd == "liberar" then if Jogador then Jogador = getPlayerFromPartialName(Jogador) estrelasdeprocurado = getPlayerWantedLevel(Jogador) if Jogador == Policial then return outputChatBox("#FF0000Voce não pode se Liberar!", Policial, 255, 255, 255, true) elseif not getElementData(Jogador, "preso") or not getElementData(rRoot,""..getPlayerSerial(Jogador).."-j") then return outputChatBox("#FF0000Este jogador não está Preso!", Policial, 255, 255, 255, true ) end Liberar(Jogador) else outputChatBox("#FF0000Digite o Nome do Jogador!", Policial, 255, 255, 255, true) end end else end end addCommandHandler("prender", prisao)
DNL291 Posted January 29, 2019 Posted January 29, 2019 Tente isto: function prisao(Policial, cmd, Jogador) local accName = getAccountName ( getPlayerAccount ( Policial ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "PM" ) ) then if cmd == "prender" then if Jogador then local Jogador = getPlayerFromPartialName(Jogador) if not (isElement(Jogador)) then return outputChatBox("#FF0000Esse jogador não existe!", Policial, 255, 255, 255, true) end local estrelasdeprocurado = getPlayerWantedLevel(Jogador) local jX, jY, jZ = getElementPosition (Jogador) local pX, pY, pZ = getElementPosition (Policial) local dist = getDistanceBetweenPoints3D ( pX, pY, pZ, jX, jY, jZ) if Jogador == Policial then return outputChatBox("#FF0000Voce não pode se Prender.", Policial, 255, 255, 255, true) elseif ( estrelasdeprocurado == 0 ) then return outputChatBox("#FF0000Este Jogador não está sendo Procurado!", Policial, 255, 255, 255, true ) elseif dist >= 3 then return outputChatBox("#FF0000Chegue mais perto do Jogador para Prender!", Policial, 255, 255, 255, true ) end Prender(Jogador) outputChatBox("#FF0000Voce Recebeu R$1.000 Por prender o Jogador "..getPlayerName(Jogador).."", Policial, 255 , 255, 255, true) givePlayerMoney(Policial, 1000) else outputChatBox("#FF0000Digite o Nome do Jogador!", Policial, 255, 255, 255, true) end elseif cmd == "liberar" then if Jogador then local Jogador = getPlayerFromPartialName(Jogador) if not (isElement(Jogador)) then return outputChatBox("#FF0000Esse jogador não existe!", Policial, 255, 255, 255, true) end local estrelasdeprocurado = getPlayerWantedLevel(Jogador) if Jogador == Policial then return outputChatBox("#FF0000Voce não pode se Liberar!", Policial, 255, 255, 255, true) elseif not getElementData(Jogador, "preso") or not getElementData(rRoot,""..getPlayerSerial(Jogador).."-j") then return outputChatBox("#FF0000Este jogador não está Preso!", Policial, 255, 255, 255, true ) end Liberar(Jogador) else outputChatBox("#FF0000Digite o Nome do Jogador!", Policial, 255, 255, 255, true) end end end end addCommandHandler("prender", prisao) function getPlayerFromPartialName(name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end 1
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