- Home /
Random FPS player Audio when player kills enemies
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.
Answer by Justin Warner · Mar 24, 2011 at 02:32 AM
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 $$anonymous$$ichael for the wonderful question :)
Check out fierce waffle's answer, should work that way (deathSounds is = to RandomSounds in this case). Good luck both.
Answer by DevonJS · Mar 24, 2011 at 08:22 AM
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
Answer by Fierce Waffle · Mar 24, 2011 at 09:15 AM
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!" $$anonymous$$aybe blasts another one with a rocket launcher and then says "Oooh, he made a mess!" And so on...
With that basically make a script attached to the zombie and when it dies use GameObject.Find("whatever").GetComponent("whatever").play$$anonymous$$illSound();
Answer by MC HALO · Apr 17, 2011 at 06:03 PM
Try this it works for me :
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 :)
Your answer
Follow this Question
Related Questions
How to make a random team chance? 1 Answer
How to add a subtitle to my game 2 Answers
Question about FPS Player Script 1 Answer
Audio for movement 1 Answer
Random footsteps 5 Answers