Jump to content

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

  • A Cidade OTBR
    • OTServ Brasil
    • Atendimento
    • Taverna
  • OpenTibia
    • Notícias e Discussões
    • Suporte - Dúvidas, Bugs, Erros
    • Downloads
    • Tutoriais
    • Show-Off
    • Divulgação de Servidores
    • Projetos e Formações de Equipes
  • Outros
    • Design

Found 43 results

  1. Programação Erro na compilação

    Estou tentando compilar a TFS 1.3, de acordo com o tópico, utilizando o vcpkg disponibilizado no próprio tópico, aquele que ja vem completo. O problema é que, ao compilar, aparece o seguinte erro: 1>c:\vcpkg32\forgottenserver\src\script.cpp(23): fatal error C1083: Não é possível abrir arquivo incluir: 'boost/filesystem.hpp': No such file or directory E sim, fiz todos os passos que ele pediu corretamente.
  2. Estou tendo um problema ao recompilar o TFS 1.1, mesmo seguindo esse passo-a-passo: Ainda acontece o erro ao tentar recompilar: Acredito que a possível causa seja ao abrir, não sei o que fazer nessa tela: Se eu tento Cancelar ou seguir Sem Atualizações, ele falha. Se eu tento atualizar, acontece isso:
  3. Ola, estou tentando trocar a distro do meu servidor, visto que a que eu tenho, apesar de ser bem completa, veio sem as sources, então quando preciso realizar alguma alteração nas sources fico incapacitado. Já procurei em vários fórums e tentei alguns tutoriais, inclusive esse: E até o momento sem sucesso. Ao compilar ocorre tudo normalmente, no entanto na hora de executar o tfs aparece esse erro aqui: "Failed loading symbols, theforgottenserver.map file not found." C++ Compiler: Linker: As sources utilizadas são essas do link do primeiro link (do Majesty), link direto pra download: [Hidden Content] Se alguém puder me ajudar, agradeço.
  4. Estou com um ExtremeOT 7.6 e noitei que o executavel do server buga as vezes, "OTserver.exe parou de funcionar" eu conseguei descobrir a causa do problema é um Script que esta disponivel em um forum PL que vc loca no OT coloca IP, login, senha, nome do char. e roda o script no phyton, e faz "crashar" o OTserver.exe, ele nõa chega a fechar só para de funcionar e eu tenho que clicar na mensagem de erro para fechar e abrir novbamente gostaria se saber se alguem sabe como corrigir, se possivel algum tutorial pois não entendo muito, foi um player que me mostrou o bug e ensinou como fazer
  5. Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:
  6. Antes de fazer a sua pergunta, tenha certeza de ter lido o guia abaixo: [Hidden Content] Descreva em algumas palavras a base utilizada. (Nome do servidor / Nome do cliente / Nome do Website / etc). The Forgotten Server, version 0.4_DEV, Tibia 8.6 Base: [8.60] New 4Fun Server Qual a sua pergunta? Faço o login usando 1/1 para o account amanager, faço uma conta e deslogo, ai quando entro nessa acc criada, aparece novamente o account manager, ai clicaria nele novamente para criar um character, mas quando vc tenta entrar no account manager, ele diz q a password esta errada, e ai n e possivel criar character, fico nesse loop. Analisei alguns Scripts, nao consegui, estou deixando passar algo simples, mas esta complicado, se alguem puder ajudar Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo: Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:
  7. Antes de fazer a sua pergunta, tenha certeza de ter lido o guia abaixo: Base: TFS 1.2, Tibia 8.6 Qual a sua pergunta? Está dando um erro, mas não sei como resolver, tentei algumas coisas, porém não manjo disso , se puderem me ajudar, acho que vai ajudar muita gente, o erro está nesse TFS, pois o TFS original compila de boa. Informações do linux Eu segui exatamente esse tutorial para compilar link E o TFS é exatamente igual o baixado link , forum (OTLAND)
  8. Programação Problema com Walkthrough

    Engine: OTX 2.X.S.5 (FORGOTEN_PATH_7_X) Server em questão: RealOTX-7.72 Estou com o seguinte problema: Os personagens não conseguem passar uns por dentro dos outros ( e não devem de fato), porém quando um vem de encontro ao outro andando, eles conseguem ocupar o mesmo SQM. Dei uma fuçada nas sources mas me parece normal essa parte: player.cpp Alguém sabe dizer oque pode estar acontecendo? Pode ser que seja no otclient também, não sei dizer sinceramente... Obrigado desde já!
  9. Estou usando esse >Servidor< upado em uma maquina do Google Cloud em Ubuntu 14.04 LTS, a maneira que pensei em por online é compilando o OTX ou o The Forgottenserver, mas o que observei é que ambos são servidores prontos, fuçando as pastas achei alguns arquivos e movi eles para a pasta principal no qual eu upei o servidor Os arquivos são esses do spoiler, excluindo as pastas. Quando eu movia para a pasta principal, eu ia até ela e digitava no terminal ./tfs, com tudo configurado o servidor abria "normal", o site acusava o servidor como online, o cliente logava na tela de personagens, porem, não entrava no jogo, o modo que eu fiz pra abrir esta certo? ou eu teria que compilar outra coisa? ou se eu fiz certo, voltamos ao problema de porta do google que citei no outro >Topico<.
  10. Antes de fazer a sua pergunta, tenha certeza de ter lido o guia abaixo: [Hidden Content] Descreva em algumas palavras a base utilizada. (Nome do servidor / Nome do cliente / Nome do Website / etc). Ex: The Forgotten Server 1.3, Versão: 10.98; Base: Qual a sua pergunta? Queria saber como faço para mudar a quantidade de exp que o player precisa para passar de lvl. Exp: um player lvl 1 para passar pro lvl 2, precisa de 100exp, eu queria dividir os valores por 5, sendo o mesmo player para passar do lvl 1 ao 2 precisaria de 20 de exp. mudei essa linha no player.h e compilei porém mesmo assim não funciona. Alguem poderia me falar onde mais eu devo trocar para que funcione esse formula? Obrigado. Original: ((50ULL * lv * lv * lv) - (150ULL * lv * lv) + (400ULL * lv)) / 3ULL; Tentei essa formula: (((50ULL * lv * lv * lv) - (150ULL * lv * lv) + (400ULL * lv)) / 3ULL) / 5ULL ; Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo: Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:
  11. Programação Erro ao compilar

    Salve galera, tudo bem? Então recentemente eu tentei compilar uma função que existe na net, porem o fórum que ela estava acabou bugando totalmente o código ou parte dele na verdade, se algum de vocês conseguir me ajudar ficarei muito grato. O código foi feito para a versão: 0.3.6 - 8.54 Servidor utilizado para teste: Aqui #Resolvido: Source utilizada - [Hidden Content] ERROS: In member function 'void ProtocolGame::AddCreature(NetworkMessage_ptr, const Creature*, bool, uint32_t)': 2670 C:\Source\protocolgame.cpp 'Nick' was not declared in this scope 2670 C:\Source\protocolgame.cpp In member function 'void ProtocolGame::reloadCreature(const Creature*)': 3102 C:\Source\protocolgame.cpp expected initializer before 'it' 3103 C:\Source\protocolgame.cpp 'it' was not declared in this scope CÓDIGO:
  12. Programação Erro ao compilar

    Salve galera, tudo bem? Estou com um erro ao tentar compilar uma "source 0.3.6", não sei o que pode ser pois nem alterei nada neste arquivo; Segue o erro: In member function 'void Items::parseItemNode(xmlNode*, uint32_t)': 1739 C:\Users\items.cpp a function-definition is not allowed here before '{' token 1823 C:\Users\items.cpp expected '}' at end of input 1823 C:\Users\items.cpp *** [obj//items.o] Error 1 O código: Se alguém puder me ajudar, ficarei muito grato!
  13. Base: TFS 1.2, Versão 8.6 Qual a sua pergunta? Queria saber onde usar o OnSelectTarget e sua tag, se é em events, creaturescript... Peguei esse script de outro forum, então estarei disponibilizando o código dele aqui. Creditos: MarceLoko
  14. Segui este tutorial E o original do GitHub do TFS e estou com 3 erros em 1 mesmo arquivo RSA.H
  15. Base: The Forgotten Server 1.1, Versão: 9.86 (downgraded) Qual a sua pergunta? Onde eu encontro o código responsável pelo ganho de Speed por nível, e como ele funciona? Meu objetivo é removê-lo, ou editá-lo para que não se receba bônus de Speed cada vez que o personagem sobe de nível.
  16. Programação Efeito de Poça ao Morrer

    Galera, anteriomente, eu fiz uma postagem que eu estava querendo remover o efeito de sangue ao receber atk ou ao atk. Agr a duvida e semelhante, queria remover a poça que da ao morrer, exemplo quando eu morro ou algum jogador morre, aparece uma poça de sangue em baixo do corpo de ambos. Queria saber se alguem pode me ajudar com essa duvida ai ! TFS 0.3.6 - 8.54
  17. Programação Efeito de sangue

    Eai galera. Nos tibias e alguns derivados possuir um efeito de sangue que todos conhecem, (Ao atar um mob ou levar dano de algo, sai um efeito de sangue tanto do persgonagem quanto do mob.) Eu estava querendo remover este efeito, algumas pessoas me informaram que seria pela source em alguns locais mas não encontrei e tbm nada derivado a blood. ! Eu uso verção 8.54, 0.3.6. Se alguem puder me dar uma força agradeço.
  18. Salve salve! Estou compilando as Sources do TFS 0.4 com a rev3777 (8.6), assim como no tutorial: Cheguei na parte de compilar, depois de abrir o TFS.dev, e me surgiu uma dúvida. Dúvida: Em meu projeto, as vocações serão alteradas, não existirá mais as vocações padrão: Druid, Knight, Paladin e Sorcerer. No lugar delas, apenas 2 novas que eu pretendo/quero criar. Eu preciso mudar agora, ou posso deixar pra mexer nisso após ter meu data pack compilado? Obs.: É minha segunda compilação, e minha noção sobre isso tudo ainda é básica (ou de nível inferior), me desculpem se a dúvida for irrelevante para alguns... Desde já, agradeço o suporte. Fico no aguardo de respostas.
  19. Olá novamente! Queria tirar minhas últimas dúvidas antes de compilar meu servidor, para não acabar pulando alguma parte importante. Já me decidi em usar o "TFS 1.3", disponível na seção de Downloads: O que eu queria saber, é que alterações não poderei mais fazer após a compilação do servidor, assim como no tutorial. Há algo importante que tenho que fazer antes? Ou, mesmo após compilar, posso fazer alterações conforme minhas necessidades?
  20. Olá pessoal, no meu server quando um player usar uma runa ou potion, o char para de andar e eu queria remover isso. Algumas soluções de cunho PALIATIVO que achei são de retirar o Exhaust e não é bem essa a intenção. Estou usando um server 10.99, database_otserv.sql (acho que é do Malucooo). Obrigado pela atenção.
  21. Olá pessoal, Eu consegui adaptar o Summon/Pet para entrar no PZ, passar por dentro dos jogadores e não ser atacado. Porém, estou precisando agora que ele passe também por dentro dos monstros. A ideia do summon será apenas um suporte (como os do Naruto), ele não atrapalhará em nada, apenas dará alguns bônus como life, mana e outros para o dono. Para uma possível ajuda nessa adaptação, vou mostrar baixo aonde editei o código para que ele possa passar por dentro do player (arquivo player.cpp) alterei as linhas onde têm bool Player::canWalkthrough(const Creature* creature) const até o fechamento dela e bool Player::canWalkthroughEx(const Creature* creature) const também até o fechamento dela por todo esse código abaixo: bool Player::canWalkthrough(const Creature* creature) const { if (group->access || creature->isInGhostMode()) { return true; } if (creature->isSummon() && creature->getMaster()->getPlayer()) { return true; } const Player* player = creature->getPlayer(); if (!player) { return false; } const Tile* playerTile = player->getTile(); if (!playerTile || (!playerTile->hasFlag(TILESTATE_PROTECTIONZONE) && player->getLevel() > static_cast<uint32_t>(g_config.getNumber(ConfigManager::PROTECTION_LEVEL)))) { return false; } const Item* playerTileGround = playerTile->getGround(); if (!playerTileGround || !playerTileGround->hasWalkStack()) { return false; } Player* thisPlayer = const_cast<Player*>(this); if ((OTSYS_TIME() - lastWalkthroughAttempt) > 2000) { thisPlayer->setLastWalkthroughAttempt(OTSYS_TIME()); return false; } if (creature->getPosition() != lastWalkthroughPosition) { thisPlayer->setLastWalkthroughPosition(creature->getPosition()); return false; } thisPlayer->setLastWalkthroughPosition(creature->getPosition()); return true; } bool Player::canWalkthroughEx(const Creature* creature) const { if (group->access) { return true; } if (creature->isSummon() && creature->getMaster()->getPlayer()) { return true; } const Player* player = creature->getPlayer(); if (!player) { return false; } const Tile* playerTile = player->getTile(); return playerTile && (playerTile->hasFlag(TILESTATE_PROTECTIONZONE) || player->getLevel() <= static_cast<uint32_t>(g_config.getNumber(ConfigManager::PROTECTION_LEVEL))); } E também adicionei esse código g_game.updateCreatureWalkthrough(creature); acima do g_game.updateCreatureType(creature); que está no arquivo luascript.cpp Pronto, com isso ele passa a andar por dentro dos jogadores. -/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/- APROVEITANDO o mesmo post, se alguém souber como faz para Summonar DENTRO DO PZ, por favor. Eu adaptei para ele entrar no PZ quando o jogador entrar, mas dentro do PZ não da pra sumonar caso o Pet/Summon não esteja sumonado. Vou mostrar aonde editei os códigos aqui abaixo pra facilitar o suporte. Dentro de ReturnValue Tile::queryAdd(int32_t, const Thing& thing, uint32_t, uint32_t flags, Creature*) const no arquivo tile.cpp procurei a linha if (hasFlag(TILESTATE_PROTECTIONZONE | TILESTATE_FLOORCHANGE | TILESTATE_TELEPORT)) { e adicionei o código seguinte logo a baixo dele. // INÍCIO SUMMON ENTRAR NO PZ if (creature->isSummon()) { if (hasFlag(TILESTATE_BLOCKSOLID)) { return RETURNVALUE_NOTPOSSIBLE; } return RETURNVALUE_NOERROR; } // FIM SUMMON ENTRAR NO PZ Pronto, agora ele já entra no PZ com o player. -/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/- E pra finalizar, o código que usei pra sumonar (scripts do movements): (obs.: como não estou conseguindo fazer com que sumone-o dentro do PZ, eu adaptei um sistema para avisar que dentro do PZ não da pra sumonar, porém não é isso que eu quero, coloquei provisoriamente). local cfg = { monster = "Rat" } function onDeEquip(cid, item, slot) if #getCreatureSummons(cid) >= 1 then local pet = getCreatureSummons(cid) for _, k in ipairs(pet) do doSendMagicEffect(getThingPos(k), 13) doRemoveCreature(k) return true end end return true end function onEquip(cid, item, slot) if getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid, "This summon is not permitted in a protection zone.") else if #getCreatureSummons(cid) == 0 then local monster = doSummonCreature(cfg.monster, getThingPos(cid)) doConvinceCreature(cid, monster) doSendMagicEffect(getThingPos(cid), 13) end end return true end -/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/- Para o Pet/Summon não ser atacado eu simplesmente marquei como "0" dentro do código do próprio monstro <flag attackable="0"/> DESDE JÁ OBRIGADO !
  22. Bom dia, Pessoal, é o seguinte, estou com um bug nos frags, vamos supor que coloquei para pegar red skull com 10 frags, o player pega 10 injusts e fica red, até ai tudo bem, a red skull dele sai dps de um tempo, porem os frags não estão saindo, então se ele volta a pegar só um injust, ele fica red novamente, os frags estão demorando de mais para sair, e era para sair junto com o red.. no meu antigo distro, tinha uma função de timedecreasefrag, onde eu colocava um tempo para cada frag sair, nessa nova distro, n encontrei nada do tipo e a função não funciona nela, eu precisava de alguma solução para remover os frags corretamente... segue meu player.cpp com a parte dos frags: bool Player::addUnjustifiedKill(const Player* attacked, bool countNow) { if(!g_config.getBool(ConfigManager::USE_FRAG_HANDLER) || hasFlag( PlayerFlag_NotGainInFight) || g_game.getWorldType() != WORLDTYPE_OPEN || hasCustomFlag(PlayerCustomFlag_NotGainUnjustified) || hasCustomFlag( PlayerCustomFlag_NotGainSkull) || attacked == this) return false; if(client && countNow) { char buffer[90]; sprintf(buffer, "Warning! The murder of %s was not justified.", attacked->getName().c_str()); client->sendTextMessage(MSG_STATUS_WARNING, buffer); } time_t now = time(NULL), today = (now - 84600), week = (now - (7 * 84600)); std::vector<time_t> dateList; IOLoginData::getInstance()->getUnjustifiedDates(guid, dateList, now); if(countNow) dateList.push_back(now); uint32_t tc = 0, wc = 0, mc = dateList.size(); for(std::vector<time_t>::iterator it = dateList.begin(); it != dateList.end(); ++it) { if((*it) > week) wc++; if((*it) > today) tc++; } uint32_t d = g_config.getNumber(ConfigManager::RED_DAILY_LIMIT), w = g_config.getNumber( ConfigManager::RED_WEEKLY_LIMIT), m = g_config.getNumber(ConfigManager::RED_MONTHLY_LIMIT); if(skull < SKULL_RED && ((d > 0 && tc >= d) || (w > 0 && wc >= w) || (m > 0 && mc >= m))) setSkullEnd(now + g_config.getNumber(ConfigManager::RED_SKULL_LENGTH), false, SKULL_RED); if(!g_config.getBool(ConfigManager::USE_BLACK_SKULL)) { d += g_config.getNumber(ConfigManager::BAN_DAILY_LIMIT); w += g_config.getNumber(ConfigManager::BAN_WEEKLY_LIMIT); m += g_config.getNumber(ConfigManager::BAN_MONTHLY_LIMIT); if((d <= 0 || tc < d) && (w <= 0 || wc < w) && (m <= 0 || mc < m)) return true; if(!IOBan::getInstance()->addAccountBanishment(accountId, (now + g_config.getNumber( ConfigManager::KILLS_BAN_LENGTH)), 20, ACTION_BANISHMENT, "Unjustified player killing.", 0, guid)) return true; sendTextMessage(MSG_INFO_DESCR, "You have been banished."); g_game.addMagicEffect(getPosition(), MAGIC_EFFECT_WRAPS_GREEN); Scheduler::getInstance().addEvent(createSchedulerTask(1000, boost::bind( &Game::kickPlayer, &g_game, getID(), false))); } else { d += g_config.getNumber(ConfigManager::BLACK_DAILY_LIMIT); w += g_config.getNumber(ConfigManager::BLACK_WEEKLY_LIMIT); m += g_config.getNumber(ConfigManager::BLACK_MONTHLY_LIMIT); if(skull < SKULL_BLACK && ((d > 0 && tc >= d) || (w > 0 && wc >= w) || (m > 0 && mc >= m))) { setSkullEnd(now + g_config.getNumber(ConfigManager::BLACK_SKULL_LENGTH), false, SKULL_BLACK); setAttackedCreature(NULL); destroySummons(); } } return true; } Se alguem puder me ajudar, eu agradeceria muito. Obrigado.
  23. Programação Erro na compilação

    Boa noite, eu utilizo o TFS 0.4 rev 3884 e ao colocar a função onmoveitem ( [Hidden Content] ) ele retorna esse erro na compilação: alguém poderia me ajudar por favor? Obrigado.
  24. Olá. Estou com uma dúvida sobre a programação do jogo em si. Vejo hoje em dia vários servidores com idéias boas e remakes excelentes, e veio a dúvida: - "É possível moldar o jogo do jeito que eu quiser, ou existem limites? O que eu posso e o que eu não posso modificar?" Estou aberto à discussões. Tenho várias idéias para implementações e modificações, mas primeiro precisaria entender como o Tibia foi programado para funcionar. Aceito links de tópicos como ajuda. Desde já, agradeço.
  25. Olá Amigos, Gostaria de saber se já aconteceu o mesmo problema com vocês, seguinte; Adicionei novos efeitos no OBB, depois editei o tools.cpp e const.h, mandei compilar, substitui o exe e por último editei o constants.lua. Os efeitos apareceram ok, porem, eles não desaparecem, não sei se tem q fazer mais alguma configuração ou fiz alguma coisa errado? Outra coisa que percebi que os efeitos funcionam somente com a acc do GOD, testei em um char comum e deu debug na hora. Desde já agradeço;
×