Errors in the player's move script

Hi how are you ? I am having a problem in my player move script can you help me? I’m doing the drive for empty gameobjects in the 8 directions.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Component;
//using UnityEngine.Vector3;

public class movimentosheroi : MonoBehaviour {

    public Transform[] Direcoes;

    public Transform DirecaoAtual;
    public bool MoveAux;
    // Use this for initialization
    void Start () {
        DirecaoAtual =  Direcoes[4];
    }
   
    // Update is called once per frame
    void Update () {
        //MoveAux = false;
        if (!Input.GetKeyUp("w") ||
            !Input.GetKeyUp("s") ||
            !Input.GetKeyUp("a") ||
            !Input.GetKeyUp("d"))
       
        {
            if (Input.GetKey("w")){
                    //MoveAux = true ;
                    DirecaoAtual= Direcoes[0];
       
        if (Input.GetKey("a"))
            DirecaoAtual= Direcoes[4];
   
        if (Input.GetKey("d"))
            DirecaoAtual= Direcoes[5];
        }
        else{
            if (Input.GetKey("s")){
                        //MoveAux = true ;
                        DirecaoAtual= Direcoes[1];
                    }
                if (Input.GetKey("d"))
                    {
                        //MoveAux = true;
                        DirecaoAtual = Direcoes[7];   
                    }
                        if (Input.GetKey("a"))
                    {
                        DirecaoAtual = Direcoes[5];               
                        //MoveAux = true;
                    }
                    if (Input.GetKey("d")){
                DirecaoAtual = Direcoes[2];   
                    //    MoveAux = true; }
                    if (Input.GetKey("a")){
                DirecaoAtual = Direcoes[3];               
                        //MoveAux = true;
            }
       
        transform.LookAt (DirecaoAtual);
                if (MoveAux && Physics.Raycast(transform.position,transform,-transform.up*3))
                    transform.rigidbody.Velocity = transform.forward*10;
    }
}
}
}

}

What problem?
If there’s an error, copy and paste the error
If not, then describe what behavior you expect, and what happens instead.