int VOBJ::TimeStep(void) { int r = crew.ProcessUniversalMMu(); char cbuf[255]; switch(r) { case UMMU_RETURNED_TO_OUR_SHIP: { sprintf(cbuf,"%s %s aged %d entered the ship",crew.GetCrewMiscIdByName(crew.GetLastEnteredCrewName()),crew.GetLastEnteredCrewName(),crew.GetCrewAgeByName(crew.GetLastEnteredCrewName())); hudprint.insert(cbuf); break; } case UMMU_TRANSFERED_TO_OUR_SHIP: { sprintf(cbuf,"%s %s aged %d entered to ship",crew.GetCrewMiscIdByName(crew.GetLastEnteredCrewName()),crew.GetLastEnteredCrewName(),crew.GetCrewAgeByName(crew.GetLastEnteredCrewName())); hudprint.insert(cbuf); break; } } if (!koc || !crew.GetCrewTotalNumber()) return r; VESSEL * v = oapiGetVesselInterface(hook); VECTOR3 horz; v->GetHorizonAirspeedVector(horz); if (horz.y < khv && v->GroundContact()) { for (int i = 0; i < crew.GetCrewTotalNumber(); i++) { crew.SetCrewMemberPulseByName(crew.GetCrewNameBySlotNumber(i),0); } while(crew.GetCrewTotalNumber()) crew.EjectCrewMember(crew.GetCrewNameBySlotNumber(0)); sprintf(cbuf,"crash at %.2f everybody dead",horz.y); hudprint.insert(cbuf); } return r; }