Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 01/04/17 em %
-
Iniciar servidor e Parar servidor em arquivos .bat
nociam e um outro reagiu a VanderleyJun por um tópico no fórum
Informações Nome: Start, Stop com save do server, Stop sem salvar o progresso do server. Versão: 0.1 Código: Vanderley Tutorial Iniciar server Tutorial server stop com o save Tutorial server stop sem save Local de edição Então galera espero que vocês tenha gostado do meu primeiro tópico aqui no Tibia King Espero que você deem um REP++ para me incentivar a trazer mais conteudos para vocês espero que tenham gostado e um abraço para vocês <3 Ja postei em outro forum então se vocês dizerem que estou copiando é mentira hihi2 pontos -
OBD é o formato usado pelo programa Object Builder para exportar e importar objetos no cliente. O tutorial pretende dar dicas básicas para melhor aproveitamento do formato. Exportando um OBD 1 - Abra seus arquivos do cliente no Object Builder. 2 - Clique no botão exportar que fica abaixo da visualização do objeto ou clique com o direito do mouse sobre o objeto na lista. 3 - Selecione o formato OBD e a versão do cliente. Importando um arquivo OBD 1 - Clique no botão importar que fica abaixo da visualização do objeto. 2 - Na janela Import Object, selecione o arquivo que deseja importar. Para importar mais de um objeto por vez, arraste os objetos direto do seus arquivos para dentro do programa e solte-os na área de visualização ou na lista de objetos. Editando OBD Se você precisa editar apenas um ou alguns OBDs. 1 - Crie novos arquivos spr e dat no Object Builder para sua versão de cliente. 2 - Importe o OBD que você deseja editar. 3 - Faça as alterações necessárias. 3 - Exporte o objeto modificado novamente como OBD. IDC para OBD Se você tem alguns IDCs e gostaria de converter pra OBD. 1 - Crie novos arquivos spr e dat no Object Builder para sua versão de cliente. 2 - Compile os arquivos. 3 - Abra os arquivos criados em um editor que suporta IDC e importe os IDCs que você precisa. 4 - Compile os arquivos. 5 - Abra os arquivos compilados novamente no Object Builder e exporte como OBD. Visualizando o conteúdo dos OBDs Use o programa Object Viewer para visualizar arquivos OBDs. Estrutura dos arquivos OBDs (Para desenvolvedores) Créditos Edmignari (edmignari@xtibia.com)1 ponto
-
Devido a um trabalho extracurricular, eu e meu amigo @Avuenja desenvolvemos uma lista de Tibia Clients para facilitar a vida dos jogadores que procuram por downloads. Tibia Clients - Downloads Windows Este site é gerenciado e hospedado por nós, cada Client foi baixado do site Tibia.com e de alguns Supported Fansites. Aproveite!1 ponto
-
Item Editor 10.90
BrunoMaciel reagiu a Bruno por um tópico no fórum
Changelog Versão 10.90 Suporte para versões 8.00+ Última versão do projeto oficial Download Item Editor Items.otb Créditos Mignari @Bruno1 ponto -
O script de hoje eu não fiz sozinho. Fomos eu e o @zipter98 que fizemos e o @dalvorsn nos ajudou a solucioar um problema bem chato. Para ver os outros script de terça, clique aqui. Oq o script faz? A cada monstro que vc mata, os itens que vc está usando ganham 1 de exp. Quando seus itens alcançam números determinados de exp, eles upam ficam com o nome Demon Helmet + 1, etc e também são melhorados. Elmos, armaduras, calças e botas ganham 1 de arm por level, escudos, 1 de def e armas 1 de ataque. Crie itens upgrade.lua em data/creaturescripts/scripts e coloque: Em data/creaturescripts/creturescripts.xml, coloque essas duas TAGs: <event type="kill" name="Item level" event="script" value="itens upgrade.lua"/><event type="login" name="Item levell" event="script" value="itens upgrade.lua"/> Para configurar a seu gosto, basta alterar as tabelas conforme explicado nos comentários dentro do código. Abraços.1 ponto
-
Namikaze Show off
Eskylo reagiu a Beto Namikaze por um tópico no fórum
Saudações Xtibianos! Venho mostra meu projeto,aceito dicas. 1. Subsolo do templo,Inicio para os player,npc de ajuda,Portal misterioso.acesso a monstros iniciais. 2- Segundo andar do templo,portais eventos e castle24hrs,potions. 3-npc de equipamentos,addon,house.trep suicida. 4-Houses,treps legais para pvp 5-Mais houses e mais Traps. 6- house cassino,primeiro andar templo. 7- Preciso de ajuda to sem ideia,térreo do templo alguém tem ideia do que por ai ? Breve Mais Imagens.1 ponto -
(Duvida) Iten.xml
BrunooMaciell reagiu a Groove por uma questão
Sim tudo tem que adicionar no item editor antes haha, por isso não ta funcionando Procura na net deve ter tutorial referente á isso é bem fácil, vai no item editor e procura por "Create Missing Itens" ele cria automático oque ta no cliente.1 ponto -
Sprite icon system sem pokémon
Taiger reagiu a Alphapetboy por um tópico no fórum
1 ponto -
Namikaze Show off
Beto Namikaze reagiu a LeoTK por um tópico no fórum
terreo coloca uma mini-feira de npcs que compram e vende itens ou coloque um jardim vai ficar bem legal1 ponto -
Perfect nick system 100%
dragonittao reagiu a Strogman por um tópico no fórum
exclusividade xtibia porfavor não postar em outro forum system exclusivo para o xtibia Bom vi muito gente a traz desse sistema e, então resolvi fazer esse nick para ajudar a galera que quer sair do Lixo do pda e começar um projeto bom com os open source. para quem não sabe, nick system é um system muito popular na família dos poketibias, é um system que muda o nome/adiciona um apelido no personagem, muda o nome de exibição no client o nome que fica em cima do personagem no jogo. fulano: Gristony como essa função funciona? Gristony: exatamente igual a do pda! Em ProtocolGame.cpp em baixo de: void ProtocolGameAddShopItem(NetworkMessage_ptr msg, const ShopInfo item){ const ItemType& it = Itemitems[item.itemId]; msg->AddU16(it.clientId); if(it.isSplash() || it.isFluidContainer()) msg->AddByte(fluidMap[item.subType % 8]); else if(it.stackable || it.charges) msg->AddByte(item.subType); else msg->AddByte(0x01); msg->AddString(item.itemName); msg->AddU32(uint32_t(it.weight * 100)); msg->AddU32(item.buyPrice); msg->AddU32(item.sellPrice);} adicione: void ProtocolGamereloadCreature(const Creature* creature){ if(!canSee(creature)) return; // we are cheating the client in here! uint32_t stackpos = creature->getTile()->getClientIndexOfThing(player, creature); if(stackpos >= 10) return; NetworkMessage_ptr msg = getOutputBuffer(); if(msg) { TRACK_MESSAGE(msg); stdlist<uint32_t>iterator it = stdfind(knownCreatureList.begin(), knownCreatureList.end(), creature->getID()); if(it != knownCreatureList.end()) { RemoveTileItem(msg, creature->getPosition(), stackpos); msg->AddByte(0x6A); msg->AddPosition(creature->getPosition()); msg->AddByte(stackpos); AddCreature(msg, creature, false, creature->getID()); } else AddTileCreature(msg, creature->getPosition(), stackpos, creature); }}void ProtocolGamesendCreatureNick(const Creature* creature){ reloadCreature(creature);} Em ProtocolGame.h em baixo de: void sendQuestInfo(Quest* quest); adicione: void reloadCreature(const Creature* creature);void sendCreatureNick(const Creature* creature); Em Player.h em baixo de: void sendCreatureShield(const Creature* creature) {if(client) client->sendCreatureShield(creature);} adicione: void sendCreatureNick(const Creature* creature) {if(client) client->sendCreatureNick(creature);} Em Creature.cpp em baixo de: partyShield = SHIELD_NONE; adicione: Nick = ""; Em Creature.h em baixo de: virtual const Monster* getMonster() const {return NULL;} adicione: stdstring Nick; Luascript.cpp em baixo de: //doPlayerSendCancel(cid, text) lua_register(m_luaState, "doPlayerSendCancel", LuaScriptInterfaceluaDoPlayerSendCancel); adicione: //doCreatureSetNick(cid, nick) lua_register(m_luaState, "doCreatureSetNick", LuaScriptInterfaceluaDoCreatureSetNick); em baixo de: int32_t LuaScriptInterfaceluaDoPlayerSendCancel(lua_State* L){ //doPlayerSendCancel(cid, text) stdstring text = popString(L); ScriptEnviroment* env = getEnv(); if(const Player* player = env->getPlayerByUID(popNumber(L))) { player->sendCancel(text); lua_pushboolean(L, true); } else { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } return 1;} adicione: int32_t LuaScriptInterfaceluaDoCreatureSetNick(lua_State* L){ //doCreatureSetNick(cid, nick) ScriptEnviroment* env = getEnv(); stdstring nick = popString(L); Creature* creature = env->getCreatureByUID(popNumber(L)); if(creature) { SpectatorVec list; g_game.getSpectators(list, creature->getPosition()); Player* player = NULL; creature->Nick = nick; for(SpectatorVecconst_iterator it = list.begin(); it != list.end(); ++it) { if(player = (*it)->getPlayer()) { player->sendCreatureNick(creature); break; } } }else{ lua_pushnil(L); } return 1;} Em Luascript.h em baixo de: static int32_t luaDoRemoveItem(lua_State* L); adicione: static int32_t luaDoCreatureSetNick(lua_State* L); Em Protocolgame.cpp procure por: void ProtocolGameAddCreature(NetworkMessage_ptr msg, const Creature* creature, bool known, uint32_t remove){ if(!known) { em baixo de: msg->AddU32(creature->getID()); adicione: stdstring nick = creature->getName(); if (creature->Nick != "") nick = creature->Nick; substitua: msg->AddString(creature->getHideName() ? "" : creature->getName()); por: msg->AddString(creature->getHideName() ? "" : nick); Obs: compilar em rebuild all ou sem os arquivos .obj exemplo de uso: doCreatureSetNick(getCreatureSummons(cid)[1], "Gristony") Creditos Gristony façam bom uso do code pequenos grilos1 ponto