- Home /
Aiming Down the Sights Script (HELP)
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.
Your answer
Follow this Question
Related Questions
Aiming Gun at Cursor 2 Answers
Aiming with function "Update" not working 0 Answers
How do you do this :( 1 Answer
Third person controller aiming 1 Answer
Rifle Accuracy w/ Rotation 3 Answers