The electron affinity of almost metals gets 0 or negative values
No, they do not. That is my point. That is an older standard, they are usually now referred to as positive values.
The change, is however "negative". Say a chlorine atom gains an extra electron to form Cl
-, it releases ~350 kJ/mol.
So it releases 350kJ/mol, or -350 kJ/mol.