help on RC Missile Launcher

hey guys. I have been working on an RC Plane Missile Launcher. My plane uses 3 channels, and my TX /RX is 4 channels (I’m pretty cheap like that) so pretty much I have been making an arming system so that if I move my channel one way for 3 seconds, then the other way for 3 seconds out goes my rocket. Here is the code:

#include <Servo.h>
#define RC 3

int RC_new = 0;
int Right = 0;
int Left = 0;
int held = 0;

void setup()
{
  pinMode(RC, INPUT);
  Serial.begin(57600);
  Serial.println("Done with setup");
}

void SerialCheck()
{
  Serial.print("Right: ");
  Serial.println(Right);
}

void loop()
{
RC_new = ((pulseIn (RC, HIGH, 100000))/10)-100; //read RC value.. store it fresh
  
//check for a transition
if ((RC_new > 90))
  {
    held = held + 1;
    delay(0001); //it isn't exactily 1/1000th of a second, it's a bit more with program lag.
    
    //if button is held down over 200 (about 3 secs)
    if ((held < 200));
    {
      Right =1;
    }
  }

 Serial.print("Right: ");
 Serial.print(Right);
 Serial.print(" RC Value: ");
 Serial.print(RC_new);
 Serial.print(" Held Time: ");
 Serial.println(held);
 
}

Now my issue is that right when I plug in my LiPo, the channel jumps, but that only makes my held time go up for a second or so.

Here is the Serial Log:

Right: 0 RC Value: -100 Held Time: 0
Right: 0 RC Value: -100 Held Time: 0
Right: 0 RC Value: -100 Held Time: 0
Right: 0 RC Value: -100 Held Time: 0
Right: 1 RC Value: 421 Held Time: 1
Right: 1 RC Value: 388 Held Time: 2
Right: 1 RC Value: 386 Held Time: 3
Right: 1 RC Value: 5439 Held Time: 4
Right: 1 RC Value: 5439 Held Time: 5
Right: 1 RC Value: 5438 Held Time: 6
Right: 1 RC Value: 5438 Held Time: 7
Right: 1 RC Value: 5438 Held Time: 8

Now as you can see, the Right = 1; line should only happen once held is over 200… what is happening guys!

NOTE: This is only for the right script, my left script will come after I can get this half running.

    if ((held < 200));
    {
      Right =1;
    }

You might want to look at that line again…

I honestly cannot thank you enough. Is there any particular reason the compiler didn't catch that?

Is there any particular reason the compiler didn't catch that?

Yes, as it is no syntax error but a semantic or logic error. Programmers are responsible for the latter. Compilers can only catch the first.