PDA

View Full Version : |Source| Source comando /mr



Lucas M.
25/02/2015, 01:15 AM
Olá galera ,segue mais uma source de minha autoria.
Ela é para versão 97d e é de indole do meu projeto.

Comando.cpp

void COMANDOS::ResetaoCommand(int aIndex)
{
OBJECTSTRUCT * gObj = (OBJECTSTRUCT*)OBJECT_POINTER(aIndex);
int VeriVip = mySql->GetFieldInt(TabelaVip,ColunaVip,"Where memb___id = '%s'",gObj->AccountID);
if(strlen(comandos.ResetaoString) < 1)
{
MsgOutput(aIndex,"Usa-se /resetao");
return;
}
switch(VeriVip)
{
case 0:
{
if(gObj->Level < comandos.ResetaoFreeLevel)
{
MsgOutput(aIndex,"%s você precisa estar no level %s",gObj->Name,comandos.ResetaoFreeLevel);
return;
}
else if(gObj->Money < comandos.ResetaoFreeZen)
{
MsgOutput(aIndex,"%s você precisa ter %s de zen",gObj->Name,comandos.ResetaoFreeZen);
return;
}
else
{
char QueryResetaoFree[200];
GetPrivateProfileString(LM_COMANDOS,"QueryResetaoFree","",QueryResetaoFree,200,COMANDOS_INI);
mySql->Exec(QueryResetaoFree,gObj->Name);
char QueryResetaoFreeBonus[200];
GetPrivateProfileString(LM_COMANDOS,"QueryResetaoFreeBonus","",QueryResetaoFreeBonus,200,COMANDOS_INI);
mySql->Exec(QueryResetaoFreeBonus,gObj->Name);
gObj->Money -= comandos.ResetaoFreeZen;
gObj->Level = comandos.ResetaoVoltaLevelFree;
gObj->Strength = comandos.ResetaoStatusForFree;
gObj->Dexterity = comandos.ResetaoStatusAgiFree;
gObj->Energy = comandos.ResetaoStatusEneFree;
gObj->Vitality = comandos.ResetaoStatusVidFree;
GCMoneySend(aIndex,gObj->Money);
MsgOutput(aIndex,"Você deu resetao com sucesso");
gObjCloseSet(aIndex,1);
}
}
break;
case 1:
{
if(gObj->Level < comandos.ResetaoVip1Level)
{
MsgOutput(aIndex,"%s você precisa estar no level %s",gObj->Name,comandos.ResetaoVip1Level);
return;
}
else if(gObj->Money < comandos.ResetaoVip1Zen)
{
MsgOutput(aIndex,"%s você precisa ter %s de zen",gObj->Name,comandos.ResetaoVip1Zen);
return;
}
else
{
char QueryResetaoVip1[200];
GetPrivateProfileString(LM_COMANDOS,"QueryResetaoVip1","",QueryResetaoVip1,200,COMANDOS_INI);
mySql->Exec(QueryResetaoVip1,gObj->Name);
char QueryResetaoVip1Bonus[200];
GetPrivateProfileString(LM_COMANDOS,"QueryResetaoVip1Bonus","",QueryResetaoVip1Bonus,200,COMANDOS_INI);
mySql->Exec(QueryResetaoVip1Bonus,gObj->Name);
gObj->Money -= comandos.ResetaoVip1Zen;
gObj->Level = comandos.ResetaoVoltaLevelVip1;
gObj->Strength = comandos.ResetaoStatusForVip1;
gObj->Dexterity = comandos.ResetaoStatusAgiVip1;
gObj->Energy = comandos.ResetaoStatusEneVip1;
gObj->Vitality = comandos.ResetaoStatusVidVip1;
GCMoneySend(aIndex,gObj->Money);
MsgOutput(aIndex,"Você deu resetao com sucesso");
gObjCloseSet(aIndex,1);
}
}
break;
case 2:
{
if(gObj->Level < comandos.ResetaoVip2Level)
{
MsgOutput(aIndex,"%s você precisa estar no level %s",gObj->Name,comandos.ResetaoVip2Level);
return;
}
else if(gObj->Money < comandos.ResetaoVip2Zen)
{
MsgOutput(aIndex,"%s você precisa ter %s de zen",gObj->Name,comandos.ResetaoVip2Zen);
return;
}
else
{
char QueryResetaoVip2[200];
GetPrivateProfileString(LM_COMANDOS,"QueryResetaoVip2","",QueryResetaoVip2,200,COMANDOS_INI);
mySql->Exec(QueryResetaoVip2,gObj->Name);
char QueryResetaoVip2Bonus[200];
GetPrivateProfileString(LM_COMANDOS,"QueryResetaoVip2Bonus","",QueryResetaoVip2Bonus,200,COMANDOS_INI);
mySql->Exec(QueryResetaoVip2Bonus,gObj->Name);
gObj->Money -= comandos.ResetaoVip2Zen;
gObj->Level = comandos.ResetaoVoltaLevelVip2;
gObj->Strength = comandos.ResetaoStatusForVip2;
gObj->Dexterity = comandos.ResetaoStatusAgiVip2;
gObj->Energy = comandos.ResetaoStatusEneVip2;
gObj->Vitality = comandos.ResetaoStatusVidVip2;
GCMoneySend(aIndex,gObj->Money);
MsgOutput(aIndex,"Você deu resetao com sucesso");
gObjCloseSet(aIndex,1);
}
}
break;
}

}

Bom é isso , editem a gosto , porém a ideia principal é ver como é feito a estrutura e o proprio comando.

Créditos Lucas M.

muhelp
25/02/2015, 01:23 AM
Lucas M. assim amigo esse sistema de master reset não esta corretamente como se deveria ser vou dar um exemplo ...

Resets Ganha 200 Pontos ..
Master Resets Ganha 200 Pontos ..

Vamus dizer que tenho 2 Master Reset = 400 pontos + 10 Resets = 2000 pontos
Eu teria que ganhar 2000 + 400 pontos para eu add !

Vamus dizer que eu do outro Master Reset e chego a 3 resets = 600 pontos + 600 pontos do master reset esses pontos deve se acumular do Master Reset e todas as Source que testo do Master Reset infelismente ele não acumula ele supor chega da 1 master reset ou você configura para ganhar xx pontos em xx status quando reseta ja começa com pontos ( IGUAL ESSA ) ou você ganha xx pontos soque quando reseta volta tudo os pontos sem acumular os Master Reset .. Se estiver errado me mostra um video ae ou algo do tipo fazendo oque estou dizendo pois venho atras de editar essa source do jeito certo a tempos e sempre acontece erros . E quando encontro a source ela não e feita do jeito certo .

Lucas M.
25/02/2015, 01:50 AM
Não entendi bem esse sistema de master reset ! O M.R que fiz é o que comulmente fazem , os status voltam e você ganha 1 mr por isso !
Agora sobre esse sistema de master reset não entendi bem.

muhelp
25/02/2015, 11:37 AM
Esse sistema de MR que eu estou falando e o mais padrao usados para servidor hard de verdade infelismente pocas pessoas conhece e pocos MuServer tem eu queria adapitar ele porem não acho a source correta testei a sua e como disse e o padrao mesmo . A Minha e diferente acho que amanha ou final de semana faço um video no meu Servidor e posto para você dar uma olhada como estou falando !
Ai você pergunta mais ja tem no seu server ? Sim ! Porem uso MuServer de um amigo e não tem nada ver com meu =/

Lucas M.
25/02/2015, 07:33 PM
Aguardo o video demonstração para poder adapta-lo a source !