ok, wait a while, i had something similar to this...
EDIT: Here you go.
const
color = $00FF00; //Color of the message displayed.
var
getvest: Boolean;
procedure OnMapChange(NewMap: string);
begin
getvest := true;
end;
procedure OnFlagGrab(ID, TeamFlag: byte; GrabbedInBase: boolean);
begin
if getvest = true then begin
GiveBonus(ID, 3);
WriteConsole(ID,'You won a vest by grabbing the flag',color);
getvest := false;
end;
end;
//This will give a vest to the first guy who frags the flag.
//Once another map is loaded, it can be done again.
It should work. At least it compiles.