How should I do this?
I'm wanting to make a site where the users basically create it, it's going to be like a video/dvd database with some twists.
I want users to have their own profile, be able to add friends on it and have their contributions throughout the site viewable on their profile.
I'm wanting to add a discussion forum which I would like integrated into the main site, so I'm probably going to have to make some type of bridge for that?
I'm also wanting to have an easy to access admin control panel where I can easily edit content etc... I was thinking about wordpresss but the site in the end might be too complicated and big so I was thinking about programming it from scratch but don't really know what I would need to use.
So you are after a lot of database and php programming.
No, not really... what you need is to study all the CMSs in the market and their plugins and choose the one that it is best for his project. From WP to Joomla or Drupal and everything in between... you have a wide range of CMSs that can provide the functionality you're looking for either directly or with the addition of plug-ins
Unless you are an avid programmer, or want to learn how to do this and have a lot of time on your hands, it would be better to hire someone to do this. As molona says, there are CMSes that can do this, but they too have quite a learning curve—especially for doing something like this.