Host cannot read changes to the clients variable

You need to make sure the ammo count is being updated by the server when you fire, so it replicates the correct value from server to client. Changes a client makes (without using server) to a replicated variable do not reflect on the replicated variable.