Having some issues with my coding

I have never worked with code or anything like it until about a month and a half ago. I am writing this code to be triggered by inputs to turn specific light sequences on. Any help in what I have wrong would be greatly appreciated! I am going to copy what I have here and hopefully someone can point out what I have wrong and help me fix it.

#include "FastLED.h"
#include <Adafruit_NeoPixel.h>
#define NUM_LEDS 100
#define DATA_PIN0 11
#define DATA_PIN1 10
#define DATA_PIN2 9
#define DATA_PIN3 13
#define CHIPSET WS2811
#define BRIGHTNESS 200
#define ON 1
#define OFF 0
CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds<CHIPSET, DATA_PIN3>(leds, NUM_LEDS);
  FastLED.setBrightness(BRIGHTNESS);
  FastLED.clear();
  FastLED.show();
}

void switchInput(int inputOne, int inputTwo, int inputThree) {
  if (digitalRead(inputOne) == ON && digitalRead(inputTwo) == OFF && digitalRead(inputThree) == OFF) {
        for (int i = 0; i < NUM_LEDS; i++)
        leds[i] = CRGB::Red;
        FastLED.show();
  }
  if (digitalRead(inputOne) == OFF && digitalRead(inputTwo) == ON && digitalRead(inputThree) == OFF) {
        for (int i = 0; i < NUM_LEDS; i++)
        leds[i] = CRGB::Green;
        FastLED.show();
    }
  if (digitalRead(inputOne) == OFF && digitalRead(inputTwo) == OFF && digitalRead(inputThree) == ON) {
   void RunningLights(byte red, byte green, byte blue, int WaveDelay) {
   int Position=0;
 
   for(int j=0; j<NUM_LEDS*2; j++)
   {
      Position++; // = 0; //Position + Rate;
      for(int i=0; i<NUM_LEDS; i++) {
        // sine wave, 3 offset waves make a rainbow!
        //float level = sin(i+Position) * 127 + 128;
        //setPixel(i,level,0,0);
        //float level = sin(i+Position) * 127 + 128;
        setPixel(i,((sin(i+Position) * 127 + 128)/255)*red,
                   ((sin(i+Position) * 127 + 128)/255)*green,
                   ((sin(i+Position) * 127 + 128)/255)*blue);
      }
     
      showStrip();
      delay(WaveDelay);
  }
}    
    void showStrip() {
     #ifdef ADAFRUIT_NEOPIXEL_H 
     // NeoPixel
     strip.show();
     #endif
     #ifndef ADAFRUIT_NEOPIXEL_H
     // FastLED
     FastLED.show();
     #endif
     }

    void setPixel(int Pixel, byte red, byte green, byte blue) {
     #ifdef ADAFRUIT_NEOPIXEL_H 
     // NeoPixel
     strip.setPixelColor(Pixel, strip.Color(red, green, blue));
     #endif
     #ifndef ADAFRUIT_NEOPIXEL_H 
     // FastLED
     leds[Pixel].r = red;
     leds[Pixel].g = green;
     leds[Pixel].b = blue;
     #endif
     }

    void setAll(byte red, byte green, byte blue) {
     for(int i = 0; i < NUM_LEDS; i++ ) {
     setPixel(i, red, green, blue); 
     }
     showStrip();
     }
  }
}

Error messages
\Arduino\switchInput.main\switchInput.main.ino: In function 'void switchInput(int, int, int)':
\Documents\Arduino\switchInput.main\switchInput.main.ino:33:71: error: a function-definition is not allowed here before '{' token
void RunningLights(byte red, byte green, byte blue, int WaveDelay) {
^
\Documents\Arduino\switchInput.main\switchInput.main.ino:53:22: error: a function-definition is not allowed here before '{' token
void showStrip() {
^
Documents\Arduino\switchInput.main\switchInput.main.ino:64:63: error: a function-definition is not allowed here before '{' token
void setPixel(int Pixel, byte red, byte green, byte blue) {
^
Documents\Arduino\switchInput.main\switchInput.main.ino:77:50: error: a function-definition is not allowed here before '{' token
void setAll(byte red, byte green, byte blue) {
^

exit status 1

Compilation error: a function-definition is not allowed here before '{' token

What, apart from the lack of code tags, and loop, do you feel is wrong?

Well, apart from never coding or dealing with in my entire life and not understanding why i am getting errors, and not knowing what you mean by code tags, this is the errors im getting

error: a function-definition is not allowed here before '{' token
void RunningLights(byte red, byte green, byte blue, int WaveDelay) {
^

error: a function-definition is not allowed here before '{' token
void showStrip() {
^
error: a function-definition is not allowed here before '{' token
void setPixel(int Pixel, byte red, byte green, byte blue) {
^
error: a function-definition is not allowed here before '{' token
void setAll(byte red, byte green, byte blue) {
^

exit status 1

Compilation error: a function-definition is not allowed here before '{' token

It means you can't define a function inside another function.
Why didn't you post the error message in the original post?

i edited it. hopefully that works

Thanks.
Now you can see clearly that you've got RunningLights embedded in the middle of switchInput.
C++ does not allow this.
In fact, the other functions appear to be similarly embedded.

You have never seen working example code written like this

You still have no loop function.
You must have one, even if it is empty.

i used the examples, cut and pasted into switch input. took what needed to be there, from what i thought, and put the rest in other places. like i said i have no clue at what im doing and im pulling this out of thin air.

I have no clue what is intended, so it's hard to help, other than say try to work through some of the worked examples in the IDE, and see how code is structured.

(What does "unsubscribe" in the topic title refer to?)

we run a MiR robot system here and we have doorways. the lights are going to be there to notify employees which doorways the robots are going to be going through. a Wise 4060 module will send a signal from its output to the arduino 2560 MEGA to turn on select sequence for the lights.

That's not clear from the comments in your code.
It's still not clear to me (at least) how your code should behave.

@baker7001 - When your code is pasted into the Arduino IDE and formatted (CTRL-T), the "functions()" should line up at the left edge, with lines inside each function indented/tabbed to the right.

Look at the void showStrip() line and its indentation... see how it is many-tab/indent-stops to the right? That will mean that there is/are missing close braces ... this thing "}"... All open/close braces should be in pairs. Missing one brace (open or close) will make the compiler think you are defining functions inside functions.

Tell us what you find.

i auto formatted and it is still giving me the errors " a function-definition is not allowed here before '{' token" on the void runninglights, void showstrip, void setpixel, and void setall

Yes... autoformat... that will start to show you what is needed.

Next is start finding the word "void" (the usual type for a beginning function) is inside other functions. Each line starting a new function should be on the left-hand edge of the document.

each void is now on the left hand side. same errors

Yes... I know... you are learning... this is fun! Your code was copy/pasted without knowing where or why. These steps will help you now and in the future of programming. You will have this running soon.

Now... take a look here...

void switchInput(int inputOne, int inputTwo, int inputThree) {
  if (digitalRead(inputOne) == ON && digitalRead(inputTwo) == OFF && digitalRead(inputThree) == OFF) {
    for (int i = 0; i < NUM_LEDS; i++)
      leds[i] = CRGB::Red;
    FastLED.show();
  }

  if (digitalRead(inputOne) == OFF && digitalRead(inputTwo) == ON && digitalRead(inputThree) == OFF) {
    for (int i = 0; i < NUM_LEDS; i++)
      leds[i] = CRGB::Green;
    FastLED.show();
  }

You will see two things:

  1. A RED thing followed by a GREEN thing usually has a BLUE thing next.
  2. a random function is defined where BLUE thing should be.

So... copy the RED thing...

  if (digitalRead(inputOne) == ON && digitalRead(inputTwo) == OFF && digitalRead(inputThree) == OFF) {
    for (int i = 0; i < NUM_LEDS; i++)
      leds[i] = CRGB::Red;
    FastLED.show();
  }

move your cursor below the GREEN thing, and paste the copy.

Then, edit the RED thing that you just pasted, replacing RED with BLUE... and then add close braces until the matching brace at the top of this function is paired.

This portion should look like this:

void switchInput(int inputOne, int inputTwo, int inputThree) {
  if (digitalRead(inputOne) == ON && digitalRead(inputTwo) == OFF && digitalRead(inputThree) == OFF) {
    for (int i = 0; i < NUM_LEDS; i++)
      leds[i] = CRGB::Red;
    FastLED.show();
  }

  if (digitalRead(inputOne) == OFF && digitalRead(inputTwo) == ON && digitalRead(inputThree) == OFF) {
    for (int i = 0; i < NUM_LEDS; i++)
      leds[i] = CRGB::Green;
    FastLED.show();
  }

  if (digitalRead(inputOne) == OFF && digitalRead(inputTwo) == OFF && digitalRead(inputThree) == ON) {
    for (int i = 0; i < NUM_LEDS; i++)
      leds[i] = CRGB::Blue;
    FastLED.show();
  }
}

Now, format your code and look for more missing braces and out-of-place functions. You will start to see uncalled functions as well as function calls to non-existing functions. Namely, functions from both FastLED and NeoPixel... I am not sure if both library files can be used on the same set of NeoPixel, but why not try?

So the only problem with adding the blue that i see is that we want the Runninglights yellow to be going when its input is hit. thats where i was doing the copy and pasting way to much and jsut trying to figure it out by looking at the original and making it some what fit into it. each if is a seperate input from a Robot giving the signal to the module.

No, you do not.

You want the code to compile first. THEN you want to add Yellow. You will find a major function is missing, as well as a couple objects/instances which will let you control the NeoPixels... but first, make this compile.

i see what you did there! i understand now.

no errors with adding the blue function