PS3 Controlled RC Car over Xbee

Hello together
I'm working at a private project to control an RC Car with my PS3 controller.

Now to my problem:
I need to send two different datas from the first arduino to the second over the two xbees.
I tried to make out of the two datas one String, send it and dismantle it on the other arduino.(see code)
The communication isn't working correctly. My servo for stearing moves really strange.
is there another way to send two different datas on serial communication?
Pls Help I'm stuck.

my code for sending:

#include <PS3USB.h>
#ifdef dobogusinclude
#include <spi4teensy3.h>
#endif


USB Usb;

PS3USB PS3(&Usb); // This will just create the instance

int potvallenkung = 90;
int potvalspeed = 90;
int potvalbreak = 90;
int speedval = 90;
String datapacket;
uint8_t state = 0;

void setup() {
  Serial.begin(9600);
  while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
  if (Usb.Init() == -1) 
  {
    Serial.print(F("\r\nOSC did not start"));
    while (1); //halt
  }
  Serial.print(F("\r\nPS3 USB Library Started"));
}
void loop() 
  {
    Usb.Task();

    potvallenkung = PS3.getAnalogHat(LeftHatX);  // Linker Stick X-Achse auslesen
    potvallenkung = map(potvallenkung, 0, 255, 0, 180); // Analoger wert umrechnen für Servolibrary
    potvallenkung = constrain(potvallenkung, 5, 175);  // Sicherheitsbereich für servo definieren min 5° max 175° variable als byte
    //Serial.println(servovallenkung);
 
    
    potvalspeed = PS3.getAnalogButton(R2);
    potvalspeed = map(potvalspeed, 0, 255, 90, 180);
    potvalspeed = constrain(potvalspeed, 90, 180);
    
    potvalbreak = PS3.getAnalogButton(L2);
    potvalbreak = map(potvalbreak, 0, 255, 90, 0);
    potvalbreak = constrain(potvalbreak, 0, 90);
    //Serial.println(potvalbreak);

    speedval = (((potvalspeed+100) + (potvalbreak+100))-90);

    datapacket = (String(potvallenkung, DEC)+String(speedval, DEC));
    Serial.println(datapacket);
    delay(10);
    //Serial.println(speedval);
    //Serial.println(String(potvallenkung, DEC)+String(potvalspeed, DEC)+String(potvalbreak, DEC));
  }

the code for receiving:

#include <Servo.h>

Servo lenkservo;
Servo speedcontrol;
String inString = "";    // string to hold input
String Stringlenkung;
String Stringspeed;

int vallenkung = 90;
int valspeed = 90;

void setup() 
{
  lenkservo.attach(7);
  speedcontrol.attach(4);
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  // send an intro:
  Serial.println("\n\nString toInt():");
  Serial.println();
}

void loop() {
  // Read serial input:
  while (Serial.available() > 0) {
    int inChar = Serial.read();
    if (isDigit(inChar)) {
      inString = "";
      // convert the incoming byte to a char
      // and add it to the string:
      inString += (char)inChar;
    }
    // if you get a newline, print the string,
    // then the string's value:
    if (inChar == '\n') 
    {
     Stringlenkung = inString.substring(0, 3); //get the first four characters
      Stringspeed = inString.substring(3, 6);
      
      vallenkung = (Stringlenkung.toInt());
      valspeed = (Stringspeed.toInt());
      Serial.println(vallenkung);

      vallenkung = (vallenkung - 100);
      Serial.println(vallenkung);
      valspeed = (valspeed - 100);
      lenkservo.write(vallenkung);
      speedcontrol.write(valspeed);
      delay(10);
      
      // clear the string for new input:
      inString = "";
    }
  }
}