protected override void Shoot()
    {
        ammo--;
        for (int i = 0; i < shotVect.Length; i++)
        {
            shotVect[i].Set(transform.up.x + Random.Range(-tempF, tempF), transform.up.y, transform.up.z);
        }
        tempF += tempF;
        tempF  = Mathf.Clamp(tempF, minBulletRage, maxBulletRage);
        //Send shoot all other player
        Message_Sr.Shot_Sr shot = new Message_Sr.Shot_Sr();
        shot.index = shooterIndex;
        shot.type  = type;
        shot.vect  = new Vector3[shotVect.Length];
        for (int i = 0; i < shotVect.Length; i++)
        {
            shot.vect[i] = shotVect[i];
        }
        shot.thisPlayer = false;
        RoomsManager.SendToAllOtherPlayer(Networking_msgType_Sr.Fire, shot, shooterIndex);
        //Send shoot me
        shot.thisPlayer = true;
        shot.ammo       = ammo;
        RoomsManager.SendToThisPlayer(Networking_msgType_Sr.Fire, shot, shooterIndex);

        foreach (Vector3 v in shotVect)
        {
            if (Physics.Raycast(transform.position, v.normalized, out hit, shotDistace, layerZombie, QueryTriggerInteraction.Ignore))
            {
                Player_MovePlayer zombie = hit.transform.GetComponent <Player_MovePlayer>();
                if (zombie != null)
                {
                    zombie.ZombieDamage(damage, shooterIndex);
                }
            }
        }
        if (ammo > 0)
        {
            if (shotTime > 0)
            {
                Invoke("Shoot", shotTime);
            }
        }
        else
        {
            StartReload();
        }
    }
    protected override void Shoot()
    {
        if (!delay)
        {
            delay = true;
            ammo--;
            temp.Set(transform.up.x + Random.Range(-tempF, tempF), transform.up.y, transform.up.z);
            tempF += tempF;
            tempF  = Mathf.Clamp(tempF, minBulletRage, maxBulletRage);
            //Send shoot all other player
            Message_Sr.Shot_Sr shot = new Message_Sr.Shot_Sr();
            shot.index      = shooterIndex;
            shot.type       = type;
            shot.vect       = new Vector3[1];
            shot.vect[0]    = temp;
            shot.thisPlayer = false;
            RoomsManager.SendToAllOtherPlayer(Networking_msgType_Sr.Fire, shot, shooterIndex);
            //Send shoot me
            shot.thisPlayer = true;
            shot.ammo       = ammo;
            RoomsManager.SendToThisPlayer(Networking_msgType_Sr.Fire, shot, shooterIndex);

            hits = Physics.RaycastAll(transform.position, temp.normalized, shotDistace, layerZombie, QueryTriggerInteraction.Ignore);
            if (hits.Length > 0)
            {
                foreach (RaycastHit hit in hits)
                {
                    Player_MovePlayer zombie = hit.transform.GetComponent <Player_MovePlayer>();
                    if (zombie != null)
                    {
                        zombie.ZombieDamage(damage, shooterIndex);
                    }
                }
            }
            if (ammo <= 0)
            {
                StartReload();
                delay = false;
            }
            else
            {
                Invoke("Delay", shotTime);
            }
        }
    }