Jump to content

KIKAR PLAYER (PACKET LOOS)


Recommended Posts

Posted (edited)

Boa Tarde,

 

eu fiz um sistema de packet Loos e coloquei com timer no clado CLIENT, funcionou normal so que ai da network no servidor e quando volta ele nao manda o kik para o lado SERVER. Existe alguma função que derrube o jogador sem kikar ele? Um exemplo dar perda de pacote e ele ser expulso com aquela mensagem (tempo do servidor foi interrompida)

 

OBRIGADO

 

 

Edited by felipebaidoloko
  • Moderators
Posted

Isso que você está tentando fazer é ilegal. Você não pode derrubar a conexão dos jogadores.

Kicke o jogador com a mensagem de "erro de conexão" em vez disso.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

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.

Posted

então eu tentei fazer isso que nao consigo, queria fazer uma função que assim que o player volta-se a conexão normal do packet loos ele seria kikado

mais nao consigo

  • Moderators
Posted

kickPlayer ué.

(o resource precisa ter permissão Admin)

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

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.

Posted
-- // Client-side \\ --

MAX_PACKET_LOSS = 10 -- // %
INTERVAL = getTickCount() + 5000 -- // Irá verificar de 5 em 5 segundos
GO_TO_HELL = false

addEventHandler('onClientRender', root,
    function()
        if INTERVAL < getTickCount() and GO_TO_HELL == false then
            local packetLoss = getNetworkStats()['packetlossLastSecond']
            
            if packetLoss > MAX_PACKET_LOSS then
                triggerServerEvent('onPlayerGoingToHell', resourceRoot, packetLoss)
                GO_TO_HELL = true
            end

            INTERVAL = getTickCount() + 5000
        end
    end
)

-- // Server-side \\ --
addEvent('onPlayerGoingToHell', true)
addEventHandler('onPlayerGoingToHell', resourceRoot,
    function(pl)
        kickPlayer(client, 'Console', 'Conexão horrível com a Internet. (Packet Loss: ' .. (pl or 0) .. '%')
    end
)

Não testei, mas deve funcionar. Se o packet loss do jogador estiver acima de 10%, ele será kickado.

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)
Posted

Não faça kick, você tem muitas alternativas em vez disso. Provavelmente você queira fazer um meio de evitar que o jogador com instabilidade na conexão cause problemas para o server, você pode usar getNetworkStats para fazer trigger somente com conexão boa ou dar um setElementData no player com má conexão e usar verificações nos seus scripts.

Não é difícil ocorrer instabilidades na rede, e não espere que esses kicks sejam casos raros, e isso também pode refletir na perda de jogadores por conta de kicks gratuitos.

Please do not PM me with scripting related question nor support, use the forums instead.

Posted

Ou, você pode congelar o jogador ao invés de kickar por um tempo até a conexão estabilizar novamente, como o DNL disse acima, esses problemas de conexão são bem comuns.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...