So I decided to make a script about aiming down the sights, in the Hierarchy I have two arms that are default, and I created arms that make it look like its holding a gun. I disabled the two arms that looked like their holding the guns. In the script I created called "Aim.cs" I put this code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Aim : MonoBehaviour {
//Pistol
public GameObject aimedpistolhand;
public GameObject aimedpistolhand1;
public GameObject aimedpistol;
public GameObject armshand;
public GameObject armshand1;
public GameObject pistol;
//AK47
public GameObject aimedak47hand;
public GameObject aimedak47hand1;
public GameObject aimedak47;
public GameObject ak47;
// Use this for initialization
void Start () {
aimedpistolhand.SetActive(false);
aimedpistolhand1.SetActive(false);
aimedpistol.SetActive(false);
aimedak47hand.SetActive(false);
aimedak47hand1.SetActive(false);
aimedak47.SetActive(false);
}
// Update is called once per frame
void Update () {
if(pistol.activeInHierarchy) {
if (Input.GetMouseButton(1))
{
aimedpistolhand.SetActive(true);
aimedpistolhand1.SetActive(true);
aimedpistol.SetActive(true);
armshand.SetActive(false);
armshand1.SetActive(false);
pistol.SetActive(false);
}
else
{
aimedpistolhand.SetActive(false);
aimedpistolhand1.SetActive(false);
aimedpistol.SetActive(false);
armshand.SetActive(true);
armshand1.SetActive(true);
pistol.SetActive(true);
}
}
if (ak47.activeInHierarchy)
{
if (Input.GetMouseButton(1))
{
aimedak47hand.SetActive(true);
aimedak47hand1.SetActive(true);
aimedak47.SetActive(true);
armshand.SetActive(false);
armshand1.SetActive(false);
ak47.SetActive(false);
}
else
{
aimedak47hand.SetActive(false);
aimedak47hand1.SetActive(false);
aimedak47.SetActive(false);
armshand.SetActive(true);
armshand1.SetActive(true);
ak47.SetActive(true);
}
}
}
}
So the code works and everything its just, when I press right click it aims it down the sight, though when I let go of the right click button it does go back to the normal state of the hands. When I remove the line "if(pistol.activeInHierarchy) {" then the code works as I want it so when you release the right click button it goes back to the normal arms. Please help because the "if(pistol.activeInHierarchy) {" needs to be there because I'm obviously going to have multiple weapons that you can aim down the sights with.
↧