I think the most important thing is getting your hands dirty. Try writing a program and when done start another one. But once you know the basics my suggestion is to get involved into an open source project, there are many high quality projects which can really teach you a lot. Personally, almost all i know about programming is thanks to open source.
That said, 2 years is a tight time to master C++, imho. Lua is easy I think, but I've only used ancient Lua 3.1 alpha, not sure how it is now.