@Eternal: I knew the basics of that, and I pretty much wrote that code... but no, that doesn't work. D: