Ir para conteúdo

BananaFight Free Codes


BananaFight

Posts Recomendados

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

 

Editado por BananaFight
Link para o comentário
Compartilhar em outros sites

8 minutos atrás, kttallan disse:

Parabéns cara acho muito foda seu trabalho. Sempre fiquei admirado pelo seu sistema de monster é algo inovador que pode melhorar muito o desenvolvimento de derivados como pokétibia.

 

Eu estou refazendo ele, ja postei a versão 2.0 dele em outro tópico aqui hoje, mas agora vou refazer tudo e postar aqui nesse tópico, arrumando bugs e fazendo da forma mais limpa possível.

Link para o comentário
Compartilhar em outros sites

Se eu falar pra vc que estava fazendo esses atributo nas sources que tem um limite da porra imagina 100 atributos para cada atributo do pokemon eu ja estava em

ITEM_ATTRIBUTE_POKEMON_NICK = (0x1EC | (static_cast<uint64_t>(1) << 43)),

ai o dalvorsn falo para eu fazer pro serialize me explico tudo mais não consegui implementar muito bom mano isso e muito muito foda.

Link para o comentário
Compartilhar em outros sites

3 horas atrás, nociam disse:

Se eu falar pra vc que estava fazendo esses atributo nas sources que tem um limite da porra imagina 100 atributos para cada atributo do pokemon eu ja estava em

ITEM_ATTRIBUTE_POKEMON_NICK = (0x1EC | (static_cast<uint64_t>(1) << 43)),

ai o dalvorsn falo para eu fazer pro serialize me explico tudo mais não consegui implementar muito bom mano isso e muito muito foda.

 

Foi exatamente por isso que resolvi criar o pokeball por classe, era muito ruim ter que usar os atributos dos itens.

Link para o comentário
Compartilhar em outros sites

tenho uma duvida o que seria exatamente essa a parte do 6 o que faz e um limite?

 

  case ATTR_POKEBALLINFO: {
   if (!propStream.skip(6)) {
    return ATTR_READ_ERROR;
   }
   break;
  }

Link para o comentário
Compartilhar em outros sites

26 minutos atrás, nociam disse:

tenho uma duvida o que seria exatamente essa a parte do 6 o que faz e um limite?

 

  case ATTR_POKEBALLINFO: {
   if (!propStream.skip(6)) {
    return ATTR_READ_ERROR;
   }
   break;
  }

 

Cara isso é para ele não tentar ler os atributos do pokeball pelo item, basicamente isso é para evitar bugs com o getAttribute. 

Link para o comentário
Compartilhar em outros sites

Ajustado o erro era em outro get set que coloquei do tipo strings  dava conflito sei lá porque ai ajustei utilizando  Const.

Editado por nociam
Link para o comentário
Compartilhar em outros sites

Em 29/09/2017 at 22:45, nociam disse:

Só uma pergunta esse sistema se fez no tfs 1.2 eu adicionei no 1.3 mas o servidor crash quanto desloga isso será e o tfs não compatível?

Má instalação de algum sistema, por isso é sempre bom fazer backups, eu, por exemplo, faço backup a cada virgula alterada askpask

 

Esses dias tava mexendo mó empolgado, fiz mts alterações, sem backups, quando fui compilar deu mó treta, nem ligava e já crashava KKKKKKK Mas graça a meu backup anterior consegui recuperar 90% do que tinha feito e ainda corrigi o problema hehe

 

Em 29/09/2017 at 00:22, BananaFight disse:

 

Foi exatamente por isso que resolvi criar o pokeball por classe, era muito ruim ter que usar os atributos dos itens.

Essa ideia de utilizar o pokeball por class é muito boa... Não tinha pensado nisso akspaks Mas, mesmo se eu tivesse pensado não conseguiria fazer por falta de conhecimento ... Vou estudar classes do C++ para poder desenvolver uns sistemas bem legais baseado nesse teu Pokeball Class ;) 

Link para o comentário
Compartilhar em outros sites

Como faço para ter acesso a por exemplo item:getId() == 22 porque não estou com acesso por pokeball:getId()?

Editado por nociam
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...