Ir para conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Mostrando resultados para as tags ''c++''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Portal Tibiaking
    • Portal
  • Otserv
    • The Forgotten Server
    • Criação de Ots
    • Ferramentas OpenTibia
    • Linguagens de Programação
    • Mapas
    • Websites
    • Gráficos e Design
  • Otserv Tibia & Derivados
  • Tibia e Bots
    • Tibia
    • Bots & Macro
  • Diversos
    • Divulgações
    • Playground (Off-topic)

Calendários

  • Calendário Oficial
  • Calendário de OTServs
  • Calendários Diversos

Grupos de Produtos

  • Anúncios no Topo
  • Anúncios nas Assinaturas
  • Anúncios nos Tópicos
  • Outros Anúncios

Encontrar resultados em...

Encontrar resultados que contenham...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Localização


Meu personagem


OTServ favorito


Bot preferido


Interesses

  1. Olá senhores. Gostaria de uma ajuda com um script de summon que venho trabalhando no momento, gostaria que o summon andasse do lado do jogador, entretanto o mesmo sempre fica para trás ou a frente do jogador. Efetuei a alteração na source creature.cpp: void Creature::getPathSearchParams(const Creature* creature, FindPathParams& fpp) const { fpp.fullPathSearch = !hasFollowPath; fpp.clearSight = true; if(creature->isPlayerSummon()) { if(creature->getName() == "Summon Name") fpp.clearSight = false; } fpp.maxSearchDist = 12;
  2. O propósito é criar uma nova função em creaturescripts que será acionada toda vez que um novo report (CTRL + R) for aberto. Eu implementei para enviar uma notificação no grupo do Telegram, contendo os dados do report. Isso garantirá que os GMs tenham acesso aos reports dos jogadores mesmo quando não estiverem logados, e também evitará que algum report seja perdido caso o jogador saia do servidor. A parte do Telegram é apenas um exemplo. Você pode ajustar o script para executar outras ações desejadas. creatureevent.cpp: Dentro deste arquivo, localiz
  3. salve rapaziada, do TK, esses tempos eu tava a procura de um autoloot bom e eficiente, e como vocês devem saber, o autoloot usado nos scripts .lua são bem "pesados" o @Naze fez um excelentíssimo trabalho e disponibilizou um script de autoloot na source, porém como a vida é dificil, ele tem alguns bugs de função e um deles é no "remove autoloot" que quando o player digita "!autoloot remove, nome-do-item" nada acontece, eu decidi mexer e vim disponibilizar arrumado pra vcs. LEMBRANDO QUE 100% DOS CRÉDITOS SÃO AO @Naze porém se vc procurar no tópico dele ainda vai estar bugado, então resol
  4. Hoje estou bonzinho e vou postar mais uma coisa que eu fiz pro otserver que estou desenvolvendo e vou compartilhar com vocês. Você tem aquela nova moeda no seu servidor, mas os NPCs não aceitam ela e tal? Vou te dar a solução nesse tópico. ================================================================================================================ Testado no TFS 1.3 na versão 8.60 ================================================================================================================ Em player.cpp, procure a função Player::updateSaleShopList Troque
  5. REV3884 TFS 0.4 OTC 0.6.6 OBSERVAÇÃO: Bom galera hoje vim trazer um código de expansão de visão para o otclient alterado por mim, usado somente para rev3884 e então se você usa um tfs 0.3.6 ou tfs 1.0 não vai dar certo, *Esse código foi alterado por mim para ser usado apenas para rev3884, procolo 8.60 e TFS 0.4 que no caso não achei e resolvi compartilhar essas alterações. 1° TUTORIAL 1 SOURCE DO SEU SERVIDOR. Abra Protocollgame.cpp 1 Ache ((x >= myPos.x - 8 + offsetz) && (x <= myPos.x + 9 + offs
  6. Para quem deseja utilizar o 'IncreaseMagicPercent' no arquivo items.xml, que aumenta o dano mágico em porcentagem No arquivo game.cpp depois. Player* attackerPlayer; if (attacker) { attackerPlayer = attacker->getPlayer(); } else { attackerPlayer = nullptr; } Player* targetPlayer = target->getPlayer(); if (attackerPlayer && targetPlayer && attackerPlayer->getSkull() == SKULL_BLACK && attackerPlayer->getSkullClient(targetPlayer) == SKULL_NONE) { return false;
  7. Depois de milhões de anos sem programar porcaria nenhuma... Eu desenvolvi este sistema como um método de estudo. (C++) Este sistema foi inspirado no Auto Loot System por @psychonaut. (OTland) Criei o mesmo na versão mais recente do tfs. Auto Loot System for TFS 1.3 Como funciona? Simples, quando você mata um monstro e abre o corpo (você precisa clicar no corpo), os itens vão para o seu personagem. Instalando em actions.cpp, encontre: if (corpseOwner != 0 && !player->canOpenCorpse(corpseOwner)) { return RETURNVALUE_
  8. Olá pessoal, preciso da ajuda de vocês, já estou 3 meses nesse bug e não consigo resolver... Eu uso um cliente próprio versão 8.60 tfs 1.3 Já fiz alterações em diversas locais para tentar resolver essa imcompatibilidade. Player.cpp 361: exception occurred, reason: Network.cpp 946: exception occurred (ErrorCode = 0), reason: Network.cpp 921: assertion failed (BufferSize = 0) (NextToWrite = 16394), reason: BufferSize>0 Essa mensagem que aparece quando tem muitos players na mesma stack. Alguém sabe qual é o problema? Obrigado.
  9. Olá Tibiakings, Source: https://github.com/OTCv8/forgottenserver/commit/2839d4d7a8ad3597eff6c786f4ceb9b1b4b4456b#diff-e26c2fbabf42953e9a2f3e4c5749d0699804da9406cb340cc393afd3b7be4955 Datapack: creaturescripts/creaturescripts.xml <event type="extendedopcode" name="GameStore" script="game_store.lua" /> creaturescripts/scripts/login.lua player:registerEvent("GameStore") creaturescripts/scripts/game_store.lua https://github.com/OTCv8/otcv8-tools/blob/main/server/shop/shop.lua lib/lib.lua dofile('data/lib/core/json.lua')
  10. Salve Galera, olhando em minhas libs achei um script muito bom !! Em alguns servidores derivados o Skill Fist Fighting influencia no Attack Speed do Player, Então .... Segue a Formula na source que faz essa magica : Em Player.cpp Procure : uint32_t Player::getAttackSpeed() const Mude Atualize para esse função : uint32_t Player::getAttackSpeed() const { int32_t SpeedAttack; SpeedAttack = vocation->getAttackSpeed() - (getSkill(SKILL_FIST, SKILL_LEVEL) * 10); if (SpeedAttack < 500) { return 500; } else { return (uint32_t) SpeedAttack; } } Explicando : Ele irá ve
  11. Bem eu não sei nem por onde começar já que. Acredito eu que faz uns 2 anos mais ou menos que não me envolvo com Tíbia então hoje vim trazer algo novo para todos nós. Bem o que è Discord RPC? Nada mais nada menos que, aquela janelinha que mostra qual jogo você está jogando no Discord. E ao passar o mouse em cima do úsuario você pode checar os detalhes. Bem o Tíbia em sí já tem o Discord RPC por padrão mas o que eu trouxe a vocês o Discord-RPC que você pode editar como você quiser. Por exemplo. Talvez seja uma contribuição bem clichê. Mas par
  12. Bom galera, estou voltando a trabalhar com tibia após alguns anos apenas nas Sombras =P Estou com um projeto de reviver o Pokémon SvkE, exatamente como ele era nos primordios de 2010, e para isso estou utilizando o old client, mas como vocês sabem para customizar o old dá um trabalho bem pesado, já faz algumas semanas que estou estudando injeção de dependencia no old e venho aqui mostrar o meu trabalho com o moduo de Auto Updater, segue abaixo o gif: Bom como eu trabalho o dia todo e ainda estou pegado no svke nos tempos livres, acaba que fico com pouco tempo de tentar pos
  13. [TUTORIAL] Adicionar "Summoned by..." na descrição do monstro ao dar Look Como é uma alteração pequena, apesar de simples achei legal compartilhar. Ao dar look no summon de algum jogador você consegue identificar quem foi que o invocou. Acesse monster.h Altere o código abaixo: Para: Não tirei nenhum print até o momento, caso você realize a alterações, por favor compartilhe aqui o resultado! :)
  14. [TUTORIAL] Retirar o efeito de sangue nos monstros quando receberem ataque Dependendo do aspecto que você deseja dar ao seu servidor, pode ser que seja necessário retirar alguns efeitos. Na imagem abaixo você pode observar um efeito de respingo de sangue que ocorre quando os monstros levam dano. Pode ser interessante retirar este efeito em determinadas propostas de servidores alternativos, com ar mais amigáveis. (Ex: Pokemon) (Imagem demonstrando o efeito de sangue nos monstros) Acesse creature.cpp E remova o seguinte código: Agora remova o seg
  15. Testado em tfs 0.4 e otx 2! Em monsters.h procure por: Em monsters.cpp procure por: Em monster.h procure por: Em monster.cpp procure por: Em map.cpp procure por: Em configmanager.h busque por; Em configmanager.cpp busque por: Agora no config.lua adicione: monsterHasLevel = true Como está programado, a cada nível, monstros ganham 10% de HP, 1% de dano e 0.5% de defesa. Para configurar o level minimo e máximo do monstro basta adicionar no XML do monstro a tag: <level min="1" max="10"/>
  16. Uns dos problemas das maiorias dos otserv casual que estão online é o autoloot, alguns com erros e defeito na checagem dos containers e sempre consumindo muito por ser em lua fazendo checagens de tile, corpo, itens e etc. Por isso decidi da uma contribuição a essa comunidade que me evoluiu bastante um autoloot diretamente na source na função que insere os itens no corpo, otimizando em 100% na hr da entrega do item, e não tendo problemas ocasionais como corpos sobre corpos ou varias bags. Esse sistema já é bem comum quando comprado, mas gratuito acredito que ainda não tinha dis
  17. este é um tutorial de como usar um cliente com spr/dat estendido e protegido pelo CAB. fiz um video mostrando como usar um client com spr/dat estendido sem o error, basta seguir passo a passo o que eu fiz, em resumo voce precisara copiar seu dat estendido pra outro local para poder editar ele, salvando ele como não estendido e dps renomeando para poder usar junto com o original e compilando tudo com o programa cab... A DLL ajuda o cliente a ler as 2 dat (compilada pelo programa cab) , sem ela o cliente não abre, caso o teu cliente tenha o bug do ctrl+n ou alguns outros
  18. TUTORIAL BY L3K0T EXPLICAÇÃO/RESUMO: Bom galera esse sistema foi fixado por mim e resolvi trazer pra vocês o UPDATE contendo 2 moveitem pra funcionar perfeitamente ao seu jogo, esses sistemas tem a obrigação de parar players que jogam lixo na porta da sua casa, em cima do seu depot, em teleportes, e aonde você não queira. "somente dono, sub, e convidados podem jogar lixo ou mover items da sua casa" é um pacotão completo e revisado que vai evitar engraçadinhos bugar seu server. lixo no dp vídeo spoiler;; lixo house vídeo spoiler;;
  19. SALVE rapaziada do TK, esses dias vim pensando em novos scripts pro meu OT, e em um deles eu precisava que determinada area não contasse frag pro player que matasse outros, PORÉM eu precisava que os players que morressem nessa area ainda assim tivessem as penalidades da sua morte, procurei por ai, achei alguns scripts que apenas tiravam o SKULL e não realmente o FRAG do player. **script atualizado 22/10/2023** - melhorado e otimizado, levei o script pra puxar as infos por .lua / creatureScripts vou disponibilizar o code aqui, e o que fazer pra determinada area não contar frag. S
  20. Hoje vim trazer como trocar o nome das skills na source!! eu estava procurando como fazer isso mas nunca tinha achado então resolvi eu mesmo mexer e consegui achar e estou trazendo para vocês! já que eu consegui e vi vários querendo e não conseguem vim trazer a solução do tal You advanced to ou You advanced from Versão para TFS 0.4 Abra seu Dev C++ source e vá em Player.cpp e procure por! char advMsg[50]; sprintf(advMsg, "You advanced to magic level %d.", magLevel); sendTextMessage(MSG_EVENT_ADVANCE, advMsg); substitua por: ou do jeito que vocês pr
  21. Preciso de ajuda. Na minha base o player não pode empurrar enquanto targeta. Eu quero que ele continue targetando, e empurre o alvo. Agradeço desde já. game.cpp
  22. Not completely tested and not all features are working but I am releasing this so that it is considered to be fixed and merged with the official branch. Sql INSERT INTO `players` (`id`, `name`, `group_id`, `account_id`, `level`, `vocation`, `health`, `healthmax`, `experience`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `lookaddons`, `maglevel`, `mana`, `manamax`, `manaspent`, `soul`, `town_id`, `posx`, `posy`, `posz`, `conditions`, `cap`, `sex`, `lastlogin`, `lastip`, `save`, `skull`, `skulltime`, `lastlogout`, `blessings`, `onlinetime`, `deletion`, `balance`,
  23. Bom galera hoje vou ensinar a vocês como acelerar as Sprites do seu jogo pra ficar como do Tíbia Global, assista o vídeo abaixo que você vai entender. Primeiramente vá na source do seu OTClient 0.6.6 "otclient-0.6.6\src\client"ou superior e abre o game.cpp depois de aberto procure. if(version >= 1050) mude para if(version <= 1050) Salve e Agora vá em const.h e procure. INVISIBLE_TICKS_PER_FRAME = 500, ITEM_TICKS_PER_FRAME = 500, mude para INVISIBLE_TICKS_PER_FRAME = 100, ITEM_TICKS_PER_FRAME = 100, Feit
  24. E aí guys, venho a um tempo vendo as datapacks que lançam diariamente e resolvi postar o sistema de setas no cast (não sei se alguém já postou algo relativo o_o) para fazer esse sistema eu estou usando a última versão do OTX do github... LINK PARA BAIXAR (otx do mattyx) maioria das pessoas já sabem o que é esse sistema, mas pra quem não sabe, é a possibilidade de alternar o cast apertando CTRL + QUALQUER ARROW, mesmo que já tenha em vários servers, algums ainda não tem então toma aí. em protocolgame.cpp procure por void ProtocolGa
  25. 1. Atacar com a arma e usar runa ao mesmo tempo. Em player.cpp, procure por: else if((!weapon->hasExhaustion() || !hasCondition(CONDITION_EXHAUST, EXHAUST_COMBAT)) && weapon->useWeapon(this, tool, attackedCreature)) Troque por: else if(!weapon->hasExhaustion() && weapon->useWeapon(this, tool, attackedCreature)) 2. Usar runa enquanto corre. Em player.cpp, remova essa linha: setNextAction(OTSYS_TIME() + getStepDuration(dir)); Créditos: Xellath
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo