problem with Serial

String incomingByteSerial;
int seperatedCommand[3], r=0, t=0;

void setup() {
  Serial.begin(9600);
  
}

void loop() {
  
  if (Serial.available() > 0) {
    // read the incoming byte:
    incomingByteSerial = Serial.readString();

    // say what you got:
    if (incomingByteSerial != 0) {
      separateCommand(incomingByteSerial);
      for (int i=0; i < 4; i++){
         Serial.println(seperatedCommand[i]);
      }
    }
  }
  

}

void separateCommand(String input) {
  seperatedCommand[3] = 0, r=0, t=0;
  
  for (int i=0; i < input.length(); i++)
  { 
   if(input.charAt(i) == ' ') 
    { 
      seperatedCommand[t] = input.substring(r, i).toInt(); 
      r=(i+1); 
      t++; 
    }
  }
}

if i type in 1 2 3 4 it returns 0 0 0 0 instead of 1 /n 2 /n 3 /n 4 /n

Try this instead:

byte seperatedCommand[4] = { 0 };
byte i = 0;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  if (Serial.available() > 0)
  {
    byte incomingByteSerial = Serial.read();

    if (incomingByteSerial >= '0')
    {
      seperatedCommand[i] = incomingByteSerial - '0';

      if(i >= 4)
      {
        i = 0;
        
        for(byte j=0; j <4; j++)
        {
          Serial.print(seperatedCommand[j]);
          Serial.print(' ');
        }
        Serial.println();
      }
    }
  }
}

seperatedCommand[3] = 0 a three element array has no element with the index 3.