C# Script Crashes
Hi There,
I was about to write my first c# script, as i recognized, that it crashes, as soon as i execute it. Thea Idea is, to create a lockpicking system, that is kind of similar to the one from Gothic II ;) (Left / Right Key Input). Did i miss something or is there a logic issue, that i didn't noticed?
public class Lockpicking : MonoBehaviour
{
public Animator lock_anim;
public AudioSource audiosource;
public Transform spawnpos;
public GameObject ui_success;
public GameObject ui_failure;
public GameObject player;
public Random rnd = new Random();
public AudioClip lock_success;
public AudioClip lock_failure;
public AudioClip lock_fatal_failure;
//Amount of successful clicks until opening
public int lock_level;
// Start is called before the first frame update
void Start()
{
lock_anim = GetComponent<Animator>();
audiosource = GetComponent<AudioSource>();
}
// Update is called once per frame
void OnTriggerEnter()
{
if (Input.GetKeyDown("e"))
{
lock_anim.Play("Lockpicking");
player.GetComponent<Animator>().Play("Lockpicking");
Picking();
}
}
void OnTriggerStay()
{
if (Input.GetKeyDown("e"))
{
lock_anim.Play("Lockpicking");
player.GetComponent<Animator>().Play("Lockpicking");
Picking();
}
}
public void Picking()
{
while (lock_level >= 0)
{
int correct_pick = 0; //Need to be generated random (0,1)
if (Input.GetKeyDown("a"))
{
int current_pick = 0;
if (current_pick == correct_pick)
{
audiosource.PlayOneShot(lock_success, 1);
Instantiate(ui_success, spawnpos.position, spawnpos.rotation); //create Pick Object ("...Das hörte sich gut an...")
lock_level = -1;
return;
}
else
{
audiosource.PlayOneShot(lock_failure, 1);
Instantiate(ui_failure, spawnpos.position, spawnpos.rotation); //create Pick Object ("...Mist, nochmal von vorne...")
return;
}
}
if (Input.GetKeyDown("d"))
{
int current_pick = 1;
if (current_pick == correct_pick)
{
audiosource.PlayOneShot(lock_success, 1);
Instantiate(ui_success, spawnpos.position, spawnpos.rotation); //create Pick Object ("...Das hörte sich gut an...")
lock_level = -1;
return;
}
else
{
audiosource.PlayOneShot(lock_failure, 1);
Instantiate(ui_failure, spawnpos.position, spawnpos.rotation); //create Pick Object ("...Mist, nochmal von vorne...")
return;
}
}
gameObject.GetComponent<Animation>().Play("ChestAnim");
}
return;
}
}
PS: Is there a way to translate (change) the name of the public items inside the editor (lock_success = Lock Success)?*
Looking forward for replies!! -Toha
Comment
Your answer
Follow this Question
Related Questions
Fatal signal 11 (SIGSEGV), code 1, fault addr 0x50 0 Answers
Windows 10 Unity access violation 1 Answer
Unity Editor constantly crashing 0 Answers
Application.TickGlobalCallbacks causing crashing! 0 Answers
Unity just started crashing. 0 Answers