Ir para conteúdo
  • Cadastre-se

Programação [PEDIDO] Referente ao tfs 0.4 (rev3777) do Fir3element


Posts Recomendados

                                                            pedido.thumb.png.4b4c79fe25a392662ee8cb80fafd6f71.png

 


Fala pessoal do TK!

Acho que esse Post vai ser do interesse de muitos.

*Vamos ajudar quem ajuda o Tibiaking*


O @Fir3element com sua paciência, seu conhecimento e sua boa vontade, trouxe para os membros do TibiaKing, acredito eu que seja o melhor tfs 0.4 3777, com os principais bugs
arrumados e alguns outros que os membros pediram. Fora os extras como "war system" e "cast".

Eu baixei, testei, mudei meu server pra rodar sem problemas com ela, porém detectei um erro relacionado a função de
adicionar item aos players, seja por npc, por comando ou sistemas, simplesmente a distro para de reconhecer que o player tem slot vazio após umas 3 ou 4 bps cheias
(colocadas uma dentro da outra, como são utilizadas para ssa e might ring por ex). Enfim, qual o intuito do "post"? é pedir pra geral que tem conhecimento na área,
tentar resolver este problema e ajudar o Fir3element  que disse estar sem tempo no momento.
A unica coisa que ele conseguiu informar foi que pode ser um problema na função "queryadd" no "player.cpp".

Quando eu achei que era somente comigo, eu fiquei com meu post na base do up e pedindo uma ajuda aqui outra ali, estou há mais de semanas tentando resolver (mas
ainda não tenho conhecimento pra isso) agora, sei que geral que baixou e está usando, pode estar enfrentando o mesmo problema, tornando o mesmo de interesse para
muitos.


 

Obs: Se o Fir3element ou qualquer outro moderador achar incomodo esse pedido e quiser que eu remova, é só falar. Só estou tentando ajudar.

A distro e a source para os testes estão disponíveis no post dele (se puder postar o link me informem, mas acredito que seja fácil achar no fórum).

PARA O PESSOAL QUE ESTIVER TENTANDO: Peço para que publiquem o código e o player.cpp arrumado caso achem a solução, será de grande ajuda, além de facilitar quem tem a source com alteração, economizará o tempo que vocês gastariam respondendo perguntas repetitivas no tópico.

O post é de responsabilidade minha, o Fir3 nunca fugiu de tentar resolver qualquer problema relacionado ao tfs dele, como eu disse, qualquer problema podem apagar ou pedir para que eu apague.

Obrigado e TMJ!
 

Editado por .Foxxy
alinhando imagem. (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

up...

dei uma olhada rápida nessas funções ai e ta td ok

me disseram que na rev 3884 ta tudo funcionando bem

 

daqui alguns dias vou dar uma olhada e mt provável que eu lance mais pra frente outros updates (sim, tem mais bugs)

Link para o post
Compartilhar em outros sites

@Fir3element

 

será que tem como fazer com que o sistema ignore a cap do player? Tipo, ele chega no NPC e compra 100 SSA, ai vamos supor que ele tenha 500 de cap e os 100 pesa 1k, ao comprar, encheria a cap  e jogaria o resto no chão.

Link para o post
Compartilhar em outros sites
41 minutos atrás, .Foxxy disse:

@Fir3element

 

será que tem como fazer com que o sistema ignore a cap do player? Tipo, ele chega no NPC e compra 100 SSA, ai vamos supor que ele tenha 500 de cap e os 100 pesa 1k, ao comprar, encheria a cap  e jogaria o resto no chão.

Acho q no próprio npc tem essa opção

mas o bug n é dos npcs, e sim na função playeradditem

enche 4 bps e tenta adicionar item com o comando /i, vai dropar

Link para o post
Compartilhar em outros sites
5 minutos atrás, Fir3element disse:

Acho q no próprio npc tem essa opção

mas o bug n é dos npcs, e sim na função playeradditem

enche 4 bps e tenta adicionar item com o comando /i, vai dropar


Entendi, eu to ciente que o bug é no playeradditem, pq até o autoloot buga. Não tem como fazer isso pela source? algum codigo que faça a função "playeradditem" ignorar a cap.

 

Link para o post
Compartilhar em outros sites

@Fir3element

 

Poderia liberar essa versão com exp/hp/mp/cap/skills expandidos pra galera né?

A não ser que isso abra um leque de outros bugs, eu acho que daria muito mais recurso pra surgirem novos tipos de ots.

 

É só uma sugestão, nem sei se é viável, eu to tentando fazer no meu projeto e ta sendo complicado, the bug atrás de thebug.

Acredito que o client do Tibia tenha algum limite ou esquema pra evitar player abuse

Link para o post
Compartilhar em outros sites
6 horas atrás, .Foxxy disse:


Entendi, eu to ciente que o bug é no playeradditem, pq até o autoloot buga. Não tem como fazer isso pela source? algum codigo que faça a função "playeradditem" ignorar a cap.

 

só modificar o parâmetro no npc

doPlayerAddItemEx(cid, uid[, canDropOnMap = false[, slot = 0]])

 

6 horas atrás, Daniel disse:

@Fir3element

 

Poderia liberar essa versão com exp/hp/mp/cap/skills expandidos pra galera né?

A não ser que isso abra um leque de outros bugs, eu acho que daria muito mais recurso pra surgirem novos tipos de ots.

 

É só uma sugestão, nem sei se é viável, eu to tentando fazer no meu projeto e ta sendo complicado, the bug atrás de thebug.

Acredito que o client do Tibia tenha algum limite ou esquema pra evitar player abuse

tipo skill ir até 456456, mp até 45646464654, etc...?

se for o caso, msm aumentando acho q o client do tibia limita tb

 

--

 

testei na rev 3884 e o bug permanece.. como ngm tinha visto isso antes ?

Editado por Fir3element (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
3 horas atrás, Fir3element disse:

ó modificar o parâmetro no npc

doPlayerAddItemEx(cid, uid[, canDropOnMap = false[, slot = 0]])

 

tipo skill ir até 456456, mp até 45646464654, etc...?

se for o caso, msm aumentando acho q o client do tibia limita tb

 

--

 

testei na rev 3884 e o bug permanece.. como ngm tinha visto isso antes ?

@Fir3element 

Vou tentar modificar e ver se muda alguma coisa.

A rev 3884 é bugada tbm, só aumenta o limite um pouco, mas o bug ta la.

Link para o post
Compartilhar em outros sites
7 horas atrás, Fir3element disse:

só modificar o parâmetro no npc

doPlayerAddItemEx(cid, uid[, canDropOnMap = false[, slot = 0]])

 

tipo skill ir até 456456, mp até 45646464654, etc...?

se for o caso, msm aumentando acho q o client do tibia limita tb

 

--

 

testei na rev 3884 e o bug permanece.. como ngm tinha visto isso antes ?

 

é limita sim, testei com otclient e funcionou de boas com excessão da hp em %. Acho que o que mais buga é o cap, hp e mp, ao por acima do level máximo.

eu joguei um OT chamado rozinx, lá era possível pegar 10kk com life 500kk+, usando client normal. Tem ideia de como o admin pode ter feito essa alteração cara?

 

Mas não quero desviar o assunto do tópico, o @.Foxxy tentou me ajudar também mas eu já me conformei que não vai ser tão fácil

Link para o post
Compartilhar em outros sites
7 horas atrás, .Foxxy disse:

@Fir3element 

Vou tentar modificar e ver se muda alguma coisa.

A rev 3884 é bugada tbm, só aumenta o limite um pouco, mas o bug ta la.

falo do additem

esses limites são em todos os tfs eu acho

 

4 horas atrás, Daniel disse:

 

é limita sim, testei com otclient e funcionou de boas com excessão da hp em %. Acho que o que mais buga é o cap, hp e mp, ao por acima do level máximo.

eu joguei um OT chamado rozinx, lá era possível pegar 10kk com life 500kk+, usando client normal. Tem ideia de como o admin pode ter feito essa alteração cara?

 

Mas não quero desviar o assunto do tópico, o @.Foxxy tentou me ajudar também mas eu já me conformei que não vai ser tão fácil

provavelmente ele mudou a fórmula que calcula o lvl do player

tibia normal: lvl 300 = 441084800xp

modificado: lvl 300 = 110271200xp

Link para o post
Compartilhar em outros sites

@Fir3element não são em todos os tfs, talvez do 0.x, mas o 1.x+ não tem, testei aqui.

                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

A unica diferença no queryadd no player.cpp entre as revs é que na rev 3884 temos

else if(__queryAdd(index, item, count, flags) == RET_NOERROR)

sendo que na rev 3777 temos

else if(__queryAdd(index, item, item->getItemCount(), flags) == RET_NOERROR)

vou testar aqui e se funcionar eu edito a resposta avisando

 

--edit--

 

como eu imaginava, o problema não é esse... nunca programei em c++ mas acredito que -> só indica um ponteiro e, no caso, não tinha pq o erro ser esse...

pelo que eu entendi o erro NÃO é no querryadd

não me atentei e percebi só agora que o fir3 já tinha comentado que as funções estavam ok... vou ver se corrigo isso e qualquer coisa aviso aqui

Editado por Gabrieldsadaxas
mais informação, formatação (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Outro erro que tem tambem, é que se você coloca pra adicionar LIFE no item, Exemplo: equipou o item e ele adiciona mais 200 de life, e você tem 1k de life, fica 1.2k de life, quando você reloga e remove o item, a life ainda continua, e cada vez que você reloga com o item Adiciona mais 200 de life ao personagem, e assim infinitamente.

 

 

Nessa imagem o item adiciona 50k de life, estava testando. Observe que no level 8 tem 180 de life e 35 de mana.

Antes de usar o ITEM.

image.png.7338c6ef213b3a5b2911ad1384861b5b.png

 

Quando eu utilizo o ITEM fica assim.

image.png.c7983d64c00e0c013aea8511fd529585.png

 

Apos eu relogar com o item e remover ele.

image.png.4aa9f110e7a19de3813cd6048b161826.png

 

Percebe-se que a mana não buga, eu coloquei pra adicionar 50K de life e 50K de mana, quando removo o item apos relogar ou ficar relogando a life que ele adiciona no player não é removida, e vai adicionando sem parar a cada delogada.

 

Fiquei relogando sem parar pra mostrar como fica.

image.png.919dfa563ecf0c86ebc7c8a414995603.png

 

 

 

Eu achei só um post até hoje de como arrumar e tentei e não funcionou, foi em outro topico vou deixar como o rapaz fez.

 

Spoiler

0.3.x Version! (I'm not sure if 0.4 has this bug aswell)
search for:


void Player::onCreatureDisappear(const Creature* creature, bool isLogout)

 

goto:

 


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

 

 

add this afterwards:

 


//Evil Hero, handling DeEquip if the Player logout or die.
Item* item = NULL;
for(int32_t slot = SLOT_FIRST; slot < SLOT_LAST; ++slot)
{
    if(!(item = getInventoryItem((slots_t)slot)))
        continue;
 
    g_moveEvents->onPlayerDeEquip(this, item, (slots_t)slot, false);
}

 

 

 

 

.

Editado por Zzyzx
Recortei as imagens erradas ! (veja o histórico de edições)

       112674.gif

 

 

 

Link para o post
Compartilhar em outros sites
18 horas atrás, Zzyzx disse:

Outro erro que tem tambem, é que se você coloca pra adicionar LIFE no item, Exemplo: equipou o item e ele adiciona mais 200 de life, e você tem 1k de life, fica 1.2k de life, quando você reloga e remove o item, a life ainda continua, e cada vez que você reloga com o item Adiciona mais 200 de life ao personagem, e assim infinitamente.

 

 

Nessa imagem o item adiciona 50k de life, estava testando. Observe que no level 8 tem 180 de life e 35 de mana.

Antes de usar o ITEM.

image.png.7338c6ef213b3a5b2911ad1384861b5b.png

 

Quando eu utilizo o ITEM fica assim.

image.png.c7983d64c00e0c013aea8511fd529585.png

 

Apos eu relogar com o item e remover ele.

image.png.4aa9f110e7a19de3813cd6048b161826.png

 

Percebe-se que a mana não buga, eu coloquei pra adicionar 50K de life e 50K de mana, quando removo o item apos relogar ou ficar relogando a life que ele adiciona no player não é removida, e vai adicionando sem parar a cada delogada.

 

Fiquei relogando sem parar pra mostrar como fica.

image.png.919dfa563ecf0c86ebc7c8a414995603.png

 

 

 

Eu achei só um post até hoje de como arrumar e tentei e não funcionou, foi em outro topico vou deixar como o rapaz fez.

 

  Mostrar conteúdo oculto

0.3.x Version! (I'm not sure if 0.4 has this bug aswell)
search for:



void Player::onCreatureDisappear(const Creature* creature, bool isLogout)

 

goto:

 



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

 

 

add this afterwards:

 



//Evil Hero, handling DeEquip if the Player logout or die.
Item* item = NULL;
for(int32_t slot = SLOT_FIRST; slot < SLOT_LAST; ++slot)
{
    if(!(item = getInventoryItem((slots_t)slot)))
        continue;
 
    g_moveEvents->onPlayerDeEquip(this, item, (slots_t)slot, false);
}

 

 

 

 

 

 

cara, eu tenho um item que adiciona vida e mana no meu ot e ele funciona 100%... vc n esqueceu de adicionar as tags do item no movements?

Editado por Gabrieldsadaxas (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Muvuka
      Alguem tem anti-nuker igual a esse 
       

       
    • Por Muvuka
      [SQLite] -=[TFS]=- 0.4 8.60 Alguem faz apk mobile pra mim ip: dexsoft.ddns.net
       
      pra mim
       
      https://www.mediafire.com/file/5klqnyy6k7jda0u/OTClientV8.rar/file
       
      TA TUDO AI
    • Por yuriowns
      Salve rapazes, estou precisando de um client próprio para o meu servidor 7.4, preciso que algum programador experiente e com referências faça um client do jeito que eu procuro. Responda aqui para fazermos um orçamento, obrigado!

      Não sei se estou no lugar certo, se não me desculpem e peço que movam por gentileza!
    • Por paulo thush
      Pessoal to com um grande problema, estou com um servidor TFS 1.4x 10.98, recentemente começou dar um problema, sempre quando falava "trade" com o npc dava um erros, com qual quer npc, o erro e o seguinte.
       
       
      me falaram que o problema e nas sourcer que precisava mudar umas coisas me passaram um link no github esse aqui 
      https://github.com/otland/forgottenserver/pull/3996/files
       
      porem eu vi vídeos no youtube ensinando a compilar, já vi muitos tópicos como compilar a sourcer, ai quando vou compilar da esse erro
      já tentei instalar, desinstala muitas coisas, alterar também não vai, minha sourcer e essa 
      https://github.com/otland/forgottenserver
       
       
      Alguém poderia me ajuda com esse erro, ou ate compilar 100% as sourcer. os Tópicos que eu tentei para compilar e esse daqui, se não poder o link me desculpe.
      https://forums.otserv.com.br/index.php?/forums/topic/169234-windowsvc2019-compilando-sources-tfs-14-vcpkg/
       
      alguém me da uma luz por favor kkk
    • Por Ryzek
      Uso tfs 0.4 trunk3884 bem simples.
      Queria acrescentar magic effects para 255 pois o meu só vai até 69. Encontrei um tópico que falava sobre porém parece ter sido removido, não consigo acessar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo