I'm trying to add a 3rd and possible more weapons to this script what am I missing??

I'm trying to add a 3rd and possibly more weapons to this script but I keep getting a message asying that "BroadcastMessage Fire has no reciver" whatever that means, and yes before you ask I'm new to this whole scripting stuff, model building is more my bag of tricks, but I'm trying to learn something new. Here is my script:

function Start () {
    // Select the first weapon

function Update () {
    // Did the user press fire?
    if (Input.GetButton ("Fire1"))

    if (Input.GetKeyDown("1")) {
    else if (Input.GetKeyDown("2")) {
    else if (Input.GetKeyDown("3")) {

function SelectWeapon (index : int) {
    for (var i=0;i<transform.childCount;i++)    {
        // Activate the selected weapon
        if (i == index)
        // Deactivate all other weapons

Any help on this would be greatly apreciated :)

Broadcastmessage("Fire") looks for a function called 'fire' in an object or any of it's children, and then calls it. 'BroadcastMessage Fire has no receiver' means that the message you're broadcasting can't find a function called 'fire', so you're probably missing a script on the gun. I would check again to make sure your 3rd gun has all the proper scripts on it, or even start by duplicating the second and then tweaking it.

The file containing the code “BroadcastMessage Fire” must be equal
to or a child of the file that contains the method Fire(), otherwise
the BroadcastMessage won’t find the method.