Jump to content
Close

Search the Community

Showing results for tags 'Programação'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Community
    • Rules
    • Portal
    • Resources
    • Commerce
    • Clubs
  • OTServers
    • Discussion
    • Support
    • Tutorial
    • Download
    • Code Development
    • Contests and Events
    • Form Team
    • Advertise your Server
  • Tibia Bots
    • Discussion
  • League of Legends's Geral
  • League of Legends's Suporte
  • Jogos Gerais's Geral
  • Nto New Season's Tópicos
  • Fakes's Fakes
  • Tibia's Geral
  • Tibia's Notícias
  • Tibia's Media
  • Tibia's Life Thread
  • Gráficos's Geral
  • Gráficos's Tutoriais
  • Gráficos's Recursos
  • Gráficos's Aprendizagem & Recursos
  • Gráficos's Galeria
  • Gráficos's Duelos & Batalhas
  • Gráficos's Suporte
  • Desenvolvimento e Programação's Geral
  • Desenvolvimento e Programação's Tutoriais
  • Desenvolvimento e Programação's Trabalhos
  • Desenvolvimento e Programação's Suporte
  • Computação's Geral
  • Computação's Dicas e Tutoriais
  • Computação's Suporte
  • Roleplaying's Roleplaying
  • Playground's (Off-topic)
  • Divulgações's Tópicos
  • Academia de Mapping's Quadro da Clopin
  • Academia de Mapping's Dev Area
  • Academia de Mapping's Quadro do Nolis
  • Academia de Mapping's Quadro do Namikaze
  • Styller's Tópicos

Calendars

  • Official Calendar
  • OTServs Calendar
  • Several Calendars

Product Groups

  • Advertisements in Top
  • Advertisements In Signatures
  • Advertisements in Topics
  • Others Advertisements

Categories

  • Sales Section
    • Scripting Sales
    • Codes Sales
    • Mapping Sales
    • Websites Sales
    • Design/Sprites Sales
    • Bots Sales
  • Look Jobs
  • Looking for Freelancers
  • Team Formation

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Localization


My character


Favorite OTServ


Bot preferred


Interests

Found 985 results

  1. Bom no servidor que estou fazendo de dbo quando char morre ele da dbug e da em outros chars que estão perto dele
  2. .Qual servidor ou website você utiliza como base? Source r3884 Qual o motivo deste tópico? Bug, depois de compilado o executável não executa, tentei por em outra distro e não funcionou, alguém. Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  3. Eae galera do TK, vim mostrar para vocês um projeto meu que esta em andamento Launcher Update baseado na temática do Cliente 12 do global. Contato Discord: Guilherme#3515 Github: Yokaito Features ▸ Mostrando numero real de players online do servidor. ▸ Autoupdate ▪ Verifica no seu site se existe uma nova versão caso exista o launcher baixa o zip e extrai na pasta do usuário. ◈ PS: Ou seja não precisa colocar todo o cliente em si para baixar de novo apenas os arquivos modificados. ▸ Barra de progresso de download e extração com % em real time. ▸ Tag dentro do launcher mostrando a versão atual do cliente do seu servidor. ▸ Box (Direita) de Boss spawnado no servidor. ▸ Ultima newsticker lançada no seu site. ▸ Box (Esquerda) de Top level do servidor com outfit. ▸ Nome ot, background, logo, lista do boss com horário para cada dia da semana, todo totalmente configuráveis. Upcoming Features ▸ Botão para saber o horário do próximo boss (atualmente aparece apenas o que foi spawnado). PS: Estou em processo de finalização de edição do layout do Launcher junto com as features que citei logo acima. Versão Final do launcher. Essa e a primeira release dele. Tudo que for implementado daqui pra frente sao novas features. Todas que citei acima foram implementadas com sucesso. Créditos Base: Launcher AutoUpdate C# (Usei como inspiração para o back-end reescrevendo o código e adicionando novas funcionalidades e validações para erros). Kamity: Novas validações, novo layout e novas features.
  4. Como o título diz, eu estou procurando a linha das fontes tentando fazer o movimento mais rápido, mas não funciona. Deixo um video de como eu quero colocar .... bool Game::playerMoveCreature(uint32_t playerId, uint32_t movingCreatureId, const Position& movingCreaturePos, const Position& toPos, bool delay) { Player* player = getPlayerByID(playerId); if(!player || player->isRemoved() || player->hasFlag(PlayerFlag_CannotMoveCreatures)) return false; if(!player->canDoAction()) { SchedulerTask* task = createSchedulerTask(player->getNextActionTime(), boost::bind(&Game::playerMoveCreature, this, playerId, movingCreatureId, movingCreaturePos, toPos, true)); player->setNextActionTask(task); return false; } Creature* movingCreature = getCreatureByID(movingCreatureId); if(!movingCreature || movingCreature->isRemoved() || !player->canSeeCreature(movingCreature)) return false; player->setNextActionTask(NULL); if(!Position::areInRange<1,1,0>(movingCreaturePos, player->getPosition()) && !player->hasCustomFlag(PlayerCustomFlag_CanMoveFromFar)) { //need to walk to the creature first before moving it std::list<Direction> listDir; if(getPathToEx(player, movingCreaturePos, listDir, 0, 1, true, true)) { Dispatcher::getInstance().addTask(createTask(boost::bind(&Game::playerAutoWalk, this, player->getID(), listDir))); SchedulerTask* task = createSchedulerTask(std::max((int32_t)SCHEDULER_MINTICKS, player->getStepDuration()), boost::bind(&Game::playerMoveCreature, this, playerId, movingCreatureId, movingCreaturePos, toPos, true)); player->setNextWalkActionTask(task); return true; } player->sendCancelMessage(RET_THEREISNOWAY); return false; } else if(delay) { uint32_t delayTime = g_config.getNumber(ConfigManager::PUSH_CREATURE_DELAY); if(delayTime > 0) { SchedulerTask* task = createSchedulerTask(delayTime, boost::bind(&Game::playerMoveCreature, this, playerId, movingCreatureId, movingCreaturePos, toPos, false)); player->setNextActionTask(task); return true; } } Video
  5. Opa galerinha do tk, hoje venho pedir um suporte para vocês em relação ao famoso auto target existente no elfbot, não sei se isto e exatamente um bug porem ao player sair da tela ao invés do target sair ele ainda continua fixado no player, não pretendo mudar minha distro tenho todo acesso a minha soucer na qual esta na versao 0.4 8.60, edito um narutibia rep ++ Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  6. 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 + offsetz) && //(y >= myPos.y - 6 + offsetz) && (y <= myPos.y + 7 + offsetz)); ALTERE PARA: ((x >= myPos.x - Map::maxClientViewportX + offsetz) && (x <= myPos.x + (Map::maxClientViewportX+1) + offsetz) && (y >= myPos.y - Map::maxClientViewportY + offsetz) && (y <= myPos.y + (Map::maxClientViewportY+1) + offsetz)); 2 Ache: GetMapDescription(pos.x - 8, pos.y - 6, pos.z, 18, 14, msg); ALTERE PARA: GetMapDescription(pos.x - Map::maxClientViewportX, pos.y - Map::maxClientViewportY, pos.z, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, msg); 3 Ache: if(oldPos.y > newPos.y) // north, for old x { msg->put<char>(0x65); GetMapDescription(oldPos.x - 8, newPos.y - 6, newPos.z, 18, 1, msg); } else if(oldPos.y < newPos.y) // south, for old x { msg->put<char>(0x67); GetMapDescription(oldPos.x - 8, newPos.y + 7, newPos.z, 18, 1, msg); } if(oldPos.x < newPos.x) // east, [with new y] { msg->put<char>(0x66); GetMapDescription(newPos.x + 9, newPos.y - 6, newPos.z, 1, 14, msg); } else if(oldPos.x > newPos.x) // west, [with new y] { msg->put<char>(0x68); GetMapDescription(newPos.x - 8, newPos.y - 6, newPos.z, 1, 14, msg); } ALTERE PARA: if (oldPos.y > newPos.y) { // north, for old x msg->put<char>(0x65); GetMapDescription(oldPos.x - Map::maxClientViewportX, newPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); } else if (oldPos.y < newPos.y) { // south, for old x msg->put<char>(0x67); GetMapDescription(oldPos.x - Map::maxClientViewportX, newPos.y + (Map::maxClientViewportY+1), newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); } if (oldPos.x < newPos.x) { // east, [with new y] msg->put<char>(0x66); GetMapDescription(newPos.x + (Map::maxClientViewportX+1), newPos.y - Map::maxClientViewportY, newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); } else if (oldPos.x > newPos.x) { // west, [with new y] msg->put<char>(0x68); GetMapDescription(newPos.x - Map::maxClientViewportX, newPos.y - Map::maxClientViewportY, newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); } 4 ache GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 5, 18, 14, 3, skip); //(floor 7 and 6 already set) GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 4, 18, 14, 4, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 3, 18, 14, 5, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 2, 18, 14, 6, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 1, 18, 14, 7, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 0, 18, 14, 8, skip); Altere para GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 5, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 3, skip); //(floor 7 and 6 already set) GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 4, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 4, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 3, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 5, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 6, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 1, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 7, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 0, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 8, skip); 5 ache GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, oldPos.z - 3, 18, 14, 3, skip); ALTERE PARA GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, oldPos.z - 3, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 3, skip); 6 ACHE GetMapDescription(oldPos.x - 8, oldPos.y + 1 - 6, newPos.z, 1, 14, msg); ALTERE PARA GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - (Map::maxClientViewportY-1), newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); 7 ACHE GetMapDescription(oldPos.x - 8, oldPos.y - 6, newPos.z, 18, 1, msg); ALTERE PARA GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); 8 Ache GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z, 18, 14, -1, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 1, 18, 14, -2, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 2, 18, 14, -3, skip); Altere para GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -1, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 1, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -2, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -3, skip); 9 ache GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 2, 18, 14, -3, skip); Altere para GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -3, skip); 10 ache GetMapDescription(oldPos.x + 9, oldPos.y - 1 - 6, newPos.z, 1, 14, msg); Altere para GetMapDescription(oldPos.x + Map::maxClientViewportX+1, oldPos.y - (Map::maxClientViewportY+1), newPos.z, 1, ((Map::maxClientViewportY+1)*2), msg); AGORA EM MAP.H ache static const int32_t maxViewportX = 11; //min value: maxClientViewportX + 1 static const int32_t maxViewportY = 11; //min value: maxClientViewportY + 1 static const int32_t maxClientViewportX = 8; static const int32_t maxClientViewportY = 6; altere para: static const int32_t maxViewportX = 18; //min value: maxClientViewportX + 1 static const int32_t maxViewportY = 18; //min value: maxClientViewportY + 1 static const int32_t maxClientViewportX = 14; static const int32_t maxClientViewportY = 12; Pronto agora é só compilar a source do seu servidor 8.60 rev3884 PARTE 2 OTCLIENT 0.6.6 abra o map.cpp da source do otclient ache void Map::resetAwareRange() { AwareRange range; range.left = 8; range.top = 6; range.bottom = 7; range.right = 9; setAwareRange(range); } ALTERE PARA void Map::resetAwareRange() { AwareRange range; range.left = 14; //Change this to = maxClientViewportX range.top = 12; //Change this to = maxClientViewportY range.bottom = range.top+1; range.right = range.left+1; setAwareRange(range); } COMPILE A SOURCE DO OTCLIENT E PRONTO!!! ESPERO TER SANADO VÁRIAS DÚVIDAS DE AUMENTAR TELA DO OTCLIENT EM REV3884. CRÉDITOS: Pra mim pela alterações funcionais. e pelo Flatlander por disponibilizar para tfs 0.3.6 e 1.0 pois esse está alterado pra tfs 0.4
  7. Pessoal, estou perdido, não sou de pedir ajuda antes de me esgotar tentando, vcs são minha única salvação. Preciso muito compilar esse server pra resolver vários problemas urgentes, o único problema é que eu não consigo compilar de jeito nenhum. Já fazem vários dias, com várias horas por dia tentando compilar esse servidor e simplesmente tudo dá errado. Eu baixei o servidor deste link: https://www.xtibia.com/forum/topic/242402-global-100-740-cliente-proprio-port-hope-74-poi-demon-oak-war-system-shared-exp-cast-system-anti-clone-task-system/ Informações relevantes sobre a distro já compilada que tenho aqui: The SoftCores Version: (1.0.X.S - 4) - Codename: (LORD ZEDD) Compiled with Microsoft Visual C++ version 14.0 for arch 32 Bits at May 3 2017 00:34:27 A server developed by: Mattyx14 and TFS Developers. Visit for updates, support, and resources: https://github.com/mattyx14/otxserver/ 0ª tentativa (escrita depois porque acho que pode ser relevante): tentei baixar o visual studio 2015 da versão pedida, mas não consegui pelo site da microsoft e todos os outros sites usam esse link pra disponibilizar o download, porém vi que o visual studio 2019 reconhece o projeto como da versão de 2015. 1ª tentativa (com as sources que vieram com o servidor que baixei): segui este tutorial do Wiki (https://github.com/mattyx14/otxserver/wiki/Compilling-on-Windows) deste link https://github.com/mattyx14/otxserver/ (que é o link citado no log da distro quando executada), apesar de no link de 'como compilar', diz funcionar somente para a versão 3.X (OTX). 2ª tentativa: tentei com as sources do OTX 3.X (os mais atuais do git) da mesma forma que tentei a primeira vez. 3ª tentativa: fui importando todas as bibliotecas na mão conforme foram pedidas pelo compilador (eu compilava e a cada erro ia incluindo mais bibliotecas e linkagens), no fim disso deram vários erros de funções, como se eu tivesse usando funções incompativeis com a linguagem. 4ª tentativa: o visual studio pediu nas tentativas anteriores que eu 'convertesse o projeto pra uma versão superior do Windows SDK (10.0), e eu tava deixando, dessa vez tentei fazer sem, sem sucesso tbm. 5ª tentativa: tentei todas as tentativas anteriores mudando o diretório do boost pra versões diferentes: tentei a boost_1_60_0, boost_1_64_0 e boost_1_71_0 reparei que depois de um monte de gambiarras deu um erro no import dessa lib: libboost_systemvc141-mt-1_62.lib junto de vários outros erros. Foram várias outras tentativas tentando mudar de tudo que eu consegui pensar... Enfim pessoal, no fim das contas eu fiquei pensando que talvez fosse alguma coisa boba que eu tenha deixado passar, que tava esquentando demais a cabeça e não indo pra lugar nenhum. Quem sabe alguém aqui já sabe o que é, então por isso vim aqui. Espero de verdade que alguém me de uma luz. É foda se sentir impotente e tentar tanto sem sucesso. Me ajudem, por favor. Coloquei em anexo as sources que vieram com o servidor. sources.rar
  8. Alguem sabe me dizer como eu faço pra um item rodar um script e ter a funçao de equipamento no movements.xml? Exemplo: <movevent type="Equip" itemid="12674" slot="shield" event="script" value="xdxd.lua"/> <movevent type="Equip" itemid="12674" slot="shield" event="script" value="xdxd.lua"> e <movevent type="Equip" itemid="12674" slot="shield" event="function" value="onDeEquipItem"/> <movevent type="Equip" itemid="12674" slot="shield" event="function" value="onEquipItem"> assim nao funciona pq ele acusa q é duplicado, mas se eu por só o do script ele nao recebe os atributos colocados no items.xml
  9. Gente to procurando um sistema de critico para treinar ele ja testei varios o unico que funciono foi o do @xWhiteWolf mais ele estava multiplicando o dano sempre q critava ate bater 1 kkk + , testei o do VirrageS a ideia era otima mais sempre dava erro no lua e n consegui rodar to desesperado ja alguem me ajuda pf .
  10. Bom dia galera, gostaria de fazer um pedido caso alguém possa disponibilizar. Preciso do tfs 0.4 ou do fireelement ou do yan Lima, pois não estou conseguindo compilar no Linux 16.04, alguém que tenha já compilado em linux poderia por favor disponibilizar?
  11. Olá, Estamos com um projeto de servidor 8.6 e buscamos por um Scripter com experiencia e que esteja compromissado a fazer parte de nossa equipe. Procuramos alguém que tenha tempo e compromisso para se dedicar ao servidor e que esteja disposto a evoluir junto ao mesmo. Caso tenha interesse, entre em contato comigo aqui no Tibia King para conversarmos.
  12. Fala galera estou editando um projeto, e hoje fui abrir um teste para uns amigos, e toda vez que botava o server online com meu ip, o tfs crashava entao me sugeriram a compilar a source usando o visual studio que o erro parava, eu tentei aqui mais nao obtive sucesso, como faz anos que nao mexo com otserv e recentemente voltei, eu to perdido nessa area, agradeço desde a ajuda. .Qual servidor ou website você utiliza como base? Tfs 0.4 Qual o motivo deste tópico? AJUDA PARA COMPILAR EM VISUAL STUDIO ALGUEM CONSEGUIRIA COMPILAR ELA PRA MIM OBS: TEM QUE SER COMPILADA EM VISUAL STUDIO #EDIT; EU LI A RESPEITO, QUE COMPILANDO EM 64x O ERRO PARA, se alguem conseguir compilar pra mim irei ficar mt grato Source.7z
  13. Boa tarde, preciso de ajuda com um servidor de poketibia. É o seguinte, eu preciso que o character do player consiga atacar os pokemon, ou seja, nos dêmais poketibias, o player summona um pokemon e esse pokemon ataca outros pokemons, o player em si não dá dano nos monstrinhos, só q eu quero que o player consiga dar dano nos pokemon com seu próprio character sem precisar de um summon como se fosse um Tibia. Como posso ativar o dano do player no OT? Obrigado.
  14. tipo, eu tenho um server de exp altissima quando chega lvl 65,550 +- , o level reseta pra 1 (na barra de skills) ai eu tava dando uma conferida aqui no TK, que o tibia 8.60 é de unit 16 (ou 8 ) se nao me engano... eu queria aumentar esse unit pra 32, pra poder expandir esse limite de level (65,550) na barra de skills...barra de hp/mana etc.... (pra mostrar o numero exato) alguem pode dar uma força? (não é pelas sources, é pela pasta do tibia mesmo, só nao sei aonde e qual programa tenho que baixar pra editar)
  15. Boa tarde, estou precisando diminuir o exausted da SD no meu servidor, porem sem sucesso, já alterei no config.lua e em spells.xml mas continua com o mesmo exausted, precisava baixar urgente actions.cpp @WooX
  16. Olá pessoal, bom dia! Há 3 anos tive um OT dedicado que a chaitosoft subiu pra mim em um dedicado. Após fechá-lo, salvei tudo, inclusive o distro. Ele rodava no Linux, uma versão sem interface gráfica. Agora estou precisando executá-lo novamente e o distro simplesmente não abre. Instalei o linux na minha máquina (Ubuntu 14.06) e não consigo abri-lo de jeito algum. Há como saber qual o problema? Ou pode ser por conta da versão do Linux que ele não abre? Uma segunda questão é como eu compilo um distro 8.6? Tenho as sources, porém não tenho aqueles arquivos make, makelist e tal. Tentei jogar as srcs dentro de um distro aqui que consigo compilar, porém dá um monte de erro. Poderiam me socorrer? Como faço pra usar essas sources que tenho do meu distro e compilar novamente?
  17. Estou querendo remover a funçao exhaust e usar cooldown em tudo, principalmente nas runas, quero q seja possivel usar magias de attack e runas, potar e subir escadas ou puxar. ja procurei bastante e tentei fazer as alteraçoes, mas sem efeito. ja tentei: reduzir o tempo das actions do config.lua. ja tentei todo tipo de alteraçao no spells.xml
  18. Era uma duvida... porque baixei umas source de cast no meu server 8.60, ate que funcionou o cast... mais com 10 minutos o server fica offline, toda vez que abro o server com 10 minutos ele para, mostra a lista de characters da conta, mais so nao consegue logar. vasculhei todo o fórum e só achei um comentário sobre cast >> tá funcionando sem problemas (só precisa adicionar o byte 0x1D pra conexão não ficar caindo) Alguem sabe oque significa esse byte 0x1D? e como adicionar? acho que isso pode ser o problema da conexão. Dessa tela nao entra mais, so fica nessa tela.
  19. map.cpp monster->name = monster->getName() + " [" + itoa(level, buffer, 10) + "]"; ‘itoa’ was not declared in this scope tentei por o sistema de monster level e quando vou compilar da esse error. ja tentei de varias formas corrigir, mas sem sucesso
  20. Boa tarde galera,estou tentando abrir meu servidor no ubuntu 16.04, mas sempre que tento iniciar o servidor com otx que veio junto ao servidor da apenas esse erro. ./theotxserver-antigoantes: error while loading shared libraries: libboost_thread.so.1.54.0: cannot open shared object file: No such file or directory ao tentar colocar uma outra disto ele abre normalmente mas com varios erros na distro. o que posso fazer para resolver?
  21. Boa tarde galera, precisa de uma ajuda de vocês, como comecei a mexer a pouco tempo com otserv, estou com um bug no servidor de exausted, por exemplo.. se estou segurando a seta do teclado para qualquer direção não consigo fazer mais ação nenhuma, por exemplo não consigo andar e atacar runas, ou andar e mover itens do chão, ou mover itens da minha própria backpack, puxar rings etc, tem algum jeito que posso tirar esses exausted? que eu possa andar e atacar runas, usar potions etc..
  22. .Qual servidor ou website você utiliza como base? Qual quer base esta dando a mesma coisa.. já tentei em muitas 😕 Qual o motivo deste tópico? Estou tentando Compila no DEV CCP ja fiz todos tutorial que tem em forum e sempre da a mesma coisa. Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: //////////////////////////////////////////////////////////////////////// // OpenTibia - an opensource roleplaying game //////////////////////////////////////////////////////////////////////// // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. //////////////////////////////////////////////////////////////////////// // C++ Implementation: databaseodbc // Description: Frontend for ODBC connections // // Author: Bruno R Ferreira <brf_coldf@yahoo.com.br>, (C) 2007 //////////////////////////////////////////////////////////////////////// #include "otpch.h" #include <iostream> #include "database.h" #include "databaseodbc.h" #include "configmanager.h" extern ConfigManager g_config; #define RETURN_SUCCESS(ret) (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO) DatabaseODBC::DatabaseODBC() { m_connected = false; char* dns = new char[SQL_MAX_DSN_LENGTH]; char* user = new char[32]; char* pass = new char[32]; strcpy((char*)dns, g_config.getString(ConfigManager::SQL_DB).c_str()); strcpy((char*)user, g_config.getString(ConfigManager::SQL_USER).c_str()); strcpy((char*)pass, g_config.getString(ConfigManager::SQL_PASS).c_str()); SQLRETURN ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &m_env); if(!RETURN_SUCCESS(ret)) { std::cout << "Failed to allocate ODBC SQLHENV enviroment handle." << std::endl; m_env = NULL; return; } ret = SQLSetEnvAttr(m_env, SQL_ATTR_ODBC_VERSION, (SQLPOINTER*)SQL_OV_ODBC3, 0); if(!RETURN_SUCCESS(ret)) { std::cout << "SQLSetEnvAttr(SQL_ATTR_ODBC_VERSION): Failed to switch to ODBC 3 version." << std::endl; SQLFreeHandle(SQL_HANDLE_ENV, m_env); m_env = NULL; } if(m_env == NULL) { std::cout << "ODBC SQLHENV enviroment not initialized." << std::endl; return; } ret = SQLAllocHandle(SQL_HANDLE_DBC, m_env, &m_handle); if(!RETURN_SUCCESS(ret)) { std::cout << "Failed to allocate ODBC SQLHDBC connection handle." << std::endl; m_handle = NULL; return; } ret = SQLSetConnectAttr(m_handle, SQL_ATTR_CONNECTION_TIMEOUT, (SQLPOINTER*)5, 0); if(!RETURN_SUCCESS(ret)) { std::cout << "SQLSetConnectAttr(SQL_ATTR_CONNECTION_TIMEOUT): Failed to set connection timeout." << std::endl; SQLFreeHandle(SQL_HANDLE_DBC, m_handle); m_handle = NULL; return; } ret = SQLConnect(m_handle, (SQLCHAR*)dns, SQL_NTS, (SQLCHAR*)user, SQL_NTS, (SQLCHAR*)pass, SQL_NTS); if(!RETURN_SUCCESS(ret)) { std::cout << "Failed to connect to ODBC via DSN: " << dns << " (user " << user << ")" << std::endl; SQLFreeHandle(SQL_HANDLE_DBC, m_handle); m_handle = NULL; return; } m_connected = true; } DatabaseODBC::~DatabaseODBC() { if(m_connected) { SQLDisconnect(m_handle); SQLFreeHandle(SQL_HANDLE_DBC, m_handle); m_handle = NULL; m_connected = false; } SQLFreeHandle(SQL_HANDLE_ENV, m_env); } bool DatabaseODBC::getParam(DBParam_t param) { switch(param) { case DBPARAM_MULTIINSERT: default: break; } return false; } bool DatabaseODBC::beginTransaction() { return true; // return executeQuery("BEGIN"); } bool DatabaseODBC::rollback() { return true; // SQL_RETURN ret = SQLTransact(m_env, m_handle, SQL_ROLLBACK); // return RETURN_SUCCESS(ret); } bool DatabaseODBC::commit() { return true; // SQL_RETURN ret = SQLTransact(m_env, m_handle, SQL_COMMIT); // return RETURN_SUCCESS(ret); } bool DatabaseODBC::executeQuery(const std::string& query) { if(!m_connected) return false; #ifdef __SQL_QUERY_DEBUG__ std::cout << "ODBC QUERY: " << query << std::endl; #endif SQLHSTMT stmt; SQLRETURN ret = SQLAllocHandle(SQL_HANDLE_STMT, m_handle, &stmt); if(!RETURN_SUCCESS(ret)) { std::cout << "Failed to allocate ODBC SQLHSTMT statement." << std::endl; return false; } std::string buf = _parse(query); ret = SQLExecDirect(stmt, (SQLCHAR*)buf.c_str(), buf.length()); if(!RETURN_SUCCESS(ret)) { std::cout << "SQLExecDirect(): " << query << ": ODBC ERROR." << std::endl; return false; } return true; } DBResult* DatabaseODBC::storeQuery(const std::string& query) { if(!m_connected) return NULL; #ifdef __SQL_QUERY_DEBUG__ std::cout << "ODBC QUERY: " << query << std::endl; #endif SQLHSTMT stmt; SQLRETURN ret = SQLAllocHandle(SQL_HANDLE_STMT, m_handle, &stmt); if(!RETURN_SUCCESS(ret)) { std::cout << "Failed to allocate ODBC SQLHSTMT statement." << std::endl; return NULL; } std::string buf = _parse(query); ret = SQLExecDirect(stmt, (SQLCHAR*)buf.c_str(), buf.length() ); if(!RETURN_SUCCESS(ret)) { std::cout << "SQLExecDirect(): " << query << ": ODBC ERROR." << std::endl; return NULL; } DBResult* results = (DBResult*)new ODBCResult(stmt); return verifyResult(results); } std::string DatabaseODBC::escapeBlob(const char *s, uint32_t length) { std::string buf = "'"; for(uint32_t i = 0; i < length; i++) { switch(s) { case '\'': buf += "\'\'"; break; case '\0': buf += "\\0"; break; case '\\': buf += "\\\\"; break; case '\r': buf += "\\r"; break; case '\n': buf += "\\n"; break; default: buf += s; } } buf += "'"; return buf; } std::string DatabaseODBC::_parse(const std::string& s) { std::string query = ""; query.reserve(s.size()); bool inString = false; for(uint32_t a = 0; a < s.length(); a++) { uint8_t ch = s[a]; if(ch == '\'') { if(inString && s[a + 1] != '\'') inString = false; else inString = true; } if(ch == '`' && !inString) ch = '"'; query += ch; } return query; } int32_t ODBCResult::getDataInt(const std::string& s) { listNames_t::iterator it = m_listNames.find(s); if(it != m_listNames.end()) { int32_t value; SQLRETURN ret = SQLGetData(m_handle, it->second, SQL_C_SLONG, &value, 0, NULL); if(RETURN_SUCCESS(ret)) return value; else std::cout << "Error during getDataInt(" << s << ")." << std::endl; } std::cout << "Error during getDataInt(" << s << ")." << std::endl; return 0; // Failed } int64_t ODBCResult::getDataLong(const std::string& s) { listNames_t::iterator it = m_listNames.find(s); if(it != m_listNames.end()) { int64_t value; SQLRETURN ret = SQLGetData(m_handle, it->second, SQL_C_SBIGINT, &value, 0, NULL); if(RETURN_SUCCESS(ret)) return value; else std::cout << "Error during getDataLong(" << s << ")." << std::endl; } std::cout << "Error during getDataLong(" << s << ")." << std::endl; return 0; // Failed } std::string ODBCResult::getDataString(const std::string& s) { listNames_t::iterator it = m_listNames.find(s); if(it != m_listNames.end()) { char* value = new char[1024]; SQLRETURN ret = SQLGetData(m_handle, it->second, SQL_C_CHAR, value, 1024, NULL); if(RETURN_SUCCESS(ret)) { std::string buff = std::string(value); return buff; } else std::cout << "Error during getDataString(" << s << ")." << std::endl; } std::cout << "Error during getDataString(" << s << ")." << std::endl; return std::string(""); // Failed } const char* ODBCResult::getDataStream(const std::string& s, uint64_t& size) { listNames_t::iterator it = m_listNames.find(s); if(it != m_listNames.end()) { char* value = new char[1024]; if(RETURN_SUCCESS(SQLGetData(m_handle, it->second, SQL_C_BINARY, value, 1024, (SQLLEN*)&size))) return value; } std::cout << "Error during getDataStream(" << s << ")." << std::endl; size = 0; return 0; // Failed } void ODBCResult::free() { if(m_handle) { SQLFreeHandle(SQL_HANDLE_STMT, m_handle); delete this; } else std::cout << "[Warning - ODBCResult::free] Trying to free already freed result." << std::endl; } bool ODBCResult::next() { SQLRETURN ret = SQLFetch(m_handle); return RETURN_SUCCESS(ret); } ODBCResult::ODBCResult(SQLHSTMT stmt) { if(!res) { delete this; return; } m_handle = stmt; int16_t numCols = 0; SQLNumResultCols(m_handle, &numCols); for(int32_t i = 1; i <= numCols; i++) { char* name = new char[129]; SQLDescribeCol(m_handle, i, (SQLCHAR*)name, 129, NULL, NULL, NULL, NULL, NULL); m_listNames[name] = i; } } Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  23. Salve to com uma duvida, fiz um codigo nas sources para que puxa os nomes dos pokemons de uma X tabela Porém ela só esta puxando numeros ao inves dos Nome , alguem pode me explicar o Porque? Codigo Feito std::string IOLoginData::getPokes(const std::string& name) const { Database* db = Database::getInstance(); DBQuery query; query << "SELECT `pokes` FROM `players` WHERE `name` " << db->getStringComparison() << db->escapeString(name) << " AND `deleted` = 0 ;"; DBResult* result; if (!(result = db->storeQuery(query.str()))) return false; const uint32_t pPokes = result->getDataInt("pokes"); std::stringstream ret; ret << pPokes; result->free(); return ret.str(); }
  24. Olá galera, venho pedir para que alguém me ajude com um erro que apareceu ao tentar compilar a sourcer do meu ot Erro iologindata.cppluascript.cpp Obrigado desde já para quem puder me dar um HELP!
  25. alguem sabe me dizer como posso arrumar isso no meu otc? ele abre mas n fecha e nao marca no mapa.

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...