Need help with getting the tank to fire projectiles at the player

Simply I want the tank to fire shells at the player and explode on impact even if it misses it should still impact like real life.
So, the current code i have is

Chase Script.js:

var target : Transform; //cant’tbebotheredtodoany commments
var moveSpeed = 3;
var rotationSpeed = 3;
var range : float=10f;
var range2 : float=10f;
var stop : float=0;
var myTransform : Transform;

function Awake()
{
myTransform = transform;
}

function Start()
{
target = GameObject.FindWithTag(“Player”).transform;

}

function Update () {

GetComponent(NavMeshAgent).destination = target.position;
//rotatetolookatthe player
var distance = Vector3.Distance(myTransform.position, target.position);
if (distance<=range2 && distance>=range){
myTransform.rotation = Quaternion.Slerp(myTransform.rotation,
Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed*Time.deltaTime);
}

elseif(distance<=range && distance>stop){

//movetowardsthe player
myTransform.rotation = Quaternion.Slerp(myTransform.rotation,
Quaternion.LookRotation(target.position - myTransform.position), rotationSpeedTime.deltaTime);
myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
}
elseif (distance<=stop) {
myTransform.rotation = Quaternion.Slerp(myTransform.rotation,
Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed
Time.deltaTime);
}

}

Turret.cs:

using UnityEngine;
using System.Collections;

publicclassTurret:MonoBehaviour{
Transformtarget;

[Header (“Attributes”)]
floatrotationSpeed=3;
floatrange=10f;
floatrange2=10f;

publicfloatfireRate=1f;
privatefloatfireCountdown=0f;

[Header(“UnitySetupFields”)]
TransformmyTransform;
floatstop=0;

publicGameObjectShellPrefab;
publicTransformfirePoint;

voidAwake()
{
myTransform=transform;
}

voidStart()
{
target=GameObject.FindWithTag(“Player”).transform;

}

voidUpdate()
{
if(fireCountdown<=0)
{
Shoot();
fireCountdown=1f/fireRate;

}

fireCountdown-=Time.deltaTime;

//rotatetolookatthe player
vardistance=Vector2.Distance(myTransform.position,target.position);
if(distance<=range2&&distance>=range)
{
myTransform.rotation=Quaternion.Slerp(myTransform.rotation,
Quaternion.LookRotation(target.position-myTransform.position),rotationSpeed*Time.deltaTime);
}

elseif(distance<=range&&distance>stop)
{

//movetowardsthe player
myTransform.rotation=Quaternion.Slerp(myTransform.rotation,
Quaternion.LookRotation(target.position-myTransform.position),rotationSpeedTime.deltaTime);
}
elseif(distance<=stop)
{
myTransform.rotation=Quaternion.Slerp(myTransform.rotation,
Quaternion.LookRotation(target.position-myTransform.position),rotationSpeed
Time.deltaTime);
}
}

voidShoot()
{
GameObjectshellGO=(GameObject)Instantiate(ShellPrefab,firePoint.position,firePoint.rotation);
ShellShell=shellGO.GetComponent();
if(Shell !=null)
Shell.Seek(target);

}
}

ShellExplosion:

using UnityEngine;
using System.Collections;

publicclassShellExplosion:MonoBehaviour{

publicLayerMaskm_PlayerMask;
publicfloatm_MaxDamage=100f;
publicfloatm_ExplosionForce=1000f;
publicfloatm_MaxLifeTime=2f;
publicfloatm_ExplosionRadius=5f;
privateTransformtarget;

publicvoidSeek(Transform_target)
{
target=_target;
}

privatevoidStart()
{
Destroy(gameObject,m_MaxLifeTime);
}

privatevoidOnTriggerEnter(Colliderother)
{
Collider[ ]colliders=Physics.OverlapSphere(transform.position,m_ExplosionRadius,m_PlayerMask);

for(inti=0;i<colliders.Length;i++)
{
RigidbodytargetRigidbody=colliders*.GetComponent();*
if(!targetRigidbody)
continue;
targetRigidbody.AddExplosionForce(m_ExplosionForce,transform.position,m_ExplosionRadius);
HealthBartargetHealth=targetRigidbody.GetComponent();
if(!targetHealth)
continue;
floatdamage=CalculateDamage(targetRigidbody.position);
targetHealth.TakeDamage(damage);
}
}
privatefloatCalculateDamage(Vector3targetPosition)
{
return0f;
}
}

Please use code tags Using code tags properly - Unity Engine - Unity Discussions

You’re going to need to be a whole lot more specific if you want appreciable help.

Okay, well all it is. I just want the tank to move at least 10 units towards the player once the tank has spotted the player and basically get the turret to rotate at the players position and fire. I ahve done the nav meshing already and all of my enemies move towards the player. I used this code to get the tank to move in position and for the turret to move, however it doesn’t fire a shell. I’m not entirely sure if i’m missing anything else but i already have the Shell/Sphere as the projectile. or if i need to completely rewrite my code?