Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 10/25/23 em todas áreas

  1. [OTX 2.x / 8.60] - OTSERVER

    Esdeathkill e um outro reagiu a FeeTads por uma resposta no tópico

    2 pontos
    Opa rapaziadaa beleza? Hoje estou disponibilizando uma source OTX 2, baseada na otx 2.x do mattyx - aqui, essa source que estou disponibilizando é um pouco diferente, com algumas features a mais do que a OTX padrão, como muitos sabem, a OTX serve apenas para abrir o seu OT, essa estou disponibilizando com algumas features, onde disponibilizei até scripts do TK, ou usando scripts do TK, tais como o autoloot na source do Naze, o projeto é pra Otserv 8.60. Está sendo desenvolvido no github (projeto github) onde posto atualizações diárias do datapack e source. Vocês podem postar dúvidas, erros/bugs, dicas e qualquer outra coisa aqui no tópico ou no próprio github. Lembre-se de dar FOLLOW no projeto no github e SEGUIR o projeto aqui no fórum para acompanhar as atualizações. Edit: MatheusJP2 Adicionado como contribuidor, ajudando a estender pra source custom LINK: https://github.com/FeTads/otxserver/tree/custom Essa Tree será pra implementar sistemas pra custom tibia / derivados, como sistema de aura, shaders, etc.. voltado para a modificação para OTC. Edit systems Added: Max Absorb All: (protect SSA + Might Ring, você coloca o máximo de protect all que pode ser atingido, caso o player passe disso é ignorado, o maximo de protect vai ser o que está no config.lua) Commit max absorb all edit: fixed all system Delete Players With Monster Name: Deleta o player com nome de monstro, ou com nome proibido (alteravel pelo config.lua), caso vc deixe "deletePlayersWithMonsterName = false", irá apenas renomear o player aleatóriamente sem deleta-lo, ele não conseguirá logar com nome de monstro ou nome proibido. ps: Esse script pega o monster.xml todo, então mesmo que você adicione novos monstros, não precisar mexer em nada, ele ja vai pegar o novo monstro, mesmo sem precisar derrubar o Ot etc.. deletePlayersWithMonsterName = true forbiddenNames = "gm;adm;cm;support;god;tutor;god ; god; adm;adm ; gm;gm ; cm;cm ;" --// other names here edit: 30/10 modifyDamageInK = true (essa função ativada irá modificar a saida do dano pra K, por exemplo 219000 > 219.0K / 2.000.000 > 2.00 KK). modifyExperienceInK = true (esas função também mudará a saida normal pra K, isso é bom em high EXP pra arrumar aquela exp "-2147483647", de muita EXP, irá mudar pra "+2.14 Bi Exp"). 17/01 Last Changes: displayBroadcastLog = true - Desabilita os logs de broadcast do server na distro, aqueles logs de eventos etc... deixa a distro mais limpa. (by kizuno18) enableCriticalAndDodgeSource = true - (Sistema de Dodge E Critical de StatsChange pra source, deixa mais clean, mais leve, e o sistema pega em monstros, sem a necessidade de registrar o evento, previne bugs.) pushInProtectZone = false - Sistema para desabilitar o push de player em PZ, impossibilitando que players empurrem outros players dentro do PZ. SpyCast: Sistema de SPY, pra GM+ ver a tela dos jogadores, como se eles estivessem de cast aberto, GM spy não mostra aviso nenhum que vc está monitorando o player, (sistema de telescope, se o player clicar no item com actionId configurado, mostra os players com cast on), Para GM+ mostra todos os players logados, independente se estão de cast on, para players mostra somente players com cast on. SendProgressbar: Sistema para feature do OTC, necessário saber usar e compilar o otcv8 com a modificação SetCreatureSpeed: Sistema usado pra setar a quantidade exata de speed de alguma criatura/player, usado no sistema de roleta (ainda não disponivel do datapack). (Projeto github) Informações: º 8.60 º Baseado na OTX 2.x mattyx º Lib global (sistema pesadex) º Informações / changelog Dúvidas, erros, dicas e contribuições: Caso tenha dúvidas, ou queira resolver algum bug/erro, dar dicas para o projeto, ou também ajudar em sua construção, crie um issue / pull requests pelo github ou use esse tópico. Créditos: FeTads (FeeTads#0246) mattyx (source base e datapack) Reason182 (fixes e mais) Luxx (meu sócio de servidor, ajudou com teste) Daniel (spriter e dev junior) ADM Mario (cara brabo dos mapas e testes, achador de bug profissional) Luan Luciano (cara brabo que no inicio me ajudou d++) MatheusJP2 (Editor e contribuidor com implementações pra Tree custom source) Download: O download pode ser feito diretamente no github, ou clonando o projeto via git. How Compile: Windows Tutorial - Linux(Ubuntu) Tutorial Sistemas adicionado até o momento, todos 100% e sem bug.
  2. max absorb all

    danielzin021 e um outro reagiu a FeeTads por uma resposta no tópico

    2 pontos
    salve rapaziada, vi que tem bastante procura por esse sistema de "proteção" contra player que por algum motivo ficam com proteção 100% de algum elemento ou dano, por exemplo MIGHT RING (-20% death) + SSA (-80% Death), totalizando 100% de proteção contra o elemento death, ou seja, o player fica imortal, pra previnir isso, vai aqui 2 commits caso vc saiba mexer com github: commit 1: max absorb all commit 2: fix, max protect all caso saiba mexer com github, estão os 2 commits, caso não saiba siga o passo a passo abaixo: vá até configmanager.cpp procure por: m_confString[MAP_AUTHOR] = getGlobalString("mapAuthor", "Unknown"); ACIMA adicione: m_confBool[USE_MAX_ABSORBALL] = getGlobalBool("useMaxAbsorbAll", false); m_confDouble[MAX_ABSORB_PERCENT] = getGlobalDouble("maxAbsorbPercent", 80.0f); agora vá configmanager.h procure por: RATE_MONSTER_DEFENSE, ACIMA adicione: MAX_ABSORB_PERCENT, Agora procure por: BROADCAST_BANISHMENTS, ABAIXO adicione: USE_MAX_ABSORBALL, agora vá em Player.cpp procure por: BlockType_t Player::blockHit(Creature* attacker, CombatType_t combatType, int32_t& damage, bool checkDefense/* = false*/, bool checkArmor/* = false*/, bool reflect/* = true*/, bool field/* = false*/, bool element/* = false*/) { Essa função faz a abosrção do dano DENTRO dessa função, procure por: damage -= blocked; if(damage <= 0) { damage = 0; blockType = BLOCK_DEFENSE; } TROQUE ISSO por isso: if(g_config.getBool(ConfigManager::USE_MAX_ABSORBALL)){ double maxAbsorb = (g_config.getDouble(ConfigManager::MAX_ABSORB_PERCENT) / 100.0); damage -= (blocked > (damage*maxAbsorb) ? (damage*maxAbsorb) : blocked); }else{ damage -= blocked; } if(damage <= 0) { damage = 0; blockType = BLOCK_DEFENSE; } Feito isso, RECOMPILE a source. e adicione no seu config.lua: useMaxAbsorbAll = true maxAbsorbPercent = 80.0 e pronto, agora seu ot não vai mais ter player imortal por causa de protect all. explicando: useMaxAbsorbAll = false --// se for false = sistema desativado, fica imortal > true = sistema ativado, não fica imortal maxAbsorbPercent = 80.0 --// 80 = 80%, se você quer que o maximo de protect all seja 50%, coloque 50 Créditos a mim, fiz esse sistema e postei no github.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo