WeeD1 Posted January 29, 2019 Share 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 Link to comment
zMpyster Posted January 29, 2019 Share 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 Link to comment
DNL291 Posted January 29, 2019 Share 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 Link to comment
WeeD1 Posted January 29, 2019 Author Share 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) Link to comment
DNL291 Posted January 29, 2019 Share 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 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