Ir para conteúdo

Como posso kikar automaticamente quando acabar Premium account de um player?

Featured Replies

Postado

Uma dica.

Você poderia adicionar esse codigo postado pelo Vodkart, para ser executado minutos antes do ServerSave do servidor.

Assim evitaria alguns problemas chatinhos talvez com lags, e de quebra quando acontece o servesave, todos já são kickados pelo sistema.

 

@This life is filled with hurt

When happiness doesn't work

Trust me and take my hand

When the lights go out you will understand

  • Respostas 46
  • Visualizações 3.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • de vez de usar o onLogin usa esse:   function onThink(interval, lastExecution, thinkInterval) if #getPlayersOnline() > 0 then for _, cid in ipairs(getPlayersOnline()) do if isPremium

Postado
1 hora atrás, Vodkart disse:

por isso que eu disse que teria que atualizar o banco de dados, setar o premium_days para 0 ao invés daqueles números todos que ficam lá ainda e só mudam quando relogam,como você disse, mas para atualizar o banco de dados tem que kikar o jogador ou dar save nele(isso n tenho ctz do save)

 

Certo, mas para kickar o jogador o script precisa verificar se o jogador possui premium + uma storage. Se o jogador não possuir mais premium e possuir a storage, ou seja qual for a verificação, então ele seria kickado e a função do creaturescripts faria o papel de, quando ele logar (onLogin), verificar se ele possui premium normalmente, como já funciona, e teleportar o player pro templo. O problema é que mesmo que eu altere no banco de dados os premdays do char, enquanto ele está online, na própria acc do char o premdays não atualiza em tempo real, só após um logoff. 

A conta do personagem não atualiza em tempo real - de acordo com a alteração/atualização no banco de dados sem o logoff - os premdays :(.

Eu creio que as funções existentes de verificação dos premdays do personagem (seja "isPremium()" ou "getPlayerPremiumDays(cid)" ou qualquer outra função nativa do server) não verificam em tempo real, no banco de dados, no campo "premdays", só verificam o último status do player antes do logout :(.

 

Creio que deve haver um jeito de verificar os premdays do player através de alguma consulta diretamente no banco, sem usar funções nativas do server, pelo menos para que a verificação de premdays seja imediata... Imagino que isso não custaria muito processamento se a pesquisa fosse restrita apenas aos players que possuem a storage X (correspondente à storage usada no player que recebe premium) e usando a função onTimer. Grato pelas respostas rápidas :D

 

1 hora atrás, login12 disse:

 

Uma dica.

Você poderia adicionar esse codigo postado pelo Vodkart, para ser executado minutos antes do ServerSave do servidor.

Assim evitaria alguns problemas chatinhos talvez com lags, e de quebra quando acontece o servesave, todos já são kickados pelo sistema.

 

A proposta seria justamente uma alternativa para evitar que o server seja reiniciado todos os dias. Compreendo que o serverSave é importante, mas creio que uma opção a mais que evite o server reiniciar para salvar também é interessante, até mesmo por questões de funcionamento da premium account. Seria interessante algo funcionando em tempo real :) mas obrigado pela dica, já tinha isso em mente :D.

Baiak 24h -> www.baiakinfinity.ml

Postado
8 minutos atrás, IceWar disse:

 

Certo, mas para kickar o jogador o script precisa verificar se o jogador possui premium + uma storage. Se o jogador não possuir mais premium e possuir a storage, ou seja qual for a verificação, então ele seria kickado e a função do creaturescripts faria o papel de, quando ele logar (onLogin), verificar se ele possui premium normalmente, como já funciona, e teleportar o player pro templo. O problema é que mesmo que eu altere no banco de dados os premdays do char, enquanto ele está online, na própria acc do char o premdays não atualiza em tempo real, só após um logoff. 

A conta do personagem não atualiza em tempo real - de acordo com a alteração/atualização no banco de dados sem o logoff - os premdays :(.

Eu creio que as funções existentes de verificação dos premdays do personagem (seja "isPremium()" ou "getPlayerPremiumDays(cid)" ou qualquer outra função nativa do server) não verificam em tempo real, no banco de dados, no campo "premdays", só verificam o último status do player antes do logout :(.

 

Creio que deve haver um jeito de verificar os premdays do player através de alguma consulta diretamente no banco, sem usar funções nativas do server, pelo menos para que a verificação de premdays seja imediata... Imagino que isso não custaria muito processamento se a pesquisa fosse restrita apenas aos players que possuem a storage X (correspondente à storage usada no player que recebe premium) e usando a função onTimer. Grato pelas respostas rápidas :D

 

A proposta seria justamente uma alternativa para evitar que o server seja reiniciado todos os dias. Compreendo que o serverSave é importante, mas creio que uma opção a mais que evite o server reiniciar para salvar também é interessante, até mesmo por questões de funcionamento da premium account. Seria interessante algo funcionando em tempo real :) mas obrigado pela dica, já tinha isso em mente :D.

 

O serveSave é MUITO importante.

Por que não configura um servesave e juntamente um auto-restarter? :putnam:

 

@This life is filled with hurt

When happiness doesn't work

Trust me and take my hand

When the lights go out you will understand

Postado
4 horas atrás, login12 disse:

O serveSave é MUITO importante.

Por que não configura um servesave e juntamente um auto-restarter? :putnam:

 Na verdade o global ServerSave é configurável no config.lua, bem fácil. Eu que prefiro dar um serverSave manualmente quando eu faço atualizações no server, antes disso é só o "Full Server Save" do globalevents a cada 4h mesmo...

ServerSave está realmente fora de contexto pra mim - relacionado ao meu real objetivo aqui, sobre os PremiumDays.

O meu objetivo é Tempo Real... Verificações como estas em tempo real, não mediante logoff ou ServerSave entende...

Por isso queria um script assim, ou pelo menos saber como operar com tais tipos de verificações...

 

Agradeço a sua dica em relação ao ServerSave mas realmente não é esse o meu objetivo...kk

 

Abraço !

 

Com respeito ao script do Vodkart, o que me sugere? Como eu devo proceder para fazer uma pesquisa no banco de dados dos premdays em lua?

Grato :D

Baiak 24h -> www.baiakinfinity.ml

Postado

eu estava com uma ideia nova, salvar o premium time em uma storage, igual tinha no vip system

 

usar o os.time() - premium time e fazer a conta para quanto tempo de P.A ainda resta, mas no caso teria que mudar o script do premium tile e onde adiciona PA, para adicionar storage ao jogador, exemplo assim:

 

quando vocẽ relogar teu premium time está 2587845(2 dias e 3 horas por exemplo)

 

ai vc loga esse tempo 2587845 é jogado numa storage

 

2587845 - os.time() 

 

fazendo que retorne em tempo real a quantidade de premium time, mas é como falei, teria que mudar o script do tile e onde adc a P.A, para adicionar a storage junto 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo