Ir para conteúdo

MatheusEnjoy

Visconde
  • Total de itens

    301
  • Registro em

  • Última visita

  • Dias Ganhos

    3

Tudo que MatheusEnjoy postou

  1. Nome: Dosavehouse(Houseid) Versão: 1.0 Código: Powers Forum Origem: OTLand.net Versão: Testado no TFS 0.3.4 e já Implementado no TFS 0.4. Descrição: O comando pode ser usado, por exemplo, se um jogador organizar os itens na casa, e se o server crecha é o que você salvou. Bom vamos ao tutorial: Apenas useHouseDataStorage = "no" / Falso Funciona apenas em servidor MySQL. luascript.h: static int32_t luaDoSaveHouse(lua_State* L); luascript.cpp: //doSaveHouse({list}) lua_register(m_luaState, "doSaveHouse", LuaScriptInterface::luaDoSaveHouse); int32_t LuaScriptInterface::luaDoSaveHouse(lua_State* L) { //doSaveHouse(houseID) if(g_config.getBool(ConfigManager::HOUSE_STORAGE)) { std::stringstream s; s << "config: useHouseDataStorage must be = no/false"; reportErrorFunc(s.str()); lua_pushboolean(L, false); } House* house = Houses::getInstance().getHouse(popNumber(L)); if(!house) { reportErrorFunc(getErrorDesc(LUA_ERROR_HOUSE_NOT_FOUND)); lua_pushboolean(L, false); return 1; } Database* db = Database::getInstance(); DBTransaction trans(db); if(!trans.begin()) { lua_pushboolean(L, false); return 1; } if(!IOMapSerialize::getInstance()->saveHouse(db, house)) { std::stringstream s; s << "Unable to save house information, ID: " << house->getHouseId(); reportErrorFunc(s.str()); } if(!IOMapSerialize::getInstance()->saveHouseItems(db, house)) { std::stringstream s; s << "Unable to save house items, ID: " << house->getHouseId(); reportErrorFunc(s.str()); } lua_pushboolean(L, trans.commit()); return 1; } iomapserialize.cpp: Substitua de: bool IOMapSerialize::saveHouse(Database* db, House* house) Por: bool IOMapSerialize::saveHouseItems(Database* db, House* house) { if(g_config.getBool(ConfigManager::HOUSE_STORAGE)) return false; DBTransaction trans(db); if(!trans.begin()) return false; DBQuery query; query << "DELETE FROM `tile_items` WHERE `tile_id` IN (SELECT `id` FROM `tiles` WHERE `house_id` = " << house->getHouseId() << " AND `world_id` = " << g_config.getNumber(ConfigManager::WORLD_ID) << ") AND `world_id` = " << g_config.getNumber(ConfigManager::WORLD_ID); if(!db->executeQuery(query.str())) return false; query.str(""); query << "DELETE FROM `tiles` WHERE `house_id` = " << house->getHouseId() << " AND `world_id` = " << g_config.getNumber(ConfigManager::WORLD_ID); if(!db->executeQuery(query.str())) return false; query.str(""); query << "SELECT `id` FROM `tiles` WHERE `world_id` = " << g_config.getNumber(ConfigManager::WORLD_ID) << " ORDER BY `id` DESC LIMIT 1;"; DBResult* result; if(!(result = db->storeQuery(query.str()))) uint32_t tileId = 0; uint32_t tileId = result->getDataInt("id")+1; result->free(); return saveHouseRelational(db, house, tileId); } bool IOMapSerialize::saveHouseRelational(Database* db, House* house, uint32_t& tileId) { for(HouseTileList::iterator tit = house->getHouseTileBegin(); tit != house->getHouseTileEnd(); ++tit) saveItems(db, tileId, house->getHouseId(), (*tit)); return true; } iomapserialize.h : Abaixo de: bool saveMapRelational(Map* map); Adicione: bool saveHouseRelational(Database* db, House* house, uint32_t& tileId);Exemplo de uso: (Em talkaction) Código Lua: function onSay(cid, words, param, channel) if exhaustion.check(cid, 25958) then doPlayerSendCancel(cid, 'You are Exhausted (save house)') return true end local playerHouseId = getHouseByPlayerGUID(getPlayerGUID(cid)) if playerHouseId ~= nil then if doSaveHouse(playerHouseId) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'House '.. getHouseName(playerHouseId) ..' saved succesfull!') exhaustion.set(cid, 25958, 300) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'House '.. getHouseName(playerHouseId) ..' saved failed!') end else doPlayerSendCancel(cid, 'You do not rent any flat.') end return true end
  2. Nome: Dochallengeplayer(Cid, Target) Versão: 1.0 Código: Icy Forum Origem: OTLand.net Versão: Não Testado Descrição: Exeta Res Outros Jogadores Bom vamos ao tutorial: Em player.cpp: bool Player::challengePlayer(Player* player) { sendCancel("You have been taunted!"); setAttackedCreature(player); sendCreatureSquare(player, 112); sendMagicEffect(getPosition(), 13); sendMagicEffect(player->getPosition(), 14); return true; } player.h: (público) virtual bool challengePlayer(Player* player); luascript.cpp: //doChallengePlayer(cid, target) lua_register(m_luaState, "doChallengePlayer", LuaInterface::luaDoChallengePlayer); luascript.h: (protegido) static int32_t luaDoChallengePlayer(lua_State* L);
  3. Não entendi o que aconteceu com o projeto, ele simplesmente morreu?
  4. Então Fusion ficou muito bom o código, mais como faço para alterar ele para versão 8.7 do Tibia? Existe alguma forma de saber quais strings e variáveis que mudaram? Ou só entendendo mesmo o SVN para saber? Tem como pelo menos me dar umas dicas? Obrigado. -------------------------------- EDIT: Amigo, para adicionar isso ao servidor você tem que entender de programação. Para aprender isso frequente a sessão: Tutoriais de Programação Lá você ira encontrar diversos tutoriais explicando.
  5. Muito obrigado Oneshot, seu método funcionou aqui. Instalei as libs do TFS e deu certo. Mesmo não tendo funcionado muito obrigado. @Topic -------------- Build: Console in The Forgotten Server --------------- WARNING: Can't read file's timestamp: C:\Users\Matheus\Tibia\0.2.10.r100\account.cpp Compiling: ..\luascript.cpp Compiling: ..\mailbox.cpp Compiling: ..\map.cpp Compiling: ..\md5.cpp Compiling: ..\monster.cpp Compiling: ..\monsters.cpp Compiling: ..\mounts.cpp Compiling: ..\movement.cpp Compiling: ..\networkmessage.cpp Compiling: ..\npc.cpp Compiling: ..\otserv.cpp Compiling: ..\outfit.cpp Compiling: ..\outputmessage.cpp Compiling: ..\party.cpp Compiling: ..\player.cpp Compiling: ..\playerbox.cpp Compiling: ..\position.cpp Compiling: ..\protocol.cpp Compiling: ..\protocolgame.cpp Compiling: ..\protocollogin.cpp Compiling: ..\protocolold.cpp Compiling: ..\quests.cpp Compiling: ..\raids.cpp Compiling: ..\rsa.cpp Compiling: ..\scheduler.cpp Compiling: ..\scriptmanager.cpp Compiling: ..\server.cpp Compiling: ..\sha1.cpp Compiling: ..\spawn.cpp Compiling: ..\spells.cpp Compiling: ..\status.cpp Compiling: ..\talkaction.cpp Compiling: ..\tasks.cpp Compiling: ..\teleport.cpp Compiling: ..\textlogger.cpp Compiling: ..\thing.cpp Compiling: ..\tile.cpp Compiling: ..\tools.cpp Compiling: ..\trashholder.cpp Compiling: ..\vocation.cpp Compiling: ..\waitlist.cpp Compiling: ..\weapons.cpp Linking console executable: bin\Console\The Forgotten Server.exe mingw32-g++.exe: obj\Console\account.o: No such file or directory Process terminated with status 1 (2 minutes, 48 seconds) 0 errors, 0 warnings
  6. Boa tarde, Estou com um pequeno problema no meu Codeblocks, ao copilar o TFS 0.2 ele apresenta o seguinte erro: ||=== The Forgotten Server, Console ===| C:\Users\Matheus\Tibia\0.2.10.r100\luascript.cpp||In member function 'virtual bool LuaScriptInterface::initState()' C:\Users\Matheus\Tibia\0.2.10.r100\luascript.cpp|740|error: 'LUAJIT_MODE_ENGINE' was not declared in this scope| C:\Users\Matheus\Tibia\0.2.10.r100\luascript.cpp|740|error: 'LUAJIT_MODE_ON' was not declared in this scope| C:\Users\Matheus\Tibia\0.2.10.r100\luascript.cpp|740|error: 'luaJIT_setmode' was not declared in this scope| ||=== Build finished: 3 errors, 0 warnings ===| Na linha 740 á a seguinte sting: luaJIT_setmode(m_luaState, 0, LUAJIT_MODE_ENGINE | LUAJIT_MODE_ON); Creio que seja algum erro nas minhas libs, mais não faço ideia de qual. Alguém sabe me ajudar? Atenciosamente
  7. Pode voltar a fazer a mexer com Pixel Art que você tem um grande potencial.
  8. Curte jogar um storyteller tbm? Ou fica so no D&D?
  9. Concordo plenamente com meu amigo TonyHanks. Não e porque um servidor e FUN que ele vai deixar de ter RPG.
  10. Muito boa iniciativa, espero que continue e insista na ideia.
  11. Hum, só isso de sprite?
  12. Wow, parabéns gostei muito dos mapas. Muito tempo que não vejo mapas bons assim. Dica: Tente ser um pouco menos linear com as informações, por exemplo com o uso de escadas. Você esta sempre seguindo um padrão, quebre esse padrão.
  13. Hum, para quem não tem preguiça de ler e muito melhor baixar o livro D&D 4.0 Livro do Jogador e ler. Mais parabéns Vital pela iniciativa.
  14. Se foi você mesmo que escreveu o script parabéns, precisamos de mais iniciativas assim. Rep+ Vou testar depois.
  15. Quanto o criador do tópico o abandona apos algumas respostas subtendesse que o problema já foi resolvido.
  16. Sei la, só acho que a CipSoft precisa acertar mais nas "atualizações", seria uma boa eles colocar som, nevoa, chuva como já prometeram ou ate mesmo aumentar mais os desafios no sentido de melhorar a "IA", Quests mais desafiadoras, mas como dizem, cada atualizações que passa o jogo fica mais fácil. Tomara que ela vá pra vala. Então nós programadores teremos um desafio que nem a Cip foi capaz de fazer.
  17. Wikipédia diz, Eh parece que estão cavando a cova do Tibia. Mais eu iria gostar que o Tibia oficial morre-se, nos da comunidade Open iriamos ganhar com isso.
  18. Que falta de educação, tudo em caixa alta. Tente explicar melhor seu problema, deixando o tópico organizando e de quebra mude o titulo assim alguém pode te ajudar.
  19. Porta o que? :S
  20. Nenhum, tente criar seu servidor. Converse com alguns amigos aqui do forum (se não tiver amigos aqui, sugiro que faça alguns), depois juntos tentem montar um servidor.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...