Ir para conteúdo

BananaFight

Conde
  • Total de itens

    702
  • Registro em

  • Última visita

  • Dias Ganhos

    5

Histórico de Reputação

  1. Upvote
    BananaFight recebeu reputação de nociam em BananaFight Free Codes   
    Cara isso é para ele não tentar ler os atributos do pokeball pelo item, basicamente isso é para evitar bugs com o getAttribute. 
  2. Upvote
    BananaFight recebeu reputação de nociam em BananaFight Free Codes   
    Foi exatamente por isso que resolvi criar o pokeball por classe, era muito ruim ter que usar os atributos dos itens.
  3. Upvote
    BananaFight recebeu reputação de nociam em BananaFight Free Codes   
    Fala galera, a algum tempo eu venho organizando algumas idéias e melhorando alguns sistemas que eu faço no meu tempo livre, e depois de muito pensar eu resolvi postar eles para vocês.
     
    Meu objetivo é compartilhar conhecimento de programação com vocês, e espero conseguir contribuir muito com isso.
     
    Infelizmente esses 2 sistemas iniciais que irei postar aqui não foram gravados em videos pelo fato de ser um aprimoramento de coisas que eu ja fiz, MAS para os próximos sistemas que eu criar irei fazer um videos ensinado como eu crio meus sistemas e como editar a source de modo simples e fácil.
     
    Para esses 2 primeiros sistemas estarei apenas disponibilizando o DIFF, não vou ensinar como instalar na source porque não é meu objetivo, com o DIFF disponivel e um pouco de esforço vocês conseguirão seguir e implementar nos seus próprios servidores.
     
    OS SISTEMAS A BAIXO ESTÃO NA VERSÃO DE DESENVOLVIMENTO PODENDO APRESENTAR FALHAS E NÃO ESTÃO 100% FINALIZADOS.
     
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Monster System V 1.0
    O sistema não é aprova de falhas e não foi bem testado, essa é a versão 1.0 e pode conter bugs.
     
    Esse sistema foi feito para dar vida aos monstros do jogo, adicionando status e level para aumentar a dificuldade e a diversidade de coisas a se fazerem dentro do jogo adicionando mais RPG e dinâmica ao mesmo.
     
    Monster System DIFF
    https://pastebin.com/zZjHPMLR
     
    O sistema conta com um sistema de level ja funcionando para os monstros do jogo aonde eles ganham experiencia ao matar outros monstros, quando passam de level eles tem seus status base aumentados.
     
    Esse é um sistema mais complexo e por isso não vou dar muita descrição dele, pois ainda esta na V1 e tem muita coisa que não esta pronta, mas ja é um bom começo para dar uma diversificada nos monstros do seu servidor. 
     
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Pokeball System V 1.0
    O sistema não é aprova de falhas e não foi bem testado, essa é a versão 1.0 e pode conter bugs.
     
    Esse sistema foi feito criando uma nova classe chamada "Pokeball" e ela estende a classe "Item", o Objetivo dessa classe é organizar e facilitar a manutenção do código, e agilizar futuras interações do cliente com o servidor ( Enviar para o client a vida do pokemon que esta na ball e etc. )
     
    Pokeball System DIFF
    https://pastebin.com/F36pcf5Y
     
    O Sistem conta com os seguintes atributos
     
    std::string name = ""; std::string nick = ""; < Não esta sendo usado Ainda uint32_t level = 1; uint64_t experience = 100; int32_t health = 100; int32_t healthMax = 100; PokemonStatus status; < Não esta sendo usado Ainda  
    E foram criados os seguintes métodos para serem usados no Lua
     
    // Pokeball static int luaPokeballCreate(lua_State* L); static int luaPokeballGetPokemonName(lua_State* L); static int luaPokeballSetPokemonName(lua_State* L); static int luaPokeballGetLevel(lua_State* L); static int luaPokeballSetLevel(lua_State* L); static int luaPokeballGetExperience(lua_State* L); static int luaPokeballSetExperience(lua_State* L); static int luaPokeballGetHealth(lua_State* L); static int luaPokeballSetHealth(lua_State* L); static int luaPokeballGetMaxHealth(lua_State* L); static int luaPokeballSetMaxHealth(lua_State* L);  
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Proximo Passo:
     
    Reformular formulas de ataques e spells
     
  4. Upvote
    BananaFight recebeu reputação de DarkWore em BananaFight Free Codes   
    Fala galera, a algum tempo eu venho organizando algumas idéias e melhorando alguns sistemas que eu faço no meu tempo livre, e depois de muito pensar eu resolvi postar eles para vocês.
     
    Meu objetivo é compartilhar conhecimento de programação com vocês, e espero conseguir contribuir muito com isso.
     
    Infelizmente esses 2 sistemas iniciais que irei postar aqui não foram gravados em videos pelo fato de ser um aprimoramento de coisas que eu ja fiz, MAS para os próximos sistemas que eu criar irei fazer um videos ensinado como eu crio meus sistemas e como editar a source de modo simples e fácil.
     
    Para esses 2 primeiros sistemas estarei apenas disponibilizando o DIFF, não vou ensinar como instalar na source porque não é meu objetivo, com o DIFF disponivel e um pouco de esforço vocês conseguirão seguir e implementar nos seus próprios servidores.
     
    OS SISTEMAS A BAIXO ESTÃO NA VERSÃO DE DESENVOLVIMENTO PODENDO APRESENTAR FALHAS E NÃO ESTÃO 100% FINALIZADOS.
     
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Monster System V 1.0
    O sistema não é aprova de falhas e não foi bem testado, essa é a versão 1.0 e pode conter bugs.
     
    Esse sistema foi feito para dar vida aos monstros do jogo, adicionando status e level para aumentar a dificuldade e a diversidade de coisas a se fazerem dentro do jogo adicionando mais RPG e dinâmica ao mesmo.
     
    Monster System DIFF
    https://pastebin.com/zZjHPMLR
     
    O sistema conta com um sistema de level ja funcionando para os monstros do jogo aonde eles ganham experiencia ao matar outros monstros, quando passam de level eles tem seus status base aumentados.
     
    Esse é um sistema mais complexo e por isso não vou dar muita descrição dele, pois ainda esta na V1 e tem muita coisa que não esta pronta, mas ja é um bom começo para dar uma diversificada nos monstros do seu servidor. 
     
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Pokeball System V 1.0
    O sistema não é aprova de falhas e não foi bem testado, essa é a versão 1.0 e pode conter bugs.
     
    Esse sistema foi feito criando uma nova classe chamada "Pokeball" e ela estende a classe "Item", o Objetivo dessa classe é organizar e facilitar a manutenção do código, e agilizar futuras interações do cliente com o servidor ( Enviar para o client a vida do pokemon que esta na ball e etc. )
     
    Pokeball System DIFF
    https://pastebin.com/F36pcf5Y
     
    O Sistem conta com os seguintes atributos
     
    std::string name = ""; std::string nick = ""; < Não esta sendo usado Ainda uint32_t level = 1; uint64_t experience = 100; int32_t health = 100; int32_t healthMax = 100; PokemonStatus status; < Não esta sendo usado Ainda  
    E foram criados os seguintes métodos para serem usados no Lua
     
    // Pokeball static int luaPokeballCreate(lua_State* L); static int luaPokeballGetPokemonName(lua_State* L); static int luaPokeballSetPokemonName(lua_State* L); static int luaPokeballGetLevel(lua_State* L); static int luaPokeballSetLevel(lua_State* L); static int luaPokeballGetExperience(lua_State* L); static int luaPokeballSetExperience(lua_State* L); static int luaPokeballGetHealth(lua_State* L); static int luaPokeballSetHealth(lua_State* L); static int luaPokeballGetMaxHealth(lua_State* L); static int luaPokeballSetMaxHealth(lua_State* L);  
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Proximo Passo:
     
    Reformular formulas de ataques e spells
     
  5. Upvote
    BananaFight recebeu reputação de DarkWore em 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
     
     


     
     
     



     


     
     
     



     


     
     
     



     


     
     
     
  6. Upvote
    BananaFight recebeu reputação de VanderleyJun em [C++] Color Name [DigiWo]   
    Creature.cpp procure por:
    if(healthPercent > 92)  
    Embaixo você muda para:
    if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{            m_informationColor = Color(0x00, 0xBC, 0x00);        }  
     
    Adicionando Nomes:
     
    Isto representa o nome do monstro/player que terá a cor do nome alterada. (Sim, vai ter que cadastrar nome por nome nesse sistema.)
    if (m_name == "Banana Fight")  
    Para adicionar mais nomes é só seguindo a logica:
    if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else if (m_name == "Demon"){            m_informationColor = Color(0xFF, 0xFF, 0xFF);        }else{            m_informationColor = Color(0x00, 0xBC, 0x00);        }  
    E para colorir o resto das porcentagens a mesma coisa:
    else if(healthPercent > 60)    if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0x50, 0xA1, 0x50);}  
    Só recomendo que não mecha no ultimo, pois se não souber mexer pode dar erro.
    else        m_informationColor = Color(0x85, 0x0C, 0x0C);  
     
    Adicionando Cores:
     
    Isto representa a porcentagem de hp que o player ou monstro vai estar
    m_informationColor = Color(0x00, 0xBC, 0x00);  
    Para mudar a cor você edita aqui :
    Color(0x00, 0xBC, 0x00)  
    As cores funcionam da seguinte maneira (RGB), tabela: http://shibolete.tripod.com/RGB.html
    Você tem que pegar a cor hexadecimal e dividir em 3 partes (#FFFF00 > FF FF 00), ai é só você preencher, Color(0xFF, 0xFF, 0x00) com cada letra/numero. 
     
    Exemplo Final:
    void Creature::setHealthPercent(uint8 healthPercent){    if(healthPercent > 92)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{            m_informationColor = Color(0x00, 0xBC, 0x00);        }    else if(healthPercent > 60)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0x50, 0xA1, 0x50);        }    else if(healthPercent > 30)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0xA1, 0xA1, 0x00);        }    else if(healthPercent > 8)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0xBF, 0x0A, 0x0A);        }    else if(healthPercent > 3)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0x91, 0x0F, 0x0F);        }    else        m_informationColor = Color(0x85, 0x0C, 0x0C);    m_healthPercent = healthPercent;    callLuaField("onHealthPercentChange", healthPercent);    if(healthPercent <= 0)        onDeath();}  
     
    Tópico corrigido por: Stigal.
  7. Upvote
    BananaFight deu reputação a Poccnn em #5 - aula de scripting lua - funções   
    Obrigado pela critica construtiva. estarei reformulando essa aula para que fique melhor. obrigado.
  8. Upvote
    BananaFight recebeu reputação de Poccnn em #5 - aula de scripting lua - funções   
    Achei bem fraco sua "aula", n se aprofundou em nada, parece que foi escrito em 10 minutos, tem informações erradas, pelo que reveja e reorganize seu tópico para que as pessoas atrás desse tipo de conteúdo possam ter uma informação que vai tirar suas duvidas e não uma que vai criar mais.
     
     


     
     
     


    Recursivo precisa ter 2 parâmetro ?, que regra é essa que eu nunca vi.
     
     


     
     
     


    " Tu podes também mesclar declarações de parâmetros com os três pontos: " ?, isso se chama concatenação e não é exclusivo das funções.
     
     


     
     
     


    Achei muito muito fraco essa "aula".
     
     
  9. Upvote
    BananaFight recebeu reputação de otavio101 em 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
     
     


     
     
     



     


     
     
     



     


     
     
     



     


     
     
     
  10. Upvote
    BananaFight recebeu reputação de gabriel28 em 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
     
     


     
     
     



     


     
     
     



     


     
     
     



     


     
     
     
  11. Upvote
    BananaFight recebeu reputação de samlecter em 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 deu reputação a dalvorsn em [Encerrado] Dedicado   
    A melhor sem duvidas é a OVH
    https://www.ovh.com/ca/en/dedicated-servers/
  13. Upvote
    BananaFight recebeu reputação de Poccnn em Operador Ternário em lua   
    E é exatamente por isso que eu disse que se não sabe usar é melhor evitar, eu consigo ler ternário sem nem um problema e consigo entender exatamente oque esta sendo verificado e qual vai ser o resultado da verificação. 
  14. Upvote
    BananaFight recebeu reputação de Felipe Moraes em Operador Ternário em lua   
    Fale por si só, operador ternário tem sim suas utilidades e pode sim simplificar muito um código, tudo depende da perspectiva que se vê, então se você não sabe usar é melhor evitar mesmo.
  15. Upvote
    BananaFight recebeu reputação de Gabriel Netto em Operador Ternário em lua   
    Fale por si só, operador ternário tem sim suas utilidades e pode sim simplificar muito um código, tudo depende da perspectiva que se vê, então se você não sabe usar é melhor evitar mesmo.
  16. Upvote
    BananaFight recebeu reputação de Gabriel Netto em Como adicionar um SpellBar no OTClient   
    Isso é uma referencia a um método de ação do processador.
     
    Mas basicamente é enviar informações para o receptor agir de formas diferentes, e por isso essa referencia.
     
    Ou seja você vai enviar informações do servidor para o client usando os ExtendedOpcodes que ja estão implantados na source do client ( E em alguns servidores tfs 1.x ), caso no seu servidor não tenha você pode adicionar manualmente nas source seguindo os tutoriais ja postados aqui.
     
     
  17. Upvote
    BananaFight recebeu reputação de Next Level em [DwO] Digimon World Online - Custom Server and Client !   
    Esperava mais desse projeto.
     
     


     
     
     


    Consegui identificar alguns problemas nos sistemas só olhando pelas as imagens, Sistemas iguais aos de um poketibia, e não parece ter nada de novo e diferente de outros servidores, mapa parece bem fraco, também, tirando as sprites parece um servidor de poketibia mal programado.
     
     
  18. Upvote
    BananaFight recebeu reputação de Yobias em [Arquivado]Como vocês aprenderam a programar?   
    Estudando²
     
     


     
     
     


    Primeiro aprenda a Sintaxe da Linguagem, depois busque sobre Orientação a Objetos, e depois vá aprendendo com a necessidade.
     
     
  19. Upvote
    BananaFight recebeu reputação de Luga03 em [Arquivado]Como vocês aprenderam a programar?   
    Estudando²
     
     


     
     
     


    Primeiro aprenda a Sintaxe da Linguagem, depois busque sobre Orientação a Objetos, e depois vá aprendendo com a necessidade.
     
     
  20. Upvote
    BananaFight recebeu reputação de Felipe Moraes em [Arquivado]Como vocês aprenderam a programar?   
    Estudando²
     
     


     
     
     


    Primeiro aprenda a Sintaxe da Linguagem, depois busque sobre Orientação a Objetos, e depois vá aprendendo com a necessidade.
     
     
  21. Upvote
    BananaFight recebeu reputação de Felipe Moraes em Saindo da "tela preta" e indo para a sua Janela em 5 minutos   
    Se fossem outros tempos eu até poderia ajudar, mas infelizmente hoje em dia não posso, estou bastante ocupado com algumas coisas, então não posso me comprometer a ajudar em um projeto tão grande, mas se quiser pegar meu contato, eu posso te ajudar no planejamento das aulas. 
  22. Upvote
    BananaFight recebeu reputação de Felipe Moraes em Saindo da "tela preta" e indo para a sua Janela em 5 minutos   
    Depende, um tutorial você poderia só ter instanciado o jFrame dentro da classe Testadora, mas pelo que entendi você quis mostrar algo mais elaborado, nesse caso poderia ter usando herança e ter herdado a classe JFrame.
     
     


     
     
     


    Alguns outros detalhes que eu teria feito, são construtores para setar nome e tamanho da janela ( Já que nos damos o trabalho de criar uma classe para a janela no exemplo, poque não fazer ela completa )
     
     


     
     
     


    Outra coisa é em relação aos metodos, AbrirJanela se refere a uma execução, ou seja executamos uma ação ao abrir, então não deveria ter instanciações dentro do método, no caso eu faria as instanciações no construtor da classe, e no metodo AbrirJanela só daria um setVisible(true)
     
     


     
     
     


    Então ficaria,
     
     


     
     
     


    Construtor - Seta tamanho e titulo
     
     


    ( Novo metodo ) Inicializadora - Cria a label
     
     


    AbrirJanela - Monstra o frame
     
     


     
     
     


    Enfim, são detalhes que eu mudaria no tutorial
     
     
  23. Upvote
    BananaFight recebeu reputação de Felipe Moraes em Saindo da "tela preta" e indo para a sua Janela em 5 minutos   
    Bem legal, eu mudaria algumas coisas mas isso é por costume kkk
     
     


     
     
     


    Criar Janelas no java pode ser bem chato y.y
     
     
  24. Upvote
    BananaFight recebeu reputação de Gabriel Netto em Diferença entre 2D e 3D nos Jogos   
    Achei esse video interessante e queria compartilhar com vcs
     
     


     
     
     





     
  25. Upvote
    BananaFight deu reputação a Gabriel Netto em Diferença entre 2D e 3D nos Jogos   
    Sim, o 3d tem suas vantagens pra produção, mas pra experiência ingame tem que ser muito bem feito pra não ficar enjoativo ou estranho aos olhos, coisa que só vejo nos jogos de grandes desenvolvedoras.
  • Quem Está Navegando   0 membros estão online

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