در agent2d در فایل bhv_pre_process.cpp این شرط وجود دارد :
if ( wm.gameMode().type() == rcsc::GameMode::BeforeKickOff
|| wm.gameMode().type() == rcsc::GameMode::AfterGoal_ )
و در آن تابعی است به نام :
rcsc::Bhv_BeforeKickOff ( move_point ).execute ( agent );
شما باید نقاطی رو که می خواین بعد از گل زدن ، ایجنت به اون نقطه بره رو باید توی این قسمت به جای move_point بنویسید.
کد زیر از قسمتی از کد فایل body_after_goal_move.cpp است که در تیم ShahedTech وجود دارد. ( copyright

)
if ( agent->world().setplayCount() >= 0 and agent->world().setplayCount() < 6 and agent->world().isOurLeft() ) /// B
{
if ( Unum == 1 )
move_point = rcsc::Vector2D ( -26, 0 );
if ( Unum == 2 )
move_point = rcsc::Vector2D ( -26, -4.5 );
if ( Unum == 3 )
move_point = rcsc::Vector2D ( -26, 4.5 );
if ( Unum == 4 )
move_point = rcsc::Vector2D ( -26, -9 );
if ( Unum == 5 )
move_point = rcsc::Vector2D ( -26, 9 );
if ( Unum == 6 )
move_point = rcsc::Vector2D ( -22 ,0 );
if ( Unum == 7 )
move_point = rcsc::Vector2D ( -21, -9 );
if ( Unum == 8 )
move_point = rcsc::Vector2D ( -21, 9 );
if ( Unum == 9 )
move_point = rcsc::Vector2D ( -17, -5 );
if ( Unum == 10 )
move_point = rcsc::Vector2D ( -17, 5 );
if ( Unum == 11 )
move_point = rcsc::Vector2D ( -19, 0 );
}
این شرط نشان دهنده ی مدت زمان نمایش حرف B توسط بازیکنان است.
if ( agent->world().setplayCount() >= 0 and agent->world().setplayCount() < 6 and agent->world().isOurLeft() ) /// B