Olá galera ,segue mais uma source de minha autoria.
Ela é para versão 97d e é de indole do meu projeto.

Comando.cpp
Código:
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.