Big Smoker Posted July 22, 2019 Posted July 22, 2019 Bom dia, Estou precisando de uma ajuda num sistema que to precisando de uma ajuda mais to fazendo errado pq nao sabia como fazer. Que é aparecer um icone mostrando que o jogador ta com o ping acima do limite. a imagem deu certo so que nao consigo destruir quando fica abaixo disso function teste() if getPlayerPing(getLocalPlayer()) > 180 then imagensnet = guiCreateStaticImage(0.85, 0.85, 0.03, 0.05, "net.png", true) setElementData(getLocalPlayer(),"pingaltyo",true) outputChatBox("alto ping") else if getElementData(getLocalPlayer(),"pingaltyo") then if isElement(imagensnet) then destroyElement(imagensnet) end end end end addEventHandler("onClientRender", getRootElement(), teste)
androksi Posted July 22, 2019 Posted July 22, 2019 (edited) Há um erro de lógica no seu código. Sempre que a latência do jogador estiver acima de 100, uma nova imagem será criada. Este é o porquê da imagem não estar sendo destruída. Você deve verificar se o jogador está com a imagem na tela. Fiz um código rápido, só pra mostrar. local highPing = false setTimer( function( ) if ( not highPing ) then -- // Verificar se ele não esta na tela de "ping alto". Não tem mensagem? Então passemos para a linha de baixo. if ( getPlayerPing( localPlayer ) > 100 ) then -- // O ping é maior que 100? Se sim, vamos avisar ao jogador, mostrando uma mensagem na tela. highPing = true -- // Salvar a informação de que ele está com uma mensagem na tela. addEventHandler( "onClientRender", root, show, true, "low-128" ) -- // Adicionar o evento, para que mostre a mensagem. end else -- // Se o jogador estiver na tela, então: if ( getPlayerPing( localPlayer ) <= 100 ) then -- // O ping dele é menor ou igual a 100? Se sim, podemos retirar a mensagem da tela. highPing = false -- // Salvar a informação que retiramos a mensagem da tela do jogador. O ping dele já se normalizou. removeEventHandler( "onClientRender", root, show ) -- // Remover o evento, nenhuma mensagem está sendo mostrada mais. end end end, 666, 0 ) function show() local screen = Vector2( guiGetScreenSize( ) ) dxDrawRectangle( 0, 0, screen.x, screen.y, tocolor( 32, 32, 32, 64 ), false ) dxDrawText( "Sua conexão está ruim", 0, 0, screen.x, screen.y, tocolor( 255, 255, 255, 255 ), 1.80, "clear", "center", "center" ) end Edited July 22, 2019 by asrzkj Hello, world. Tutorial sobre interação de BOTs do Discord com o seu servidor - Visitar (Brazilian Portuguese) Tutorial sobre tabelas - Visitar (Brazilian Portuguese) Tutorial sobre banco de dados - Visitar (Brazilian Portuguese)
Moderators Lord Henry Posted July 22, 2019 Moderators Posted July 22, 2019 (edited) É mais fácil vc simplesmente fazer a imagem com dxDrawImage. Assim, ela só aparece nos frames que o jogador estiver com mais de 180 de ping. local x, y = guiGetScreenSize() function teste () if (getPlayerPing (localPlayer) > 180) then dxDrawImage (x*0.85, y*0.85, x*0.03, y*0.05, "net.png") end end addEventHandler ("onClientRender", root, teste) Edited July 22, 2019 by Lord Henry Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment Discord Oficial do MTA: https://mtasa.com/discord Blacklist e Whitelist de Scripters: Planilha Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.
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