For readability you could try changing 'new halftime' to 'new bool:halftime' and then using 'true' and 'false' instead of 1 and 0. This has no effect on how the code gets executed, just makes it clearer to read imo. Definitely not required for approval.
You said in one of your comments that you tried the event 'game_newmap', you can just use the public forward 'public OnMapStart()' (in the same way as OnPluginStart) if you want to initialize halftime to 0 then.