If you haven't already, I'd get rid of some of the reverb in the bass. I don't think you necessarily have to cut below 30khz (edit: I could have sworn somebody mentioned something about cutting it below 30khz, but I guess not), just balance it out with the mix, so it's not putting a blanket over the whole mix like it's doing right now.
Try to find a better piano sample and guitar sample while you're at it.
Tweak the guitar if anything, but if you can't get it to sound good, maybe replace it with a synth? Or heck, even layer a synth over it, that might help to give it some character.
The piano could also use some humanization.
I'd hate to keep saying things, but I do think you have a good mind for music from what I'm hearing so far. Just need to work.
When you're trying to do cymbal rolls during that piano solo at 4:04 it doesn't sound to good. I'm not sure if you're really going to get a good cymbal roll sample like you're wanting from FL Studios library, but look around. Something might work. I would also try having a pad play there or something, so it doesn't sound so awkward hearing a cymbal roll with only the piano.
There's definitely a lot that can be done with this mix. I wouldn't stress yourself out over this one song too much. It's as Skrypnyk said, only doing more projects will get you better. But you'd be doing good to apply as much as we've said here to this project if possible and the next one you do. Like I said, you obviously have a good mind for music - just keep learning production and arrangement techniques and I think you'll be alright.
P.S. I found myself liking the part towards the end. Try applying arrangement like that throughout the song. It was fun to listen to!