# File generated by Wizard 2.9.0 on Sep 19, 2025. advanced_behavior behavior_fire script_variables WsfWeapon missile; WsfControlMessage msg=WsfControlMessage(); string str=""; WsfTrack track=WsfTrack(); string weapon_name=""; end_script_variables on_init if(!PLATFORM->weapon_name) { missile = PLATFORM.Weapon("red_srbm_1"); } else { weapon_name=PLATFORM->weapon_name; missile = PLATFORM.Weapon(weapon_name); } writeln("on_init"); end_on_init on_message type WSF_CONTROL_MESSAGE script msg=(WsfControlMessage)MESSAGE; writeln("receive",msg.AuxDataString("task")); str=msg.AuxDataString("task"); track=(WsfTrack)msg.AuxDataObject("track"); writeln(str); # if(msg.AuxDataString("task")=="FIRE") # { # writeln("in fire"); # WsfTrack track=(WsfTrack)msg.AuxDataObject("track"); # missile.Fire(track); # writeln("fire,remain weapon:", missile.QuantityRemaining()); # } end_script end_on_message precondition writeln(str); if( str=="FIRE") { writeln("in fire"); return true; } return false; end_precondition execute missile.CueToTarget(track); missile.Fire(track); writeln("fire,remain weapon:", missile.QuantityRemaining()); str=""; return Success(); end_execute end_advanced_behavior