The "ammo" variable was used in the Torque FPS example for the crossbow, but isn't used/coded in Blockland.
To use the No Ammo states, you should code a way to store your ammo count and use this function:
%obj.setImageAmmo(%slot,%ammo);
... to trigger stateTransitionOn[No]Ammo in the weapon image.