Código:
void CHAT_COMMANDS::Reset(DWORD aIndex)
{
	int Level = GetPrivateProfileInt("ResetCommand","Level",350,CFG_COMMAND);
	int LevelVip1 = GetPrivateProfileInt("ResetCommand","LevelVS",320,CFG_COMMAND);
	int LevelVip2 = GetPrivateProfileInt("ResetCommand","LevelVP",300,CFG_COMMAND);
	unsigned int Price = GetPrivateProfileInt("ResetCommand","Price",50000000,CFG_COMMAND);
	unsigned int PriceVip1 = GetPrivateProfileInt("ResetCommand","PriceVS",20000000,CFG_COMMAND);
	unsigned int PriceVip2 = GetPrivateProfileInt("ResetCommand","PriceVP",10000000,CFG_COMMAND);
	
	 OBJECTSTRUCT* gObj = (OBJECTSTRUCT*)OBJECT_POINTER(aIndex);

	int tipovip = MYSQL->GetFieldInt("MuOnline.dbo.MEMB_INFO","Vip","WHERE memb___id='%s'",gObj->AccountID);

	if(stricmp(&this->ResetAtivo[0], "NAO") == 0)
	{
		sprintf_s(msN,"[%s] Comando Desabilitado. Consulte Um Admin.",gObj->Name);
		ServerMsgSend(msN,aIndex,1);
		return;
	}
    switch(tipovip)
	{
	case 0:
		{
			if (gObj->Level < Level)
			{
				sprintf_s(msN,"[%s] Você Não Está No Level Necessário Para Resetar.",gObj->Name);
		        ServerMsgSend(msN,aIndex,1);
		        return; 
			
			}

			else if (gObj->Money < Price)
			{
				sprintf_s(msN,"[%s] Você Não Possui Zen Necessário Para Resetar.",gObj->Name);
		        ServerMsgSend(msN,aIndex,1);
		        return;

			}
			else
			{
				char SQLBuffer[2048];
	
				sprintf_s(SQLBuffer,"UPDATE MuOnline.dbo.Character SET Resets = Resets + '1', Resetsemanal = Resetsemanal + 1, Resetmensal = Resetmensal + 1 , Resetdiario = Resetdiario + 1 WHERE Name = '%s'",gObj->Name);
				MYSQL->Exec(SQLBuffer);

				gObj->Level = 1;
				gObj->Experience = 0;
				gObj->Money = gObj->Money - Price;
				gObjTeleport(aIndex,0,125,125);
				gObjCloseSet(aIndex,1);
				char Resetado[100];
				sprintf_s(Resetado, "[%s] Você Foi Resetado Com Sucesso.", gObj->Name);
				GCServerMsgStringSend(Resetado,aIndex,1);
			}
		}break;
	case 1:
		{
			if (gObj->Level < LevelVip1)
			{
				sprintf_s(msN,"[%s] Você Não Está No Level Necessário Para Resetar.",gObj->Name);
		        ServerMsgSend(msN,aIndex,1);
		        return;
			}

			else if (gObj->Money < PriceVip1)
			{
				sprintf_s(msN,"[%s] Você Não Possui Zen Necessário Para Resetar.",gObj->Name);
		        ServerMsgSend(msN,aIndex,1);
		        return;
			}
			else
			{
				char SQLBuffer[2048];
	
				sprintf_s(SQLBuffer,"UPDATE MuOnline.dbo.Character SET Resets = Resets + '1', Resetsemanal = Resetsemanal + 1, Resetmensal = Resetmensal + 1 , Resetdiario = Resetdiario + 1 WHERE Name = '%s'",gObj->Name);
				MYSQL->Exec(SQLBuffer);

				gObj->Level = 6;
				gObj->Experience = 0;
				gObj->Money = gObj->Money - PriceVip1;
				gObjTeleport(aIndex,0,125,125);
				gObjCloseSet(aIndex,1);
				char Resetado[100];
				sprintf_s(Resetado, "[%s] Você Foi Resetado Com Sucesso.", gObj->Name);
				GCServerMsgStringSend(Resetado,aIndex,1);
			}
		}break;
	case 2: 
		{
			if (gObj->Level < LevelVip2)
			{
				sprintf_s(msN,"[%s] Você Não Está No Level Necessário Para Resetar.",gObj->Name);
		        ServerMsgSend(msN,aIndex,1);
		        return;
	
			}

			else if (gObj->Money < PriceVip2)
			{
				sprintf_s(msN,"[%s] Você Não Possui Zen Necessário Para Resetar.",gObj->Name);
		        ServerMsgSend(msN,aIndex,1);
		        return;
			}
			else
			{
				char SQLBuffer[2048];
	
				sprintf_s(SQLBuffer,"UPDATE MuOnline.dbo.Character SET Resets = Resets + '1', Resetsemanal = Resetsemanal + 1, Resetmensal = Resetmensal + 1 , Resetdiario = Resetdiario + 1 WHERE Name = '%s'",gObj->Name);
				MYSQL->Exec(SQLBuffer);

				gObj->Level = 10;
				gObj->Experience = 0;
				gObj->Money = gObj->Money - PriceVip2;
				gObjTeleport(aIndex,0,125,125);
				gObjCloseSet(aIndex,1);
				char Resetado[100];
				sprintf_s(Resetado, "[%s] Você Foi Resetado Com Sucesso.", gObj->Name);
				GCServerMsgStringSend(Resetado,aIndex,1);
			}
		}break;
	}
	
}
Créditos: -_Dark_-