| 
		
	
		| Shoop   Junior Member
 
 Posts: 36
 Threads: 10
 Joined: Feb 2011
 Reputation: 
0
 | 
			| Level changing area script not working? 
 
				I want someone to fall down a hole and the level change, whats wrong with this? void OnStart(){
 AddUseItemCallback("", "key1", "castle_1", "UsedKeyOnDoor", true);
 AddUseItemCallback("", "key2", "metal_1", "UsedKeyOnDoor2", true);
 AddEntityCollideCallback("Player" , "ScriptArea_1" , "MonsterFunc1" , true , 1);
 }
 
 void UsedKeyOnDoor(string &in asItem, string &in asEntity)
 {
 SetSwingDoorLocked("castle_1", false, true);
 PlaySoundAtEntity("", "unlock_door", "castle_1", 0, false);
 RemoveItem("key1");
 }
 
 void UsedKeyOnDoor2(string &in asItem, string &in asEntity)
 {
 SetSwingDoorLocked("metal_1", false, true);
 PlaySoundAtEntity("", "unlock_door", "metal_1", 0, false);
 RemoveItem("key2");
 }
 
 void MonsterFunc1(string &in asParent , string &in asChild , int alState)
 {
 SetEntityActive("servant_grunt_1" , true);
 }
 
 ChangeMap("Level2", "PlayerStartArea_1", "break_stairs", "water_lurker_eat");
 
 ////////////////////////////
 // Run when entering map
 void OnEnter()
 {
 
 }
 
 ////////////////////////////
 // Run when leaving map
 void OnLeave()
 {
 
 }
The last two ones are sound file names... I think thats how you do it. (I put my whole script just in case I did something else wrong that makes it not work)
			
				
(This post was last modified: 04-02-2011, 07:51 PM by Shoop.)
 |  |  
	| 04-02-2011, 07:50 PM |  |  
	
		| MrBigzy   Senior Member
 
 Posts: 616
 Threads: 18
 Joined: Mar 2011
 Reputation: 
8
 | 
			| RE: Level changing area script not working? 
 
				You can never have something outsude a function. It has to be inside a function somewhere.
			 |  |  
	| 04-02-2011, 08:03 PM |  |  
	
		| Shoop   Junior Member
 
 Posts: 36
 Threads: 10
 Joined: Feb 2011
 Reputation: 
0
 | 
			| RE: Level changing area script not working? 
 
				How would I do that? I copied this from the script functions wiki page.
			 |  |  
	| 04-02-2011, 08:06 PM |  |  
	
		| MrBigzy   Senior Member
 
 Posts: 616
 Threads: 18
 Joined: Mar 2011
 Reputation: 
8
 | 
			| RE: Level changing area script not working? 
 
				Oh, ok so when you fall down a hole. So you'll have to put an area in the hole, and put an entitycollide function there. It can't tell when you want to change a map if you just stick it randomly in your script. D:
			 
				
(This post was last modified: 04-02-2011, 08:27 PM by MrBigzy.)
 |  |  
	| 04-02-2011, 08:25 PM |  |  
	
		| Shoop   Junior Member
 
 Posts: 36
 Threads: 10
 Joined: Feb 2011
 Reputation: 
0
 | 
			| RE: Level changing area script not working? 
 
				Oh true aha. Could you give me an example how to do this?
			 |  |  
	| 04-02-2011, 08:40 PM |  |  
	
		| Pandemoneus   Senior Member
 
 Posts: 328
 Threads: 2
 Joined: Sep 2010
 Reputation: 
0
 | 
			| RE: Level changing area script not working? 
 
 |  |  
	| 04-02-2011, 09:00 PM |  |  
	
		| Russ Money   Senior Member
 
 Posts: 360
 Threads: 25
 Joined: Dec 2010
 Reputation: 
4
 | 
			| RE: Level changing area script not working? 
 
				 (04-02-2011, 08:40 PM)Shoop Wrote:  Oh true aha. Could you give me an example how to do this? 
It's pretty much the same way you did your monster func.  When the player collides with and area, the callback would be the ChangeMap func.
			 |  |  
	| 04-02-2011, 09:00 PM |  |  
	
		| Shoop   Junior Member
 
 Posts: 36
 Threads: 10
 Joined: Feb 2011
 Reputation: 
0
 | 
			| RE: Level changing area script not working? 
 
				Oh, I think I understand this now. Is this correct? void OnStart(){
 AddUseItemCallback("", "key1", "castle_1", "UsedKeyOnDoor", true);
 AddUseItemCallback("", "key2", "metal_1", "UsedKeyOnDoor2", true);
 AddUseItemCallback("", "key2", "castle_3", "UsedKeyOnDoor3", true);
 AddEntityCollideCallback("Player" , "ScriptArea_1" , "MonsterFunc1" , true , 1);
 AddEntityCollideCallback("Player", "ScriptArea_2", "ChangeMap", true, 1);
 }
 
 void UsedKeyOnDoor(string &in asItem, string &in asEntity)
 {
 SetSwingDoorLocked("castle_1", false, true);
 PlaySoundAtEntity("", "unlock_door", "castle_1", 0, false);
 RemoveItem("key1");
 }
 
 void UsedKeyOnDoor2(string &in asItem, string &in asEntity)
 {
 SetSwingDoorLocked("metal_1", false, true);
 PlaySoundAtEntity("", "unlock_door", "metal_1", 0, false);
 RemoveItem("key2");
 }
 
 void UsedKeyOnDoor3(string &in asItem, string &in asEntity)
 {
 SetSwingDoorLocked("castle_3", false, true);
 PlaySoundAtEntity("", "unlock_door", "castle_3", 0, false);
 RemoveItem("key3");
 }
 
 void MonsterFunc1(string &in asParent , string &in asChild , int alState)
 {
 SetEntityActive("servant_grunt_1" , true);
 }
 
 ChangeMap("Level2", "PlayerStartArea_1", "break_stairs", "water_lurker_eat");
				
(This post was last modified: 04-02-2011, 09:08 PM by Shoop.)
 |  |  
	| 04-02-2011, 09:06 PM |  |  
	
		| MrBigzy   Senior Member
 
 Posts: 616
 Threads: 18
 Joined: Mar 2011
 Reputation: 
8
 | 
			| RE: Level changing area script not working? 
 
				You forgot to put ChangeMap in the changemap function.
			 |  |  
	| 04-02-2011, 09:37 PM |  |  
	
		| Shoop   Junior Member
 
 Posts: 36
 Threads: 10
 Joined: Feb 2011
 Reputation: 
0
 | 
			| RE: Level changing area script not working? 
 
				I don't understand, where would I need to put this?
			 |  |  
	| 04-02-2011, 09:39 PM |  |  |