First, write down all of your problems. Then, write down what your ideal resolution of these problems would be. Then from there write down how you can go about doing it.
The best way to change your habits is to position yourself so that you are unable to revert back to them. For example, one of my goals was to stop spending money on food/drinks when I'm out at school/work, so to achieve this I don't take my credit card with me when I go. I also only leave a few bucks in my wallet so that I can buy something if I get hungry enough where I have to eat something. So then I don't have to worry about temptation because it isn't there.
You could do this with many of the problems you listed here. Delete your dealer's number, and if it's a friend then make them promise not to sell to you anymore. Even better, stop being their friend. For stopping smoking there's plenty of resources out there.
For living at home that's an easy one: get a job and find an apartment! It doesn't have to be a great place to live but at 20 pretty much anywhere's better than living with your parents.
****, you gotta keep the big picture in mind but realize that you gotta take many small steps to get there, or you're going to get overwhelmed. Start with one thing at a time (although I'd start looking for a job/apt ASAP because the first step in getting a girl is living on your own).