| 
		
	
		| Russ Money   Senior Member
 
 Posts: 360
 Threads: 25
 Joined: Dec 2010
 Reputation: 
4
 | 
			| Scripting 
 
				I have a fair understanding of how some triggers work with scripting but I've run into an issue.
 I'll lay it out easy for those knowledgeable.
 
 I have an area named "monsterspawn", a grunt named "monster" and an area over the enemy named "monsterlook"
 Now when the player collides with the area trigger, I want the following to happen:
 The monster spawns
 A sound is played, the monster's loud howl
 The player focuses on "monsterlook" for 2 moments and the velocity can be 2 as well
 Lastly the player loses focus on "monsterlook" after the allotted time.
 
 I can get the player's focus on start but, the camera is locked and it's not when he hits the trigger.
 
 Using the areas I have, can anyone show me how the script should look?
 
 Much appreciated from the help I've gotten so far.
 
				
(This post was last modified: 01-04-2011, 01:35 PM by Russ Money.)
 |  |  
	| 01-04-2011, 01:34 PM |  |  
	
		| Equil   Member
 
 Posts: 94
 Threads: 8
 Joined: Sep 2010
 Reputation: 
0
 | 
			| RE: Scripting 
 
				void monsterspawn1(string &in asParent, string &in asChild, int alState){
 SetEntityActive("monster", true);
 //Don't really need to add a sound to play since grunts make loud sounds when they spawn already
 StartPlayerLookAt("monsterlook", 4, 2, "");
 //A timer to stop the player looking
 AddTimer("", 1.0, "PlayerStopLook");
 }
 
 void PlayerStopLook(string &in asTimer)
 {
 StopPlayerLookAt();
 }
 
 I think this is how it should look. Give it a try.
 
 EDIT: Oh, you'll also need the collide callback in the OnStart() section.
 
 void OnStart()
 {
 AddEntityCollideCallback("Player", "monsterspawn", "monsterspawn1", true, 1);
 }
 
				
(This post was last modified: 01-04-2011, 06:06 PM by Equil.)
 |  |  
	| 01-04-2011, 06:04 PM |  |  
	
		| Russ Money   Senior Member
 
 Posts: 360
 Threads: 25
 Joined: Dec 2010
 Reputation: 
4
 | 
			| RE: Scripting 
 
				Awesome, it worked.  Of course I had to tweak the player look time and the velocity, as I had no real concept on their strength. 
My next question is, say I want to use the an area, lets call it "area_trigger" and when the player collides with it and I want it to play a sound called "monster" on the player.  Would the code look something like this?
 void OnStart(){
 AddEntityCollideCallback("Player", "area_trigger", "playmonster1", true, 1);
 }
 void playmonster1(string &in asParent, string &in asChild, int alState)
 {
 PlaySoundAtEntity("", "monster", "Player", 2.0, false);
 }
If this is right, the player would hit the trigger and the sound plays while fading after 2 seconds.
			
				
(This post was last modified: 01-05-2011, 01:25 AM by Russ Money.)
 |  |  
	| 01-05-2011, 01:21 AM |  |  
	
		| Equil   Member
 
 Posts: 94
 Threads: 8
 Joined: Sep 2010
 Reputation: 
0
 | 
			| RE: Scripting 
 
				Correct, except you need to designate the sound file to be played in the "PlaySoundAtEntity" function. I don't think "monster" is a valid file. 
 Try:
 
 PlaySoundAtEntity("", "03_amb_idle.snt", "Player", 2.0, false);
 
 I'll try explain the entire function.
 
 PlaySoundAtEntity(string& asSoundName, string& asSoundFile, string& asEntity, float afFadeTime, bool abSaveSound)
 
 string& asSoundName - The name of the sound. This is optional, only really used if you want to call the function again later or something.
 
 string& asSoundFile - The sound file to be used, I just browse through the sound in the editor to find what sounds I want to use, as it has a preview button which is handy.
 
 string& asEntity - The entity the sound should be played at.
 
 float afFadeTime - Self Explanatory, how long the sound takes to Fade in. Haven't played around with this much though.
 
 bool abSaveSound - If you want the sound to be played later again, it really depends on the sound you're using for this one.
 
 Hope this helps.
 |  |  
	| 01-05-2011, 02:21 AM |  |  
	
		| Russ Money   Senior Member
 
 Posts: 360
 Threads: 25
 Joined: Dec 2010
 Reputation: 
4
 | 
			| RE: Scripting 
 
				Very much so!  Thanks, I understand it's functionality fully now, and quite a bit about scripting now.  Thank you again!
			 |  |  
	| 01-05-2011, 02:48 AM |  |  
	
		| Equil   Member
 
 Posts: 94
 Threads: 8
 Joined: Sep 2010
 Reputation: 
0
 | 
			| RE: Scripting 
 
				Glad I could help. ^^
			 |  |  
	| 01-05-2011, 03:17 AM |  |  |