Jump to content

Recommended Posts

Olá caros!


Atualmente utilizo um TFS 0.4 3777 já muito editado por mim. 
Eu considero ele 99% perfeito para minhas necessidades, portanto troca-lo não é uma opção.

Infelizmente tenho um problema grave e não acho solução:

Quando jogadores morrem, e unicamente quando morrem, a stamina enche em media 3-4 horas.
Esse problema ocorre com alguns jogadores e em determinados momentos. 
Pelas minhas teorias, o servidor não salva a stamina no momento correto e a mesma é setada para o ultimo login.

 

Esse problema já foi mencionado por diversos topicos mas nenhum deu uma solução adequada.
A solução apresentada abaixo não funciona:

Citar

 


Eu gostaria de resolver esse problema diretamente na "raiz" ou seja, na source.. mas caso isso nao seja possivel, tentaremos via script LUA.

Obrigado desde já!


 

 

Link to post
Share on other sites

vc pode criar um evento preparedeath que guarda a stamina do player em uma storage e ao login trocar a stamina atual pelo valor da storage

Edited by Gabrieldsadaxas (see edit history)
Link to post
Share on other sites

2 horas atrás, Gabrieldsadaxas disse:

vc pode criar um evento preparedeath que guarda a stamina do player em uma storage e ao login trocar a stamina atual pelo valor da storage

Bom dia Gabriel!

2 fatores a serem considerados:

1° - caso o jogador esteja com 20h de stamina e morra, fique 2 dias sem logar. Ele volta com a stamina setada novamente em 20h e isso é errado.
2° - eu criei um evento onPrepareDeath como disse acima no post. Naquele caso, a stamina seria setada já com a diferença de tempo entre logout e login.
Infelizmente desse jeito não funciona. De algum modo o servidor sobrescreve a stamina.
Muito provavelmente o topico foi fechado como "resolvido" pq o autor não testou direito. Alguns jogadores morrem e voltam com a stamina correta, então ele pode ter sido enganado por isso.

Eu pensei em criar um db.query que salvaria a stamina do player ao morrer diretamente, mas não sei se isso é possivel.

Link to post
Share on other sites

Consegui resolver!

Aos muitos que tem o mesmo problema no TFS 0.4:

Vá até a pasta de sua source e abra o arquivo player.cpp.
Encontre:
 

Citar

void Player::onCreatureDisappear(const Creature* creature, bool isLogout)
{
    Creature::onCreatureDisappear(creature, isLogout);
    if(creature != this)
        return;

    if(isLogout)
    {
        loginPosition = getPosition();
        lastLogout = time(NULL);
    }

Substitua por:
 

Citar

void Player::onCreatureDisappear(const Creature* creature, bool isLogout)
{
    Creature::onCreatureDisappear(creature, isLogout);
    if(creature != this)
        return;
    
    lastLogout = time(NULL);   

    if(isLogout)
    {
        loginPosition = getPosition();
    }

 

Link to post
Share on other sites

  • 4 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Gran
      Boa tarde pessoal, peguei um server no meio do caminho e agora estou tendo dificuldade para finalizar alguns sistemas, entre eles um onde o player troca items em um npc para aumentar progressivamente o dano da sua wand em 50%, o npc está funcionando corretamente e consegue fazer essa troca do item para setar um storage novo. Segue parte do script do NPC com a wand que estou tentando arrumar:
       
      A parte que não estou conseguindo resolver é sobre onde utilizar esse storage setado... nesse server as wands são editadas com paralyze critical etc a partir do seguinte script:
      Minha idéia foi utilizar essa fórmula de dano para aumentar conforme a storage, porém sou muito iniciante na escrita .lua e acho que estou errando algo, segue o que tentei fazer:
      Obtive os seguintes erros no registro e a wand sequer ataca agora
      Agradeceria muito qualquer ajuda! Desde já obrigado
    • By ZeeroBR
      Todos as configs de hotkeys e o minimapa do meu client são salvos em "AppData\Roaming\Tibia" teria como alterar esse caminho sem ser por atalhos? Está dando conflito com outros clients de tibia
    • By thalesbliss
      Boa Tarde .
       
      Eu gostaria de saber qual a ultima versão de tibia disponivel;
      Onde ta o download Open source dessa versão;
      oq é TFS ?
      e qual programa baixar para abrir o código fonte do client/server.
       
      Obrigado ♥
       
    • By jeffersonreeis
      Formatei o pc, e nao consigo mais deixar meu otserver e nem o site online, ja fiz de tudo, liberei as portas no modem(7171,7172,443,8090), no firewall, alterei pra 8090 no xampp, liguei na operadora e disseram que nao bloqueam portas. não sei é a area correta, mas alguem pode me ajudar? nao sei mais o que pode ser
       
       
       
    • By joaobna
      Galera eu sou novato nesse ramo ai e queria saber se tem como botar a versão do otc 0.6.2 para 0.6.6
       
       
       
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo