first off, nothing runs BF4 well due to all the crashing at the moment.
with $300 get the cheapest core i5 you can get, most ram is fine these days so don't bother getting top end corsair stuff if you really can't afford it as the gpu will be your bottleneck anyway. In which case I recommend hitting up ebay for a good used gtx660 or equivalent or better. At 1080p a 660 can handle bf4 on medium settings.