2 Erros de compilação TFS
-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
Por FeeTads
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 resolvi deixar aqui certinho pra ajudar quem precisar.
Link do tópico do naze: https://tibiaking.com/forums/topic/101086-otimizado-autoloot-in-sources-for-otx2-ou-menor/
caso alguém ja utilize esse autoloot e esteja com o problema de remover items do autoloot
só ir em player.cpp e trocar
isso:
void Player::removeAutoLoot(uint16_t id) { if(checkAutoLoot(id)) { return; } AutoLoot.remove(id); }
por isso:
void Player::removeAutoLoot(uint16_t id) { if(!checkAutoLoot(id)) return; for(std::list<uint16_t>::iterator it = AutoLoot.begin(); it != AutoLoot.end(); ++it) { if((*it) == id) { AutoLoot.erase(it); break; } } }
todos os créditos ao Naze, não sei se alguém mais fez esse código, mas como peguei do link citado acima que é post dele deixo aqui o autoloot 100% funcional direto nas sources
-
Por gpedro
Testado: MySQL & SQLite
Distro: TFS 0.4_SVN & TFS 0.3.6
MySQL
ALTER TABLE `players` ADD `resets` INT(11) NOT NULL DEFAULT "0"; SQLite ALTER TABLE players ADD resets INTEGER not null default 0 Adicionando nas sources player.h procure por: uint32_t level; logo abaixo, adicione: uint32_t resets; iologindata.cpp procure por query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`," substitua por: query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`, `resets`, " procure por player->level = std::max((uint32_t)1, (uint32_t)result->getDataInt("level")); logo abaixo adicione: player->resets = (uint32_t)result->getDataInt("resets"); procure por query << "`maglevel` = " << player->magLevel << ", "; logo abaixo adicione: query << "`resets` = " << player->resets << ", "; players.cpp procure por: s << " (Level " << level << ")"; substitua por: s << " (Level " << level << ") [Reset " << resets << "]"; players.h procure por: void setPromotionLevel(uint32_t pLevel); logo abaixo adicione: uint32_t getResets() { return resets;} void setResets(int32_t amount) { resets += amount; if (resets < 0) {resets = 0;} } luascript.cpp para 0.3.6 static int32_t luaDoPlayerSetIdleTime(lua_State* L); logo abaixo adicione: static int32_t luaGetResets(lua_State* L); static int32_t luaSetResets(lua_State* L); talkactions.xml <talkaction words="!rank;/rank" event="script" value="ranks.lua"/> <talkaction words="!reset;/reset" script="reset.lua"/> ranks.lua
Créditos: Dark Skyllen, Marcryzius, Mock, Kydrai, Cykotitan, gpedro*.
* adaptação para 0.4
-
Por EddyHavoc
Descrição: Com estas alterações nas sources do servidor e do OTC você conseguirá adicionar ao jogo uma barra de carregamento nas criaturas do jogo. Esta barra é personalizável e pode ser utilizada de diversas formas em diferentes scripts.
Server sources.
No arquivo game.h
Abaixo de:
Adicione:
No arquivo game.cpp
Adicione:
No arquivo luascript.h
Abaixo de:
Adicione:
No arquivo luascript.cpp
Abaixo de:
Adicione:
Abaixo de:
Adicione:
No arquivo player.h
Abaixo de:
Adicione:
No arquivo protocolgame.h
Abaixo de:
Adicione:
No arquivo protocolgame.cpp
No final do arquivo adicione:
Client sources.
No arquivo protocolcodes.cpp
Abaixo de:
Adicione:
No arquivo protocolgame.h
Abaixo de:
Adicione:
No arquivo protocolgameparse.cpp
Abaixo de:
Adicione:
Abaixo de:
Adicione:
No arquivo creature.h
Abaixo de:
Adicione:
Abaixo de:
Adicione:
No arquivo creature.cpp
Abaixo de:
Adicione:
Substitua o código abaixo:
Por este código:
E ainda no arquivo creature.cpp no final da página adicione:
Fim! Estas são todas as alterações!
Créditos:
EddyHavoc
Flatlander
Kondrah
Oen432
-
Por eviltox
Olá
Serei breve quanto a meu pedido.
Há muito procuro por sources referentes a versão 8.4, atualmente utilizo o The Forgotten Server, version 0.3.1 (Crying Damson), mas o mesmo já "saiu de linha" a tempos.
Gostaria de saber se alguém ainda tem as sources referentes ao Tfs 0.3.1 por ai no pc perdido, ou alguma github onde seres de luz mantém a salvo velharias ou peças de museu sources antigas.
Desde já, obrigado!
-
Por Erimyth
Galerinha, muitas vezes vocês possuem items.otb editados ou de outras versões, porém o server não aceita ele e acaba dando erro na hora de abrir seu distro, leia esse fácil tutorial e seus problemas irão acabar!
Eu usei o Crystal Server e TFS 0.4 para fazer este tutorial, porém acho que ele funciona em outras versões do TFS, bom, vamos lá!
Vá nas sources do seu servidor, abra seu items.cpp e procure por:
if(Items::dwMajorVersion == 0xFFFFFFFF) std::clog << "[Warning - Items::loadFromOtb] items.otb using generic client version." << std::endl; else if(Items::dwMajorVersion < 3) { std::clog << "[Error - Items::loadFromOtb] Old version detected, a newer version of items.otb is required." << std::endl; return ERROR_INVALID_FORMAT; } else if(Items::dwMajorVersion > 3) { std::clog << "[Error - Items::loadFromOtb] New version detected, an older version of items.otb is required." << std::endl; return ERROR_INVALID_FORMAT; } else if(!g_config.getBool(ConfigManager::SKIP_ITEMS_VERSION) && Items::dwMinorVersion != CLIENT_VERSION_920) { std::clog << "[Error - Items::loadFromOtb] Another (client) version of items.otb is required." << std::endl; return ERROR_INVALID_FORMAT; }
Agora substitua isso tudo por isso:
/*if(Items::dwMajorVersion == 0xFFFFFFFF) std::clog << "[Warning - Items::loadFromOtb] items.otb using generic client version." << std::endl; else if(Items::dwMajorVersion < 3) { std::clog << "[Error - Items::loadFromOtb] Old version detected, a newer version of items.otb is required." << std::endl; return ERROR_INVALID_FORMAT; } else if(Items::dwMajorVersion > 3) { std::clog << "[Error - Items::loadFromOtb] New version detected, an older version of items.otb is required." << std::endl; return ERROR_INVALID_FORMAT; } else if(!g_config.getBool(ConfigManager::SKIP_ITEMS_VERSION) && Items::dwMinorVersion != CLIENT_VERSION_920) { std::clog << "[Error - Items::loadFromOtb] Another (client) version of items.otb is required." << std::endl; return ERROR_INVALID_FORMAT; }*/
Agora compile seu server e seja feliz!
A única alteração que eu fiz na code é adicionar as tags de comentário /* */ para que o servidor não revise o otb.
Tutorial feito por mim com exclusividade ao TibiaKing.com!
Você gostou deste conteúdo!? Este conteúdo te ajudou!? Isso será realmente útil pra você!? Então, se possível, faça uma doação (de qualquer valor) que estará me ajudando também!
-
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.