Ir para conteúdo
  • Cadastre-se

Guizek69

Membro
  • Total de itens

    30
  • Registro em

  • Última visita

Tudo que Guizek69 postou

  1. Verifique se o final da linha foi colocada adequadamente. Eu fiz uma alteração na resposta, pode ser que você copiou antes. Refaça o processo por favor que o erro está aí. false));
  2. No config.lua Substitua: Por: Em Game.cpp procure por: Substitua por: Creditos: @leozynho123
  3. Se quer ajuda precisa deixar ser ajudado kk Como disse, poste seu config.lua e também seu game.cpp
  4. Olá grande mestre! Perdoe-me minha ignorancia, mas nao entendi bem sua colocação. Meu problema não está relacionado a criatura x ou y e sim ao fato do lastHitKiller ficar com o loot da tabela mesmo se desse apenas 1 de dano em determinada criatura. Sendo assim, ele não seria o dono do corpo morto mas ficaria com o loot "rare" de outro consequentemente. Isso é resolvido buscando a matriz deathList[2] no onDeath - que certifica de dar o loot ao jogador certo ( o que deu mais dano ). Ficou 100% perfeito agora. É o inverso amigo. O evento ativa em todas as criaturas, exceto
  5. Amigo, se quer ajuda diga qual servidor usa e poste seu config.lua
  6. A solução foi MUITO mais simples do que eu pensei, agradeço a ajuda de todos vocês, vocês são fod@!! Segue enredo: A função onDeath tem duas matrizes: lastHitKiller e mostDamageKiller. Quando voce usa deathList[1] aplica-se a matriz lastHitKiller, o jogador que causou o hit kill. Quando voce usa deathList[2] aplica-se a matriz mostDamageKiller ou seja, o maior causador de dano. Na onPrepareDeath, mesma regra etc.. Logo minha função ficou assim: Vale a pena lembrar que voce deve criar verificaçoes basicas como if isPlayer(cid) and isMonster(target). No meu ca
  7. O corpseOwner para criaturas é sempre quem deu mais dano em tal, nao quem deu o hit final. Acho que esta confundindo com o frag player system.
  8. O problema é exatamente esse. O auto loot nao avalia todos os jogadores que participaram no combate para x criatura. Ele determina que o loot é de quem deu o ultimo hit e acabou. Se EU der 99% do dano em um dl e alguem der hit kill e dropar dsm: EU fico como dono do corpo, mas o a dsm é retirada automaticamente pelo sistema e concedida ao jogador do "ks". Por isso preciso de uma função que determine se sou ou nao o dono do corpo ou se sou ou nao quem deu mais dano para dai proceder com todo o resto.
  9. Na source, a função em actions.cpp é essa: Encontrei uma função lua para TFS 1.2 feita pelo @luanluciano93: Vou tentar converter para TFS 0.4. Se alguem puder ajudar, eu agradeço.
  10. Bom galera aí vai minha duvida: Utilizo atualmente um TFS 0.4 e implantei o AUTO LOOT recentemente. Fiz diversas modificações e agora esse sistema me atende. Porem, há um problema - Ele assim como outros do mercado, trabalha com essa função onDeath: Isso faz com que o jogador a dar o ultimo hit na criatura fique com o loot da lista, mesmo que nao seja o "dono do corpo morto" ou corpseOwner. Obviamente nem preciso dizer que isso esta errado e vai gerar muitos problemas no meu servidor. A questao é: existe alguma função no TFS 0.4 que verifica o dono do corpo mo
  11. 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: Substitua por:
  12. O erro está aqui meu amigo: [ITEM_GOLDEN_BAR] Você só pode indicar itens desse jeito, se eles foram diretamente apontados na sua distro como tal. Tente pelo item ID, caso nao consiga daremos um jeito. Não se esqueça de alterar o valor da Golden Bar no seu items.xml também. Edit: Perdoe-me minha falta de atenção! Voce disse que fez alteração previamente na source? Recompilou?
  13. Nobre colega, esse compilado é um OTX e não um TFS e nesse caso aí, será executado somente em LINUX. Aqui no fórum, existem diversas distros boas para windows, verifique a versão do eu ot. Para 8.6 por exemplo: Escolha uma e comece sua jornada.
  14. 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 p
  15. 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 sol
  16. Nesse caso você teria que ir a fundo e pesquisar o erro apresentado no terminal para ter a certeza do que se trata, mas creio que ja estamos fugindo muito do assunto relacionado ao topico kkk De qualquer modo, eu nao deixaria meu "between" em 0 mesmo sendo enforced. Abraços
  17. Primeira coisa: Eu lhe aconselharia fortemente a não baixar o between no config.lua por que isso vai afetar muitas outras ações no servidor, nao somente as potions. O recomendado por grande conhecedores do assunto, é que se mantenha actions e exactions entre 1000 e 1200 para evitar dor de cabeça. Essa mudança é uma porta aberta para nuckers se aproveitaram de alguma brecha e derrubarem seu ot (esgotamento de memoria, por exemplo). Daí a necessidade de alterar somente na source e para itens especificos. Referente as storages, é simples: baixe algum editor de xml/lua como o notepad++ e f
  18. @WooX agradeço muito a ajuda! Meus problemas foram solucionados. Segue enredo para quem tem o mesmo problema para compilar: Vá ate a pasta de sua source e abra o arquivo Makefile Procure por: Substitua por: Isso resolve o problema da compilação. Após isso, você terá que adicionar exaustao a cada potion que foi adicionada a função na source. Vá até a pasta Actions de seu OT. Abra o script de cada potion adicionada e procure por: Logo abaixo, adicione: Sendo: 23006 = storage para exaustar (fica a seu criterio, mas tem que ser o me
  19. Esqueça o config. lua nobre colega. Vá até a pasta actions e procure pelo script de cada potion adicionada a função na source. Ao encontrar, procure por: Logo abiaxo, adicione: 23006 = storage da exhausted que usei (fica a seu criterio, mas tem que ser o mesmo em todas as potions) 0.95 = tempo de exaustao (Sempre em segundos! No meu caso, 0.95 milesimos de segundo) Boa sorte.
  20. Meu querido, Incluí no cabeçalho do actions.cpp o #include mencionado. Mesmo assim o erro de compilação continua. Busquei informaçoes sobre o Ubuntu 16.04 e verifiquei que ele utiliza o C++ 11. Continuarei na busca por uma solução. Caso alguem possa me dar um norte, agradeço!
  21. Eu tambem nao. O topico que o @WooX te direcionou com a resposta.
  22. Conseguiu compilar sem erro bro? Poderia dar uma ajuda no outro topico? Agradeço muito.
  23. Agradeço muitissimo a ajuda! Porém, tenho esse erro na hora de compilar, estou usando UBUNTU 16.04: CXX actions.o actions.cpp: In member function ‘bool Actions::useItemEx(Player*, const Position&, const P osition&, uint8_t, Item*, bool, uint32_t)’: actions.cpp:673:15: error: ‘begin’ is not a member of ‘std’ if(std::find(std::begin(potions), std::end(potions), potionID) == std::end(potions)) ^ actions.cpp:673:15: note: suggested alternatives: In file included from /usr/include/boost/foreach.hpp:74:0, from otsystem.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo