Jump to content

BananaFight

Conde
  • Posts

    702
  • Joined

  • Last visited

  • Days Won

    5

Reputation Activity

  1. Upvote
    BananaFight reacted to Felipe Moraes in Saindo da "tela preta" e indo para a sua Janela em 5 minutos   
    Olá pessoal, boa tarde.
     
     
    Sei que é muito chato programar e ver os resultados apenas naquele console preto e sem graça.
    Por isso, vou ensinar pra vocês como criar uma janela em menos de 5 minutos, utilizando Java.
     
     

     
    Primeiramente, vamos precisar de 2 classes.
    Uma, será nossa Testadora, onde teremos o método main. A outra, que chamaremos de JanelaController teremos os componentes para exibir nossa janela.
     
    Primeiramente, nossa classe Testadora ficará assim:
    public class Testadora { public static void main(String args[]){ JanelaController janela = new JanelaController(); janela.abrirJanela(); } } Nada demais. Ela vai criar um objeto do tipo JanelaController, vai referencia-la como janela, e vai executar seu método chamado abrirJanela(), que veremos a seguir.
     
     
    Em Java, possuimos bibliotecas nativas para a utilização de janelas. Em nosso tutorial, usaremos a biblioteca Swing. Seu caminho é "javax.swing;".
     
    Primeira coisa, devemos importar essa biblioteca para nossa classe. Para isso, basta usar o comando import, antes da declaração da classe.
    import javax.swing.*; public class JanelaController { private JFrame frame; // É o componente responsável por exibir a janea private JLabel texto; // Responsável por exibir um texto public void abrirJanela(){ // Devemos instanciar o objeto do tipo JFrame, para que possamos utiliza-lo em nossa classe. frame = new JFrame(); // Aqui, chamamos os métodos da classe do JFrame. Por exemplo: frame.setSize(400, 400); // Define o tamanho que terá nossa janela frame.setVisible(true); // Colocamos a janela como visível frame.setTitle("Minha Janela Funciona !"); // Inserimos um título para nossa janela // Você pode conferir mais métodos, dentro da própia classe JFrame. É só abri-la! // Aqui, instanciamos um objeto do tipo JLabel, e chamamos sua variável de texto. texto = new JLabel(); // Definimos também um texto para ele, através do método setText() da classe do JLabel. texto.setText("Hail Xtibia!"); // Essa parte é muito importante, pois é onde adicionamos nosso JLabel na janela. frame.add(texto); } } Perceberam o quanto é fácil ?
    Se tiverem a curiosidade, podem pesquisar por mais componentes, para incrementar a janela de vocês.
    Segue algumas:
    JButton JCheckBox JMenu JProgressBar JTextField Entre muitos outros  
     
    Espero que tenham gostado desse rápido tutorial.
     
    Abraços e até a próxima !
  2. Upvote
    BananaFight got a reaction from Gabriel Netto in Diferença entre 2D e 3D nos Jogos   
    Achei esse video interessante e queria compartilhar com vcs
     
     


     
     
     





     
  3. Upvote
    BananaFight reacted to Felipe Moraes in [Linux] Comandos   
    Segue alguns dos comandos mais utilizados no linux.
    Achei na internet e resolvi compartilhar.
     

  4. Upvote
    BananaFight got a reaction from DarkWore in Suggestname - monster system - programando c++ opentibia   
    Fala galera, eu resolvi criar esse sistema aonde os montros tem seu dano / defesa / vida definidos pelo level / atributo que são configurados no XML, e eu fiz esse sistema em stream para mostrar um pouco de como trabalhar nas source do TFS 1.2, no sistema trabalhamos editando o MonsterType, Monster, Combat e a estrutura do xml dos monsters, é bastante conteúdo e vale apena conferir, uma boa fonte de aprendizado.
     
     


     
     
     


    LINK DO REPOSITÓRIO COM A VERSÃO APRIMORADA DOS SISTEMAS:
     
     


    https://bitbucket.org/eduardovicente/pokemo-new-era
     
     


     
     
     


    Video
     
     


    Essa é uma versão resumida e com uma melhor qualidade no audio - 
     
     


     
     
     


    Playlist passo a passo Criando na hora. [ 13 vídeos ] - 
     
     


     
     
     


    Imagens
     
     


     
     
     



     


     
     
     



     


     
     
     



     


     
     
     
  5. Upvote
    BananaFight got a reaction from Eskylo in [C++] Opcode versão 8.54+   
    Adaptação pra source 8.54+



    LEMBRE-SE, ISSO É NA SOURCE DO SERVIDOR


    Vamos ao código.




    protocolgame.h



    Embaixo de



     
    void AddShopItem(NetworkMessage_ptr msg, const ShopInfo item);  



    Adicione



     
    void parseExtendedOpcode(NetworkMessage& msg);void sendExtendedOpcode(uint8_t opcode, const std::string& buffer);  



    protocolgame.cpp



    Embaixo de



    uint32_t key[4] = {msg.GetU32(), msg.GetU32(), msg.GetU32(), msg.GetU32()};enableXTEAEncryption();setXTEAKey(key);


    Adicione



    // notifies to otclient that this server can receive extended game protocol opcodesif(operatingSystem >= CLIENTOS_OTCLIENT_LINUX)sendExtendedOpcode(0x00, std::string());


    Embaixo de



    void ProtocolGame::AddShopItem(NetworkMessage_ptr msg, const ShopInfo item){const ItemType& it = Item::items[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);elsemsg->AddByte(0x01);msg->AddString(item.itemName);msg->AddU32(uint32_t(it.weight * 100));msg->AddU32(item.buyPrice);msg->AddU32(item.sellPrice);}


    Adicione



    void ProtocolGame::parseExtendedOpcode(NetworkMessage& msg){uint8_t opcode = msg.GetByte();std::string buffer = msg.GetString();// process additional opcodes via lua script eventaddGameTask(&Game::parsePlayerExtendedOpcode, player->getID(), opcode, buffer);}void ProtocolGame::sendExtendedOpcode(uint8_t opcode, const std::string& buffer){// extended opcodes can only be send to players using otclient, cipsoft's tibia can't understand themNetworkMessage_ptr msg = getOutputBuffer();if(msg){TRACK_MESSAGE(msg);msg->AddByte(0x32);msg->AddByte(opcode);msg->AddString(buffer);}}


    Embaixo de



     
    case 0x1E: // keep alive / ping responseparseReceivePing(msg);break;  



    Adicione


     
    case 0x32: // otclient extended opcodeparseExtendedOpcode(msg);break;  



    enums.h



    Embaixo de



     
    enum GuildLevel_t{GUILDLEVEL_NONE = 0,GUILDLEVEL_MEMBER,GUILDLEVEL_VICE,GUILDLEVEL_LEADER};  



    Substitua o OperatingSystem por este



     
    enum OperatingSystem_t{CLIENTOS_LINUX = 0x01,CLIENTOS_WINDOWS = 0x02,CLIENTOS_OTCLIENT_LINUX = 0x0A,CLIENTOS_OTCLIENT_WINDOWS = 0x0B,CLIENTOS_OTCLIENT_MAC = 0x0C,};/  



    player.h


    Embaixo de



    void sendCreatureShield(const Creature* creature)


    Adicione



     
    void sendExtendedOpcode(uint8_t opcode, const std::string& buffer){if(client) client->sendExtendedOpcode(opcode, buffer);}  



    luascript.cpp



    Embaixo de


    void LuaScriptInterface::registerFunctions(){


    Adicione



     
    //doSendPlayerExtendedOpcode(cid, opcode, buffer)lua_register(m_luaState, "doSendPlayerExtendedOpcode", LuaScriptInterface::luaDoSendPlayerExtendedOpcode);  



    Embaixo de



     
    SHIFT_OPERATOR(int32_t, LeftShift, <<)SHIFT_OPERATOR(int32_t, RightShift, >>)SHIFT_OPERATOR(uint32_t, ULeftShift, <<)SHIFT_OPERATOR(uint32_t, URightShift, >>)#undef SHIFT_OPERATOR  



    Adicione



     
    int32_t LuaScriptInterface::luaDoSendPlayerExtendedOpcode(lua_State* L){//doSendPlayerExtendedOpcode(cid, opcode, buffer)std::string buffer = popString(L);int opcode = popNumber(L);ScriptEnviroment* env = getEnv();if(Player* player = env->getPlayerByUID(popNumber(L))) {player->sendExtendedOpcode(opcode, buffer);lua_pushboolean(L, true);}lua_pushboolean(L, false);return 1;}  



    luascript.h



    Embaixo de



     
    virtual void registerFunctions();  



    Adicione



     
    static int32_t luaDoSendPlayerExtendedOpcode(lua_State* L);  



    creatureevent.h


    .


    Substitua



     
    CREATURE_EVENT_PREPAREDEATH  



    Por isso



     
    CREATURE_EVENT_PREPAREDEATH,CREATURE_EVENT_EXTENDED_OPCODE // otclient additional network opcodes  



    Embaixo de



     
    uint32_t executePrepareDeath(Creature* creature, DeathList deathList);  



    Adicione



     
    uint32_t executeExtendedOpcode(Creature* creature, uint8_t opcode, const std::string& buffer);  



    creatureevent.cpp



    Embaixo de



     
    else if(tmpStr == "death")m_type = CREATURE_EVENT_DEATH;  



    Adicione



     
    else if(tmpStr == "extendedopcode")m_type = CREATURE_EVENT_EXTENDED_OPCODE;  



    Embaixo de



     
    case CREATURE_EVENT_DEATH:return "onDeath";  



    Adicione



     
    case CREATURE_EVENT_EXTENDED_OPCODE:return "onExtendedOpcode";  



    Embaixo de



     
    case CREATURE_EVENT_DEATH:return "cid, corpse, deathList";  



    Adicione



     
    case CREATURE_EVENT_EXTENDED_OPCODE:return "cid, opcode, buffer";  



    Embaixo de



     
    std::cout << "[Error - CreatureEvent::executeFollow] Call stack overflow." << std::endl;return 0;}}  



    Adicione



     
    uint32_t CreatureEvent::executeExtendedOpcode(Creature* creature, uint8_t opcode, const std::string& buffer){//onExtendedOpcode(cid, opcode, buffer)if(m_interface->reserveEnv()){ScriptEnviroment* env = m_interface->getEnv();if(m_scripted == EVENT_SCRIPT_BUFFER){env->setRealPos(creature->getPosition());std::stringstream scriptstream;scriptstream << "local cid = " << env->addThing(creature) << std::endl;scriptstream << "local opcode = " << (int)opcode << std::endl;scriptstream << "local buffer = " << buffer.c_str() << std::endl;scriptstream << m_scriptData;bool result = true;if(m_interface->loadBuffer(scriptstream.str())){lua_State* L = m_interface->getState();result = m_interface->getGlobalBool(L, "_result", true);}m_interface->releaseEnv();return result;}else{#ifdef __DEBUG_LUASCRIPTS__char desc[35];sprintf(desc, "%s", player->getName().c_str());env->setEvent(desc);#endifenv->setScriptId(m_scriptId, m_interface);env->setRealPos(creature->getPosition());lua_State* L = m_interface->getState();m_interface->pushFunction(m_scriptId);lua_pushnumber(L, env->addThing(creature));lua_pushnumber(L, opcode);lua_pushlstring(L, buffer.c_str(), buffer.length());bool result = m_interface->callFunction(3);m_interface->releaseEnv();return result;}}else{std::cout << "[Error - CreatureEvent::executeRemoved] Call stack overflow." << std::endl;return 0;}}  



    game.h


    Embaixo de



    int32_t getLightHour() {return lightHour;}void startDecay(Item* item);


    Adicione



    void parsePlayerExtendedOpcode(uint32_t playerId, uint8_t opcode, const std::string& buffer);


    game.cpp


    Embaixo de


    player->sendTextMessage(MSG_INFO_DESCR, buffer);}


    Adicione


    void Game::parsePlayerExtendedOpcode(uint32_t playerId, uint8_t opcode, const std::string& buffer){Player* player = getPlayerByID(playerId);if(!player || player->isRemoved())return;CreatureEventList extendedOpcodeEvents = player->getCreatureEvents(CREATURE_EVENT_EXTENDED_OPCODE);for(CreatureEventList::iterator it = extendedOpcodeEvents.begin(); it != extendedOpcodeEvents.end(); ++it)(*it)->executeExtendedOpcode(player, opcode, buffer);}


    /creaturescripts/creaturescrips.xml



    <event type="extendedopcode" name="ExtendedOpcode" event="script" value="extendedopcode.lua"/>


    /creaturescripts/extendedopcode.lua


    OPCODE_LANGUAGE = 1function onExtendedOpcode(cid, opcode, buffer)if opcode == OPCODE_LANGUAGE then-- otclient languageif buffer == 'en' or buffer == 'pt' then-- example, setting player language, because otclient is multi-language...--doCreatureSetStorage(cid, CREATURE_STORAGE_LANGUAGE, buffer)endelse-- other opcodes can be ignored, and the server will just work fine...endend


    Créditos : MaXwEllDeN 100% por adaptar o código  
  6. Upvote
    BananaFight got a reaction from dolver in [Encerrado]Naruto OT Recrutamento!   
    Seu projeto tem tudo para dar errado, não tem um objetivo, metas e muito menos uma ideia do que precisa ser feito. 
     
     


     
     
     


    Para montar um projeto você precisa ser um líder, ter em mente o que você busca e os resultado que você quer.
     
     


     
     
     


    Você não pode se tornar um líder de um projeto sem conhecimentos básicos do assunto ( A menos que seja um investidor que vai comprar os resultados ), recomendo que junte informações sobre oque quer que tenha no seu servidor, decida os caminhos que pretende tomar ( esses caminhos podem mudar com o decorrer do projeto, mas tenha em mente coisas fundamentais no projeto, para ele não perder o foco ) e por fim, busque pessoas capacitadas para lhe ajudar.
     
     


     
     
     


    Ao buscar pessoas você deve oferecer uma perspectiva convincente da sua proposta, ou seja, você deve mostrar as vantagens que as pessoas que vierem a se juntar ao seu projeto terão, e o porque de elas deverem se juntar a você.
     
     


     
     
     


    Enfim, essa é uma critica construtiva para que consiga dar continuidade ao seu projeto, em momento nem um eu quis te diminuir ou desmotivas, muito pelo contrário, estou dando dicas para que você consiga terminar o seu projeto.
     
     
  7. Upvote
    BananaFight got a reaction from Damgrath in [Encerrado]Naruto OT Recrutamento!   
    Seu projeto tem tudo para dar errado, não tem um objetivo, metas e muito menos uma ideia do que precisa ser feito. 
     
     


     
     
     


    Para montar um projeto você precisa ser um líder, ter em mente o que você busca e os resultado que você quer.
     
     


     
     
     


    Você não pode se tornar um líder de um projeto sem conhecimentos básicos do assunto ( A menos que seja um investidor que vai comprar os resultados ), recomendo que junte informações sobre oque quer que tenha no seu servidor, decida os caminhos que pretende tomar ( esses caminhos podem mudar com o decorrer do projeto, mas tenha em mente coisas fundamentais no projeto, para ele não perder o foco ) e por fim, busque pessoas capacitadas para lhe ajudar.
     
     


     
     
     


    Ao buscar pessoas você deve oferecer uma perspectiva convincente da sua proposta, ou seja, você deve mostrar as vantagens que as pessoas que vierem a se juntar ao seu projeto terão, e o porque de elas deverem se juntar a você.
     
     


     
     
     


    Enfim, essa é uma critica construtiva para que consiga dar continuidade ao seu projeto, em momento nem um eu quis te diminuir ou desmotivas, muito pelo contrário, estou dando dicas para que você consiga terminar o seu projeto.
     
     
  8. Upvote
    BananaFight got a reaction from otavio101 in Suggestname - monster system - programando c++ opentibia   
    Fala galera, eu resolvi criar esse sistema aonde os montros tem seu dano / defesa / vida definidos pelo level / atributo que são configurados no XML, e eu fiz esse sistema em stream para mostrar um pouco de como trabalhar nas source do TFS 1.2, no sistema trabalhamos editando o MonsterType, Monster, Combat e a estrutura do xml dos monsters, é bastante conteúdo e vale apena conferir, uma boa fonte de aprendizado.
     
     


     
     
     


    LINK DO REPOSITÓRIO COM A VERSÃO APRIMORADA DOS SISTEMAS:
     
     


    https://bitbucket.org/eduardovicente/pokemo-new-era
     
     


     
     
     


    Video
     
     


    Essa é uma versão resumida e com uma melhor qualidade no audio - 
     
     


     
     
     


    Playlist passo a passo Criando na hora. [ 13 vídeos ] - 
     
     


     
     
     


    Imagens
     
     


     
     
     



     


     
     
     



     


     
     
     



     


     
     
     
  9. Upvote
    BananaFight reacted to rohfagundes in Suggestname - monster system - programando c++ opentibia   
    muito bom parabens
    desse seu jeito de explicar da para fazer em qualquer versão
    aqui msm eu fiz no otx q é baseado na tfs 0.3.7
     
  10. Upvote
    BananaFight got a reaction from Administrador in Flying system tfs 1.2   
    Fly System é um sistema que permite ao player voar pelo mapa em locais aonde antes não era possível.
     

     
    Arrumando algumas coisas na source, comando /fly on, off, up, down funcionando, nova variável no player isFlying, canFly ( salvo no MySql )
     
    Bugs
    - Descer em itens bloqueáveis.
     
    Changelog
     
    To do
     
    To Do- Done  
  11. Upvote
    BananaFight got a reaction from gabriel28 in Suggestname - monster system - programando c++ opentibia   
    Fala galera, eu resolvi criar esse sistema aonde os montros tem seu dano / defesa / vida definidos pelo level / atributo que são configurados no XML, e eu fiz esse sistema em stream para mostrar um pouco de como trabalhar nas source do TFS 1.2, no sistema trabalhamos editando o MonsterType, Monster, Combat e a estrutura do xml dos monsters, é bastante conteúdo e vale apena conferir, uma boa fonte de aprendizado.
     
     


     
     
     


    LINK DO REPOSITÓRIO COM A VERSÃO APRIMORADA DOS SISTEMAS:
     
     


    https://bitbucket.org/eduardovicente/pokemo-new-era
     
     


     
     
     


    Video
     
     


    Essa é uma versão resumida e com uma melhor qualidade no audio - 
     
     


     
     
     


    Playlist passo a passo Criando na hora. [ 13 vídeos ] - 
     
     


     
     
     


    Imagens
     
     


     
     
     



     


     
     
     



     


     
     
     



     


     
     
     
  12. Upvote
    BananaFight got a reaction from Sirarcken in Flying system tfs 1.2   
    Fly System é um sistema que permite ao player voar pelo mapa em locais aonde antes não era possível.
     

     
    Arrumando algumas coisas na source, comando /fly on, off, up, down funcionando, nova variável no player isFlying, canFly ( salvo no MySql )
     
    Bugs
    - Descer em itens bloqueáveis.
     
    Changelog
     
    To do
     
    To Do- Done  
  13. Upvote
    BananaFight got a reaction from nociam in Stream programando c++ opentibia   
    Pessoal, eu estou para fazer um sistema em C++ de Controle de Summon e pensei em fazer uma stream / vídeo de eu criando o sistema e gostaria de saber se alguém tem interesse de ver isso.
     
     


     
     
     


    Bom, o sistema de controle de summon seria algo como os monstros terem leveis randômicos pré determinados pelo xml, e os summons usariam o level do player como seu próprio level, esse level influenciaria no dano de magias / attacks básicos do monstro, e o summon só usaria spells caso o player ordenasse.
     
     


     
     
     


    Fico no aguardo do feedback de vocês
     
     
  14. Upvote
    BananaFight got a reaction from Sirarcken in Stream programando c++ opentibia   
    Essa é uma vesão de 30 min resumida e com melhor qualidade no audio. 

     
  15. Upvote
    BananaFight got a reaction from Sirarcken in Stream programando c++ opentibia   
    Pessoal, eu estou para fazer um sistema em C++ de Controle de Summon e pensei em fazer uma stream / vídeo de eu criando o sistema e gostaria de saber se alguém tem interesse de ver isso.
     
     


     
     
     


    Bom, o sistema de controle de summon seria algo como os monstros terem leveis randômicos pré determinados pelo xml, e os summons usariam o level do player como seu próprio level, esse level influenciaria no dano de magias / attacks básicos do monstro, e o summon só usaria spells caso o player ordenasse.
     
     


     
     
     


    Fico no aguardo do feedback de vocês
     
     
  16. Upvote
    BananaFight got a reaction from Sirarcken in Stream programando c++ opentibia   
    Os Videos estão na Playlist aqui : 
     
     


     
     
     


    Desculpe o microfone baixo, mas ninguém me aviso.
     
     


     
     
     


     
     
     
  17. Upvote
    BananaFight got a reaction from samlecter in Suggestname - monster system - programando c++ opentibia   
    Fala galera, eu resolvi criar esse sistema aonde os montros tem seu dano / defesa / vida definidos pelo level / atributo que são configurados no XML, e eu fiz esse sistema em stream para mostrar um pouco de como trabalhar nas source do TFS 1.2, no sistema trabalhamos editando o MonsterType, Monster, Combat e a estrutura do xml dos monsters, é bastante conteúdo e vale apena conferir, uma boa fonte de aprendizado.
     
     


     
     
     


    LINK DO REPOSITÓRIO COM A VERSÃO APRIMORADA DOS SISTEMAS:
     
     


    https://bitbucket.org/eduardovicente/pokemo-new-era
     
     


     
     
     


    Video
     
     


    Essa é uma versão resumida e com uma melhor qualidade no audio - 
     
     


     
     
     


    Playlist passo a passo Criando na hora. [ 13 vídeos ] - 
     
     


     
     
     


    Imagens
     
     


     
     
     



     


     
     
     



     


     
     
     



     


     
     
     
  18. Upvote
    BananaFight got a reaction from efraimjk in Stream programando c++ opentibia   
    O link para a stream https://www.twitch.tv/suggestname

  19. Upvote
    BananaFight got a reaction from Felipe Moraes in Suggestname - monster system - programando c++ opentibia   
    Fala galera, eu resolvi criar esse sistema aonde os montros tem seu dano / defesa / vida definidos pelo level / atributo que são configurados no XML, e eu fiz esse sistema em stream para mostrar um pouco de como trabalhar nas source do TFS 1.2, no sistema trabalhamos editando o MonsterType, Monster, Combat e a estrutura do xml dos monsters, é bastante conteúdo e vale apena conferir, uma boa fonte de aprendizado.
     
     


     
     
     


    LINK DO REPOSITÓRIO COM A VERSÃO APRIMORADA DOS SISTEMAS:
     
     


    https://bitbucket.org/eduardovicente/pokemo-new-era
     
     


     
     
     


    Video
     
     


    Essa é uma versão resumida e com uma melhor qualidade no audio - 
     
     


     
     
     


    Playlist passo a passo Criando na hora. [ 13 vídeos ] - 
     
     


     
     
     


    Imagens
     
     


     
     
     



     


     
     
     



     


     
     
     



     


     
     
     
  20. Upvote
    BananaFight got a reaction from Sirarcken in Stream programando c++ opentibia   
    O link para a stream https://www.twitch.tv/suggestname

  21. Upvote
    BananaFight got a reaction from Sirarcken in Stream programando c++ opentibia   
    Eu não vou postar os código em forma de arquivo, o sistema foi desenvolvido em vídeo, e vai ficar assim, ou seja, se quiser os códigos é só assistir o vídeo que estou upando no youtube.

  22. Upvote
    BananaFight got a reaction from Survivor98130 in Abrindo novos Horizontes   
    Depois de incomodar um pouco o baxnie, ele me ajudou a criar o sistema de abrir miniwindow para o lado.


     

    Nome: Resize Right Border Descrição: Abrir janelas para a direita Autor: Eduardo Vicente (Banana Fight) Website: www.xtibia.com
     

    Versão 1.0


     

    Features: cria uma barra lateral para regular o tamanho de janelas criadas em miniwindow




     

    Instalação


     

    otclient-master\data\styles\30-miniwindow.otui


     

    embaixo de:


     


    ResizeBorder
    id: bottomResizeBorder
    anchors.bottom: parent.bottom
    anchors.left: parent.left
    anchors.right: parent.right
    height: 3
    minimum: 48
    margin-left: 3
    margin-right: 3
    background: #ffffff88


     

    você adiciona:


     

    ResizeBorder id: rightResizeBorder anchors.top: parent.top anchors.bottom: parent.bottom anchors.right: parent.right width: 3 minimum: 48 margin-top: 3 magin-bottom: 3 background: #ffffff88
     
     

    Agora em otclient-master\modules\corelib\ui\uiminiwindow.lua:



    você procura por:


     

    function UIMiniWindow:isResizeable()
     
     

    deleta a função inteira, e muda por essa:


     

    function UIMiniWindow:isResizeable() local resizeBorder = self:getChildById('bottomResizeBorder') local resizeBorderRight = self:getChildById('rightResizeBorder') return resizeBorder:isExplicitlyVisible() and resizeBorder:isEnabled() and resizeBorderRight:isExplicitlyVisible() and resizeBorderRight:isEnabled() end

    Agora em



    otclient-master\modules\corelib\ui\uiminiwindow.lua


     

    Procure por:




    function UIMiniWindow:disableResize()


     

    e adicione essa linha :




    self:getChildById('rightResizeBorder'):disable()


     

    Agora procure por:



    function UIMiniWindow:enableResize()



    e adicione essa linha :

     

    self:getChildById('rightResizeBorder'):enable()
     
     
     
     

    Pronto, agora seus mods criados em miniwindow poderão ser abertos para os lados.


     

    OBS: o sistema não esta 100%, e assim que possível vou adicionar as funções que faltam, como as de regular o tamanho maximo da tela e o minimo que ele pode abrir.


     

    OBS 2: Caso a barra lateral para editar o tamanho da tela não pareça é porque dentro do arquivo .lua do seu mod tem a função



    disableResize(), essa função impede a mudança no tamanho da janela.


  23. Upvote
    BananaFight reacted to Tony Araujo in Digimon World Online   
    Bom, eu fui jogar e na minha humilde e sincera opinião, achei um tanto enjoativo e meio chatinho (sem ofensas, críticas construtivas), acho que teria como fazer algumas melhorias no mapa e em scripts também. (principalmente na parte dos módulos do otc.)
     
     


     
     
     


    abraços.
     
     
  24. Upvote
    BananaFight reacted to dalvorsn in Porque ser ladrão não vale apena!   
    Fato, essa falta de maturidade e um problema sério no ramo, nego acha que 100 conto é dinheiro, tu faz um favor de cobrar uma miséria e nego ainda acha um horror kk
     
  25. Upvote
    BananaFight reacted to dalvorsn in Porque ser ladrão não vale apena!   
    Eu também não postaria, concordo com a postura do @BananaFight. É meio imaturo "revidar", sem ofensas, eu simplesmente não trabalharia mais com o cara. E claro, divulgaria para saberem do ocorrido e não serem enganados com ele, só nisso ele ja perde uma galera que poderia desenvolver pra ele, os que desenvolverem seria com pagamento antecipado provavelmente. 
     
    Além do mais, nossa comunidade de desenvolvedores é bem reduzida, a maioria migra pra outras áreas rapido, se ele tem o hábito de fazer isso, em pouco tempo não terá mais quem contratar.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...