PDA

View Full Version : |Source| Comando /zen simples



Lucas M.
07/02/2015, 04:26 AM
Olá galera , segue o comando /zen de minha autoria:


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.

s00x
08/02/2015, 12:55 PM
Lucas M. 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 .



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;
}

Lucas M.
08/02/2015, 04:49 PM
wagnerspg 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...

LEGENDARY
11/08/2019, 03:30 AM
s00x Lucas M.
que lugar da source coloco essse codigo para funcionar ? no main? no gameserver? qual arquivo .h ou .cpp?

s00x
11/08/2019, 10:43 AM
s00x Lucas M.
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

LEGENDARY
11/08/2019, 02:55 PM
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 :D

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 :D , obrigado muito, foi muito claro. :D

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?

Lucas M.
11/08/2019, 06:19 PM
OLÁ ÓTIMO DIA :D

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 :D , obrigado muito, foi muito claro. :D

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 froid11, 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.

s00x
11/08/2019, 09:36 PM
OLÁ ÓTIMO DIA :D

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 :D , obrigado muito, foi muito claro. :D

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