function AlivePlayers(Team: shortint): byte;
var
i: byte;
begin
for i := 1 to 32 do if (GetPlayerStat(i,'Alive') = true) and ((Team = -1) or (GetPlayerStat(i,'Team') = Team)) then Result := Result + 1;
end;
procedure OnPlayerKill(Killer, Victim: byte; Weapon: string);
var
i: byte;
begin
if AlivePlayers(1) = 1 then begin
for i := 1 to 32 do if GetPlayerStat(i,'Team') = 5 then Command('/setteam1 ' + InttoStr(i));
end else begin
if GetPlayerStat(Victim,'Team') = 1 then Command('/setteam5 ' + InttoStr(Victim));
end;
end;