I thought about it and the only way it could happen is if this function is being called twice. Is it being called at round end + round start? therefore it displays it twice right after the second? and the more wierd thing is, why is it displaying pervious score then current score when T wins, and when CT wins its the current score twice. I tried as an alternative to remove the register_event and instead just call the function every round_end, but then score isn't being printed at all.