Resultados 1 a 8 de 8
  1. #1
    Developer C++ Lucas M.'s Avatar
    Data de Ingresso
    Jan 2015
    Posts
    84
    Thanks Thanks Given 
    14
    Thanks Thanks Received 
    5
    Thanked in
    2 Posts
    Mencionado
    24 Post(s)

    Lightbulb Comando /zen simples

    Olá galera , segue o comando /zen de minha autoria:

    Código:
    void LM_COMANDOS::ZenCommand(int aIndex)
    {
    OBJECTSTRUCT * gObj = (OBJECTSTRUCT*)OBJECT_POINTER(aIndex);
    		if(strlen(comandos.ZenString) < 1)
    	{
    		MsgOutput(aIndex,"[%s] Digita-se /zen",gObj->Name);
    		return;
    	}
    	else if(comandos.ZenAtivo == 0)
    	{
    		MsgOutput(aIndex,"[%s] Comando desabilitado",gObj->Name);
    		return;
    	}
    	else if(comandos.ZenLevel > gObj->Level)
    	{
    		MsgOutput(aIndex,"[%s] Você não possui %d de level",gObj->Name,comandos.ZenLevel);
    		return;
    	}
    	else if(comandos.ZenVip > gObj->VipLevel)
    	{
    		MsgOutput(aIndex,"[%s] Comando apenas para Vips",gObj->Name,comandos.ZenLevel);
    		return;
    	}
    else if(comandos.ZenMaximo > 2000000000)
    	{
    		MsgOutput(aIndex,"[%s] Você ultrapassou o limite de Zen !",gObj->Name,comandos.ZenMaximo);
    		return;
    	}
    	else
    	{
    		MsgOutput(aIndex,"[%s] Você ganhou %d zen",gObj->Name,comandos.ZenQuantia);
    		gObj->Money = comandos.ZenQuantia;
    		GCMoneySend(aIndex,gObj->Money);
    	}
    }
    Créditos Lucas M.
    Last edited by Lucas M.; 08/02/2015 at 05:48 PM.

  2. #2
    Developer C++ s00x's Avatar

    Data de Ingresso
    Jan 2015
    Posts
    373
    Thanks Thanks Given 
    75
    Thanks Thanks Received 
    146
    Thanked in
    24 Posts
    Mencionado
    63 Post(s)
    MEU HUMOR
    Cheerful
    País
    United States
    @[Somente membros podem ver os links. ] Perfeito, obrigado por compartilhar .
    Há e tem um bug, vai ultrapassar o limite, mesmo estando definido no .INI

    Depois do ultimo else if, coloque assim .

    Código:
    else if(comandos.ZenMaximo >= 2000000000)
    	{
                    lpObj->Money = 2000000000;
                    GCMoneySend(aIndex,lpObj->Money);
    		MsgOutput(aIndex,"[%s] Você ultrapassou o limite de Zen !",gObj->Name,comandos.ZenMaximo);
    		return;
    	}

  3. #3
    Developer C++ Lucas M.'s Avatar
    Data de Ingresso
    Jan 2015
    Posts
    84
    Thanks Thanks Given 
    14
    Thanks Thanks Received 
    5
    Thanked in
    2 Posts
    Mencionado
    24 Post(s)
    @[Somente membros podem ver os links. ] Adicionei a checagem , assim os valores não passam do definido ! Obrigado pela ajuda.

    Tópico editado , source acho que está mais completa e em ótimo estado...

  4. #4
    Membro VIP LEGENDARY's Avatar
    Data de Ingresso
    Sep 2017
    Posts
    164
    Thanks Thanks Given 
    10
    Thanks Thanks Received 
    309
    Thanked in
    15 Posts
    Mencionado
    16 Post(s)
    MEU HUMOR
    Inspired
    País
    Brazil
    @[Somente membros podem ver os links. ] @[Somente membros podem ver os links. ]
    que lugar da source coloco essse codigo para funcionar ? no main? no gameserver? qual arquivo .h ou .cpp?

  5. #5
    Developer C++ s00x's Avatar

    Data de Ingresso
    Jan 2015
    Posts
    373
    Thanks Thanks Given 
    75
    Thanks Thanks Received 
    146
    Thanked in
    24 Posts
    Mencionado
    63 Post(s)
    MEU HUMOR
    Cheerful
    País
    United States
    Citação Originally Posted by froid11 Ver Post
    @[Somente membros podem ver os links. ] @[Somente membros podem ver os links. ]
    que lugar da source coloco essse codigo para funcionar ? no main? no gameserver? qual arquivo .h ou .cpp?
    Olá, bom dia!
    Então, levando em consideração as suas ultimas postagens no fórum, vou te dar uma resposta explicativa.

    Vamos imaginar o seguinte cenário, quando o assunto é WebSite, trabalhamos com duas "camadas" essências, o frontEnd: que é toda aquela estrutura bonita que vemos, detalhes visuais, elementos gráficos impecáveis, resumindo... é tudo que é visível no site. E a parte de trás, chamamos de backEnd: o backend é a linha dura da parada, é ele que faz você logar no website, trazer os resultados de um ranking, manipular as moedas dos shoppings, adicionar alguma outra função que você precisa e muitoooooo mais coisas, e tudo isso será exibido através do frontEnd.

    Quando se trata do MuOnline em si, também tentamos trabalhar dessa forma, e consideramos que, o GameServer é o backend da parada, ele que recebe as funções, os eventos customizados, as variações do danos dos itens, e por ai vai, e nosso querido e velho Main, fica encarregado de exibir essas funções. É claro que em determinados momentos podemos fazer algumas coisas dentro do próprio main, mais que não vai fugir muito do porque dEle existir, que é: EXIBIR OS ELEMENTOS E COMPOSIÇÕES VISUAIS. Em outras palavras, animar nossas funções do GameServer.

    Agora, respondendo a sua pergunta, esse código você vai declara-lo no GameServer.
    Todas as funções são declaradas no .cpp (body) e chamamos ela no .h (header) para quando formos compilar, termos melhor desempenho (focando no bruto da coisa rsrs) e seguir boas práticas de programação.

    Espero ter ajudado, até breve.

    att's
    É melhor estar enganado, do que ser enganado.

  6. #6
    Membro VIP LEGENDARY's Avatar
    Data de Ingresso
    Sep 2017
    Posts
    164
    Thanks Thanks Given 
    10
    Thanks Thanks Received 
    309
    Thanked in
    15 Posts
    Mencionado
    16 Post(s)
    MEU HUMOR
    Inspired
    País
    Brazil
    Citação Originally Posted by s00x Ver Post
    Olá, bom dia!
    Então, levando em consideração as suas ultimas postagens no fórum, vou te dar uma resposta explicativa.

    Vamos imaginar o seguinte cenário, quando o assunto é WebSite, trabalhamos com duas "camadas" essências, o frontEnd: que é toda aquela estrutura bonita que vemos, detalhes visuais, elementos gráficos impecáveis, resumindo... é tudo que é visível no site. E a parte de trás, chamamos de backEnd: o backend é a linha dura da parada, é ele que faz você logar no website, trazer os resultados de um ranking, manipular as moedas dos shoppings, adicionar alguma outra função que você precisa e muitoooooo mais coisas, e tudo isso será exibido através do frontEnd.

    Quando se trata do MuOnline em si, também tentamos trabalhar dessa forma, e consideramos que, o GameServer é o backend da parada, ele que recebe as funções, os eventos customizados, as variações do danos dos itens, e por ai vai, e nosso querido e velho Main, fica encarregado de exibir essas funções. É claro que em determinados momentos podemos fazer algumas coisas dentro do próprio main, mais que não vai fugir muito do porque dEle existir, que é: EXIBIR OS ELEMENTOS E COMPOSIÇÕES VISUAIS. Em outras palavras, animar nossas funções do GameServer.

    Agora, respondendo a sua pergunta, esse código você vai declara-lo no GameServer.
    Todas as funções são declaradas no .cpp (body) e chamamos ela no .h (header) para quando formos compilar, termos melhor desempenho (focando no bruto da coisa rsrs) e seguir boas práticas de programação.

    Espero ter ajudado, até breve.

    att's
    OLÁ ÓTIMO DIA

    Fiquei ate emocionado sem palavras para descrever , o quão grato estou por ter explicado minuciosamente esses detalhes , estou iniciando programação c++ , via youtube ... e vamos ver o que sai , obrigado muito, foi muito claro.

    só mais uma pergunta , qual arquivo no game server vai esses códigos? é respondendo essa pergunta , sempre quando irei adicionar novos comando, vai nesse arquivo?
    Last edited by LEGENDARY; 11/08/2019 at 03:05 PM.

  7. #7
    Developer C++ Lucas M.'s Avatar
    Data de Ingresso
    Jan 2015
    Posts
    84
    Thanks Thanks Given 
    14
    Thanks Thanks Received 
    5
    Thanked in
    2 Posts
    Mencionado
    24 Post(s)
    Citação Originally Posted by froid11 Ver Post
    OLÁ ÓTIMO DIA

    Fiquei ate emocionado sem palavras para descrever , o quão grato estou por ter explicado minuciosamente esses detalhes , estou iniciando programação c++ , via youtube ... e vamos ver o que sai , obrigado muito, foi muito claro.

    só mais uma pergunta , qual arquivo no game server vai esses códigos? é respondendo essa pergunta , sempre quando irei adicionar novos comando, vai nesse arquivo?
    Olá amigo @[Somente membros podem ver os links. ], veja umas sources postadas aqui no forum mesmo, você vai perceber e entender como funciona A FUNÇÃO, NO QUE ELA SE REFERE, O QUE ELA DECLARA OU BUSCA e vai entender como você pode declara-la. Garanto que você vai entender melhor.
    Sei que é iniciante, mas respondendo a sua pergunta, eu falaria que é interpretativo:
    Eu por exemplo faço .cpp diferente para cada função que me trará um resultado, mas varias pessoas colocam em um .cpp só.

    Vai por mim que seu compreendimento vai aumentar muito com você entendendo a estrutura toda em si.

    Abraços.

  8. #8
    Developer C++ s00x's Avatar

    Data de Ingresso
    Jan 2015
    Posts
    373
    Thanks Thanks Given 
    75
    Thanks Thanks Received 
    146
    Thanked in
    24 Posts
    Mencionado
    63 Post(s)
    MEU HUMOR
    Cheerful
    País
    United States
    Citação Originally Posted by froid11 Ver Post
    OLÁ ÓTIMO DIA

    Fiquei ate emocionado sem palavras para descrever , o quão grato estou por ter explicado minuciosamente esses detalhes , estou iniciando programação c++ , via youtube ... e vamos ver o que sai , obrigado muito, foi muito claro.

    só mais uma pergunta , qual arquivo no game server vai esses códigos? é respondendo essa pergunta , sempre quando irei adicionar novos comando, vai nesse arquivo?
    Hi!

    Então colega, isso depende, se você quiser criar um arquivo novo para isso, mais já adianto, para MuEmu isso não tem serventia.
    att's
    É melhor estar enganado, do que ser enganado.

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • You may not post Resposta(s)
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •  
Sobre nós
Somos uma comunidade em atividade a 8 anos que aborda assuntos relacionados a games em geral, principalmente games MMORPG. e que busca sempre ajudar os membros através de conteúdos, tutoriais e suporte...
Nossos anunciantes
Hinetworks
VelozHost
InovHost
Rede Sociais