See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: Vessel always landed  (Read 345 times)

0 Members and 1 Guest are viewing this topic.

Offline gattico

  • Sr. Member
  • ****
  • Posts: 341
  • Country: United States us
  • Karma: 16
06 June 2026, 01:21:03
I am trying to code a vessel so it is always landed.  UCAS cargo is like that.
But I can't seem to get the code to do it.

void LEVA::clbkPreStep(double simt, double simdt, double mjd)
{
   // If the cargo was unpacked and it is landed
   VESSELSTATUS2 vs;
   memset(&vs, 0, sizeof(vs));
   vs.version = 2;
   GetStatusEx(&vs);
   {
      vs.status = 1; // Landed
      //SetGroundRotation(1, _V(0, - -.171, 0.23), _V(0.12, -.171, -.18), _V(0.19, -.171, -0.11));
      DefSetStateEx(&vs2);
   }

}


Offline Fast_toche

  • Legend
  • ******
  • Posts: 1357
  • Country: France fr
  • Karma: 44
  • Time is nothing...
Reply #1 - 06 June 2026, 17:27:41
Hi gattico,

void LEVA::clbkPreStep(double simt, double simdt, double mjd)
{
    VESSELSTATUS2 vs;
    memset(&vs, 0, sizeof(vs));
    vs.version = 2;

    GetStatusEx(&vs);

    // Forcer le statut "à quai"
    vs.status = 1; // landed

    // IMPORTANT : garantir cohérence surface
    vs.surf_lng = vs.surf_lng;
    vs.surf_lat = vs.surf_lat;
    vs.surf_hdg = vs.surf_hdg;

    // Verrouillage altitude (clé pour éviter "flottement")
    vs.vdata.rpos.y = 0.0;

    DefSetStateEx(&vs);
}


Offline gattico

  • Sr. Member
  • ****
  • Posts: 341
  • Country: United States us
  • Karma: 16
Reply #2 - 06 June 2026, 22:11:08
Thanks.
So I did this as VESSELSTATUS has no vs.data.

void LEVA::clbkPreStep(double simt, double simdt, double mjd)
{
   VESSELSTATUS2 vs;
   memset(&vs, 0, sizeof(vs));
   vs.version = 2;

   GetStatusEx(&vs);

   // Forcer le statut "à quai"
   vs.status = 1; // landed

   // IMPORTANT : garantir cohérence surface
   vs.surf_lng = vs.surf_lng;
   vs.surf_lat = vs.surf_lat;
   vs.surf_hdg = vs.surf_hdg;

   // Verrouillage altitude (clé pour éviter "flottement")
   vs.rpos.y = 0.0;

   DefSetStateEx(&vs);
}


void LEVA::clbkPostStep(double simt, double simdt, double mjd)
{
   
}

But the vessel just spins but it says it is landed:
samplebag:ARTEMISEVATOOLS\EVASAMPLEBAG
  STATUS Landed Moon
  POS -7.0732715 -80.4444775
  HEADING 34.39
  ALT 0.000
  AROT 44.139 -78.947 130.667
  AFCMODE 7
  NAVFREQ 0 0
  TYPE 9
END

here is a video of what i get?
https://youtu.be/Disotrf0-B8

Here is a zip of thee vessel

« Last Edit: 07 June 2026, 11:01:17 by gattico »