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.