| 
		
	
		| Sudden   Junior Member
 
 Posts: 10
 Threads: 4
 Joined: Jan 2011
 Reputation: 
0
 | 
			| Monster appear 
 
				How do i make a monster appear from nowhere and start patroling when i enter a area?
			 |  |  
	| 01-29-2011, 11:54 AM |  |  
	
		| Vradcly   Member
 
 Posts: 100
 Threads: 6
 Joined: Jan 2011
 Reputation: 
0
 | 
			| RE: Monster appear 
 
				Create the monster in your map and make sure its not active (there is a checkbox for that), create pathnodes for where you want the enemy patrol (areas, pathnode), make sure not to set the pathnodes to far apart. Then open your map script and add the first and last point in the enemy path inside void OnStart(){
 AddEnemyPatrolNode("servant_grunt_1","PathNodeArea_1",0.0f, "");
 AddEnemyPatrolNode("servant_grunt_1","PathNodeArea_50",0.0f, "");
 }
 like that for example.
 
 Then create a area of type script and put it in your map where you want the player to be when the enemy activates. Then add a collide callback for that area:
 AddEntityCollideCallback("Player", "Script_Area_1", "CollideScript_Area_1", true, 1);
 Something like that.
 
 Then you put the CollideScript_Area_1 function outside of your OnStart(), ex above:
 
 void  CollideScript_Area_1(string &in asParent, string &in asChild, int alState)
 {
 
 }
 void OnStart()
 {
 (lots of code)
 }
 
 and at last put the SetEntityActive("servant_grunt_1", true); inside your callision function:
 
 void  CollideScript_Area_1(string &in asParent, string &in asChild, int alState)
 {
 SetEntityActive("servant_grunt_1", true);
 }
 
 like that. Hope that helps, if not I suggest you look at the guides for this, there are lots of information out there...
 |  |  
	| 01-29-2011, 01:01 PM |  |  
	
		| Robby   Posting Freak
 
 Posts: 2,549
 Threads: 38
 Joined: Jun 2009
 Reputation: 
47
 | 
			| RE: Monster appear 
 
				Here is a script file that I used as an example. ////////////////////////////// Run first time starting map
 void OnStart()
 {
 AddEntityCollideCallback("Player", "ScriptArea_1", "MonsterFunc1", true, 1);
 }
 void MonsterFunc1(string &in asParent, string &in asChild, int alState)
 {
 SetEntityActive("servant_grunt_1", true);
 }
 ////////////////////////////
 // Run when entering map
 void OnEnter()
 {
 
 }
 ////////////////////////////
 // Run when leaving map
 void OnLeave()
 {
 
 }
Notes: At the SetEntityActive line, you must use the monster's exact name.
 
If you have servant_grunt_1 in your level, for example, then you must use "servant_grunt_1" at the SetEntityActive line in the script file.
 
Just copy-paste the code, and check your entity and scriptarea in your map and in your script file.
			
 Infrequently active. Don't expect an immediate response. Best to contact me at a different locale. If I create a thread, expect me to be quite active. 
				
(This post was last modified: 01-29-2011, 01:05 PM by Robby.)
 |  |  
	| 01-29-2011, 01:04 PM |  |  
	
		| Sudden   Junior Member
 
 Posts: 10
 Threads: 4
 Joined: Jan 2011
 Reputation: 
0
 | 
			| RE: Monster appear 
 
				It worked!    Thanks alot    |  |  
	| 01-29-2011, 02:55 PM |  |  
	
		| CrushedRaiD   Member
 
 Posts: 115
 Threads: 10
 Joined: Dec 2010
 Reputation: 
0
 | 
			| RE: Monster appear 
 
				Having problems with this script:
 ////////////////////////////
 // Run first time starting map
 void OnStart()
 {
 AddEntityCollideCallback("Player", "ScriptArea_1", "MonsterFunc1", true, 1);
 }
 void MonsterFunc1(string &in asParent, string &in asChild, int alState)
 {
 SetEntityActive("servant_grunt_1", true);
 }
 
 AddEnemyPatrolNode("servant_grunt_1","PathNodeArea_1",0.0f, "");
 AddEnemyPatrolNode("servant_grunt_1","PathNodeArea_4",0.0f, "");
 }
 ////////////////////////////
 // Run when entering map
 void OnEnter()
 {
 
 }
 ////////////////////////////
 // Run when leaving map
 void OnLeave()
 {
 
 }
 
 Any help plox =)[/quote]
 |  |  
	| 02-05-2011, 08:35 AM |  |  
	
		| Oscar House   Senior Member
 
 Posts: 302
 Threads: 3
 Joined: Nov 2010
 Reputation: 
9
 | 
			| RE: Monster appear 
 
				Your AddEnemyPatrolNodes are not in a function. void OnStart(){
 AddEntityCollideCallback("Player", "ScriptArea_1", "MonsterFunc1", true, 1);
 }
 void MonsterFunc1(string &in asParent, string &in asChild, int alState)
 {
 SetEntityActive("servant_grunt_1", true);
 AddEnemyPatrolNode("servant_grunt_1","PathNodeArea_1",0.0f, "");
 AddEnemyPatrolNode("servant_grunt_1","PathNodeArea_4",0.0f, "");
 }
 
 ////////////////////////////
 // Run when entering map
 void OnEnter()
 {
 
 }
 ////////////////////////////
 // Run when leaving map
 void OnLeave()
 {
 
 }
 |  |  
	| 02-05-2011, 09:28 AM |  |  
	
		| CrushedRaiD   Member
 
 Posts: 115
 Threads: 10
 Joined: Dec 2010
 Reputation: 
0
 | 
			| RE: Monster appear 
 
				 (02-05-2011, 09:28 AM)Oscar House Wrote:  Your AddEnemyPatrolNodes are not in a function.
 
 void OnStart(){
 AddEntityCollideCallback("Player", "ScriptArea_1", "MonsterFunc1", true, 1);
 }
 void MonsterFunc1(string &in asParent, string &in asChild, int alState)
 {
 SetEntityActive("servant_grunt_1", true);
 AddEnemyPatrolNode("servant_grunt_1","PathNodeArea_1",0.0f, "");
 AddEnemyPatrolNode("servant_grunt_1","PathNodeArea_4",0.0f, "");
 }
 
 ////////////////////////////
 // Run when entering map
 void OnEnter()
 {
 
 }
 ////////////////////////////
 // Run when leaving map
 void OnLeave()
 {
 
 }
 Thank you ill try that one    |  |  
	| 02-05-2011, 09:43 AM |  |  |