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