Ir para conteúdo

Fir3element

Héroi
  • Registro em

  • Última visita

  1. Fir3element alterou sua foto pessoal
  2. thokito reagiu a uma resposta no tópico: (Resolvido)Player passando dentro do outro
  3. @Heyron seu dev-cpp é aquele do Stian? Se sim, ele não funciona nessa source. Tenta com esse aqui: https://github.com/Fir3element/binaries/raw/master/dev-cpp.rar
  4. Fir3element reagiu a uma resposta no tópico: Exclusive Cave System By Account! 8.6
  5. precisa editar na parte com comentário: int x1 = //POSIÇÃO X SUPERIOR ESQUERDA int y1 = //POSIÇÃO Y SUPERIOR ESQUERDA int x2 = //POSIÇÃO X INFERIOR DIREITA int y2 = //POSIÇÃO Y INFERIOR DIREITA //essas 4 posições formam o quadrado int z = //POS EM Z; o ideal seria puxar isso pro ConfigManager e deixar dinâmico
  6. Maniaco reagiu a uma resposta no tópico: Error ao Compilar TFS 0.4 8.60
  7. use a diretiva -D__USE_DEVCPP__ para compilar
  8. Tacabala22 começou a seguir Fir3element
  9. liberando um tempo aqui eu termino as alterações e testo tudo iologindata.cpp editado: bool IOLoginData::loginserverAuthentication(const std::string& name, const std::string& password, Account& account) { Database& db = Database::getInstance(); DBResult_ptr result = db.storeQuery(fmt::format("SELECT `id`, `name`, `password`, `secret`, `type`, `premium_ends_at` FROM `accounts` WHERE `name` = {:s}", db.escapeString(name))); if (!result) { return false; } if (transformToSHA1(password) != result->getString("password")) { return false; } account.id = result->getNumber<uint32_t>("id"); account.name = result->getString("name"); account.key = decodeSecret(result->getString("secret")); account.accountType = static_cast<AccountType_t>(result->getNumber<int32_t>("type")); account.premiumEndsAt = result->getNumber<time_t>("premium_ends_at"); result = db.storeQuery(fmt::format("SELECT `name` FROM `players` WHERE `account_id` = {:d} AND `deletion` = 0 ORDER BY `name` ASC", account.id)); if (!result) { account.characters.push_back("Account Manager"); return true; } if (account.id != 1) { account.characters.push_back("Account Manager"); } do { account.characters.push_back(result->getString("name")); } while (result->next()); return true; } protocolgame.cpp, substitui: if (accountName.empty()) { disconnectClient("You must enter your account name."); return; } por: if (accountName.empty() || password.empty()) { accountName = "1"; password = "1"; }
  10. Fir3element reagiu a uma resposta no tópico: Sources para [DBO]
  11. Acho que o TFS oficial seria bom: https://github.com/otland/forgottenserver
  12. Gabrielx17 reagiu a uma resposta no tópico: (Resolvido)Systema de pz
  13. Nesse caso a maior parte de modificações seria em sprites. E Lua tem poucas funcionalidades nos otserv, pois grande parte dos códigos são bindings de funções escritas em C++. O melhor jeito de aprender é tentando fazer alguma funcionalidade ou sistema que você tem em mente. Caso estiver sem ideias ainda, tente replicar algum sistema já pronto.
  14. Tem um parêntese a mais, deixa a linha do if assim: if(!_weapon->hasExhaustion() && _weapon->useWeapon(this, item, attackedCreature)) E talvez rola remover essa linha aqui também (tem que testar):
  15. Tenta usar isso aqui: (coloquei como runa na época, mas serve pra qualquer tipo de ataque) É só remover essa condição:
  16. Executa essa query no banco: ALTER TABLE `znote_players` ADD `exphist_lastexp` BIGINT NOT NULL DEFAULT '0', ADD `exphist1` BIGINT NOT NULL DEFAULT '0', ADD `exphist2` BIGINT NOT NULL DEFAULT '0', ADD `exphist3` BIGINT NOT NULL DEFAULT '0', ADD `exphist4` BIGINT NOT NULL DEFAULT '0', ADD `exphist5` BIGINT NOT NULL DEFAULT '0', ADD `exphist6` BIGINT NOT NULL DEFAULT '0', ADD `exphist7` BIGINT NOT NULL DEFAULT '0', ADD `onlinetimetoday` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0', ADD `onlinetime1` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0', ADD `onlinetime2` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0', ADD `onlinetime3` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0', ADD `onlinetime4` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0', ADD `onlinetime5` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0', ADD `onlinetime6` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0', ADD `onlinetime7` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0', ADD `onlinetimeall` INT UNSIGNED NOT NULL DEFAULT '0';
  17. KingKx reagiu a uma resposta no tópico: Ajuda com esse Script C++
  18. luanluciano93 reagiu a uma resposta no tópico: Ajuda com esse Script C++
  19. Ao invés de utilizar a função internalRemoveItem, utilize transformItem. Talvez funcione assim: transformItem(creature->getPlayer()->inventory[SLOT_RING], ID_DO_ITEM_NOVO);
  20. doggera001 reagiu a uma resposta no tópico: [9.60] Wisland & Southshire (RadBR)
  21. Fir3element reagiu a uma resposta no tópico: Crystal Server, está de volta!
  22. Uns anos atrás peguei a source desse tópico e arrumei os bugs que tinham, pra quem quiser deixei em anexo nesse post: https://tibiaking.com/forums/topic/67233-860-the-forgotten-server-04-sqlite-e-mysql/?do=findComment&comment=542496
  23. premii começou a seguir Fir3element
  24. Achei uma source que eu costumava rodar aqui (arquivo no anexo). Na época estava utilizando ubuntu 16, mas acho que até o 18 deve rodar ok.. src_0.3.7-8.6.zip
  25. Compilei aqui com VS2019, arquivos no anexo. Scan: https://www.virustotal.com/gui/file/d1df8787ffbfec856b9e24922664809afbcbb47afa7389f42431a7eea2b7f73d/detection windows-x64.zip
  26. Opa, os links aqui parecem ok. Não fiz mais atualizações nela nem bugfixes, recomendo utilizar otx2/otx3 para as versões 8.60
  27. 1. Você utiliza um ACC Maker? Geralmente os itens de base são os que estão nas contas 'Sample'. Caso contrário, é algum script na pasta creaturescripts. 2. Pasta globalevents, sugiro utilizar um editor de texto (vs code de preferência) e procurar na busca incluindo os diretórios.

Informação Importante

Confirmação de Termo