Karai16 
 
 
		
			Member 
			
			
			
 
			
	Posts: 164 
	Threads: 24 
	Joined: Apr 2011
	
 Reputation: 
0
		
	 | 
	
		
			
Level door 
			 
			
				Hey guys, 
I need to fix something: I've locked my level door, but I can still go through it, even though it's locked. Is there a way I can only make the shifting map code of my script work if the door is open?
			 
			
			
 
Custom stories: 
Her Games (100% Complete) 
Her Games, All Bugs Fixed (100% Complete) 
 
			
		 |  
	 
 | 
 
	| 05-06-2011, 11:46 PM  | 
	
		
	 | 
 
 
	
		
		dragonlordsd 
 
 
		
			Member 
			
			
			
 
			
	Posts: 112 
	Threads: 7 
	Joined: May 2011
	
 Reputation: 
0
		
	 | 
	
		
			
RE: Level door 
			 
			
				you mean you can still open it, or that you can walk through it?
			 
			
			
			
		 |  
	 
 | 
 
	| 05-06-2011, 11:49 PM  | 
	
		
	 | 
 
 
	
		
		Karai16 
 
 
		
			Member 
			
			
			
 
			
	Posts: 164 
	Threads: 24 
	Joined: Apr 2011
	
 Reputation: 
0
		
	 | 
	
		
			
RE: Level door 
			 
			
				 (05-06-2011, 11:49 PM)dragonlordsd Wrote:  you mean you can still open it, or that you can walk through it? 
I am able to use it, as in opening it, and go to the other map, even though it's locked.
			  
			
			
 
Custom stories: 
Her Games (100% Complete) 
Her Games, All Bugs Fixed (100% Complete) 
 
			
		 |  
	 
 | 
 
	| 05-06-2011, 11:51 PM  | 
	
		
	 | 
 
 
	
		
		Kyle 
 
 
		
			Posting Freak 
			
			
			
 
			
	Posts: 911 
	Threads: 36 
	Joined: Sep 2010
	
 Reputation: 
7
		
	 | 
	
		
			
RE: Level door 
			 
			
				If in the editor it says it is locked, then check your files and delete the .mapcache file for your map if it is there.
			 
			
			
 
			
		 |  
	 
 | 
 
	| 05-06-2011, 11:57 PM  | 
	
		
	 | 
 
 
	
		
		Karai16 
 
 
		
			Member 
			
			
			
 
			
	Posts: 164 
	Threads: 24 
	Joined: Apr 2011
	
 Reputation: 
0
		
	 | 
	
		
			
RE: Level door 
			 
			
				 (05-06-2011, 11:57 PM)Kyle Wrote:  If in the editor it says it is locked, then check your files and delete the .mapcache file for your map if it is there. 
I tried it, it doesn't work, to help you think of a solution, I'll give you the code I'm using:
 void OnStart() 
{ 
    AddUseItemCallback("", "TowerKey", "TowerDoor", "UsedKeyOnDoor", true); 
SetEntityPlayerInteractCallback("TowerDoor", "TeleportFunction", true); 
} 
 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
    SetSwingDoorLocked("TowerDoor", false, true); 
    PlaySoundAtEntity("", "unlock_door", "TowerDoor", 0, false); 
    RemoveItem("TowerKey"); 
} 
 
void TeleportFunction(string &in asEntity) 
{ 
ChangeMap("Custom02", "PlayerStartArea_1", "", ""); 
}
 do I maybe have to do something with an if-statement? It does look like it, but I don't know how to use it, or if it can be used in hps language.
			  
			
			
 
Custom stories: 
Her Games (100% Complete) 
Her Games, All Bugs Fixed (100% Complete) 
 
			
		 |  
	 
 | 
 
	| 05-07-2011, 12:27 AM  | 
	
		
	 | 
 
 
	
		
		dragonlordsd 
 
 
		
			Member 
			
			
			
 
			
	Posts: 112 
	Threads: 7 
	Joined: May 2011
	
 Reputation: 
0
		
	 | 
	
		
			
RE: Level door 
			 
			
				Umm... why are you teleporting the player to change maps? Doesn't the door just automatically link to the next map?
			 
			
			
			
		 |  
	 
 | 
 
	| 05-07-2011, 12:41 AM  | 
	
		
	 | 
 
 
	
		
		Kyle 
 
 
		
			Posting Freak 
			
			
			
 
			
	Posts: 911 
	Threads: 36 
	Joined: Sep 2010
	
 Reputation: 
7
		
	 | 
	
		
			
RE: Level door 
			 
			
				 (05-07-2011, 12:41 AM)dragonlordsd Wrote:  Umm... why are you teleporting the player to change maps? Doesn't the door just automatically link to the next map? 
Yeah, it does.
 
I see your mistake, you added a interact callback; that means that when ever the player touches the door, he teleports.  
void OnStart() 
{ 
AddUseItemCallback("", "TowerKey", "TowerDoor", "UsedKeyOnDoor", true); 
SetEntityPlayerInteractCallback("TowerDoor", "TeleportFunction", true); 
} 
 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
    SetSwingDoorLocked("TowerDoor", false, true); 
    PlaySoundAtEntity("", "unlock_door", "TowerDoor", 0, false); 
    RemoveItem("TowerKey"); 
} 
 
void TeleportFunction(string &in asEntity) 
{ 
if (GetSwingDoorLocked("TowerDoor") == false) 
{ 
ChangeMap("Custom02", "PlayerStartArea_1", "", ""); 
} 
}
 This might work? But it's not a swing door. :/
 
Whoops... Alright, fixed that.
			  
			
			
 
			
				
(This post was last modified: 05-07-2011, 12:48 AM by Kyle.)
 
				
			 
		 |  
	 
 | 
 
	| 05-07-2011, 12:43 AM  | 
	
		
	 | 
 
 
	
		
		Roenlond 
 
 
		
			Senior Member 
			
			
			
 
			
	Posts: 331 
	Threads: 3 
	Joined: Apr 2011
	
 Reputation: 
0
		
	 | 
	
		
			
RE: Level door 
			 
			
				I'd remove all the scripting and just go via the level editor for level doors, it's a lot easier.
			 
			
			
			
		 |  
	 
 | 
 
	| 05-07-2011, 01:54 AM  | 
	
		
	 | 
 
 
	
		
		Karai16 
 
 
		
			Member 
			
			
			
 
			
	Posts: 164 
	Threads: 24 
	Joined: Apr 2011
	
 Reputation: 
0
		
	 | 
	
		
			
RE: Level door 
			 
			
				I tried doing it in the level editor, but now the key won't unlock the door... :/
			 
			
			
 
Custom stories: 
Her Games (100% Complete) 
Her Games, All Bugs Fixed (100% Complete) 
 
			
		 |  
	 
 | 
 
	| 05-07-2011, 09:37 AM  | 
	
		
	 | 
 
 
	
		
		Russ Money 
 
 
		
			Senior Member 
			
			
			
 
			
	Posts: 360 
	Threads: 25 
	Joined: Dec 2010
	
 Reputation: 
4
		
	 | 
	
		
			
RE: Level door 
			 
			
				 (05-07-2011, 09:37 AM)Karai16 Wrote:  I tried doing it in the level editor, but now the key won't unlock the door... :/ 
The command you're looking for, to set the level door unlocked is this:
 SetLevelDoorLocked(string& asName, bool abLocked);
 
Swing doors are the doors that move when push or pulled.
			  
			
			
 
			
		 |  
	 
 | 
 
	| 05-07-2011, 10:19 AM  | 
	
		
	 | 
 
 
	 
 |