Is there way to have my FPS player play random audio clips whenever he kills and enemy? I was thinking something along the lines of the old Duke Nuke em games where sometimes he would say
"That's Gotta Hurt"
or
"Id buy that for a Dollar"
etcetera
I was up late last night trying to figure out how something like that could be done but I'm still trying to wrap my head around this script stuff.
Psuedo:
Have an array of sounds... Or a List as people here like more.. W/e it's the same.
Get a random number in the array, each array spot has its own sound, so if you have 10, get a number between 1 and 10, and then play that when you kill someone... That make sense? So every kill, it gets a new number, which is a "new" sound...
i know this is not my question but i would like to know how to call the arrays it the first time that i am using them. I just created a variable that is called RandomSound: AudioClip[]; now if i press Input key (S) what code will you put there to cycle trough the sounds ? please help me as well lol thanks :) and thank you Michael for the wonderful question :)
I would go with a random number generating system and have different voices for different numbers. I'm not exactly and expert when it comes to random generating but I got the idea from DOS. How in dos many games were random. but here's a little snip it of what
create an audio array. and pretend your when your player dies you call this function
function playDeathSound()
{
deathSounds.Play[Random.Range(0, deathSounds.length)]();
}
This might work only if for when my player makes a kill, not gets killed. Y'know He shoots a Zombie alien and then says "That's gotta hurt!" Maybe blasts another one with a rocket launcher and then says "Oooh, he made a mess!" And so on...
using UnityEngine;
using System.Collections;
public class PlayMusic : MonoBehaviour {
public AudioClip[] Tracks;
// Update is called once per frame
void OnGUI () {
if (GUI.Button(new Rect(10,20,120,20),"Play Tracks")){
audio.Stop();
audio.PlayOneShot(Tracks[Random.Range(3,Tracks.Length)]);
//audio.clip = Tracks[0];
// audio.Play();
}
}
}
it was similar to Fierce Waffle answer mines basically plays when you click on the GUI button :)
that is a really good way :)
– MC_HALOi know this is not my question but i would like to know how to call the arrays it the first time that i am using them. I just created a variable that is called RandomSound: AudioClip[]; now if i press Input key (S) what code will you put there to cycle trough the sounds ? please help me as well lol thanks :) and thank you Michael for the wonderful question :)
– MC_HALO