Rapsis   
 
 
		
			Member 
			
			
			
 
			
	Posts: 69 
	Threads: 6 
	Joined: Oct 2012
	
 Reputation: 
0  
		 
	 
	
		
			
Script fatal error? 
  
			 
			
				Hey everyone, 
I'm making a custom story, and I get this error: 
FATAL ERROR: 
Could not load script file 'custom_stories/*secret*/maps/map1.hps'! 
main (10,11) : ERR : Expected identifier 
main (11,1) : ERR : Unexpected token '{' 
 
My map1.hps 
 
 
void OnStart() 
{ 
	AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, -1); 
} 
  
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
{ 
	SetSwingDoorClosed("mansion_2", true, true); 
} 
	AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
{ 
} 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
	SetSwingDoorLocked("mansion_1", false, true); 
	PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
	RemoveItem("bedroomkey_1"); 
} 
 
void OnLeave() 
{ 
 
} 
 
Could you explain what am I doing wrong? I'm just a beginner at both HTML and the level editor, so if anybody could fix the code and explain, it would mean a lot to me as I would learn. 
 
P.S. Sorry for my terrible English!
			
			
			
			
		  
	
 
 
	10-13-2012, 06:12 PM   
	
		
	 
 
	
		 
		Adny   
 
 
		
			Posting Freak 
			
			
			
 
			
	Posts: 1,766 
	Threads: 6 
	Joined: Mar 2012
	
 Reputation: 
173  
		 
	 
	
		
			
RE: Script fatal error? 
  
			 
			
				Hello! There is one error in your script file:
-You cannot use a function as a header; it has to be something like: void func(callback syntax)
-All callbacks should be placed under OnStart (very few exceptions) regardless of when they're used in the map.
Here's a fix, simply delete your current .hps file's content then copy & paste this in:
Spoiler below!   
 
 
void OnStart() 
{ 
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0); 
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
} 
 
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
{ 
SetSwingDoorClosed("mansion_2", true, true); 
} 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
SetSwingDoorLocked("mansion_1", false, true); 
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
RemoveItem("bedroomkey_1"); 
} 
 
void OnLeave() 
{ 
 
} 
 
 
 
			 
			
			
 
I rate it 3 memes.
			
				
(This post was last modified: 10-13-2012, 06:23 PM by Adny .) 
 
				
			 
		  
	
 
 
	10-13-2012, 06:22 PM   
	
		
	 
 
	
		 
		Rapsis   
 
 
		
			Member 
			
			
			
 
			
	Posts: 69 
	Threads: 6 
	Joined: Oct 2012
	
 Reputation: 
0  
		 
	 
	
		
			
RE: Script fatal error? 
  
			 
			
				 (10-13-2012, 06:22 PM) andyrockin123 Wrote:   Hello! There is one error in your script file: 
 
 
 
-You cannot use a function as a header; it has to be something like: void func(callback syntax) 
-All callbacks should be placed under OnStart (very few exceptions) regardless of when they're used in the map. 
 
Here's a fix, simply delete your current .hps file's content then copy & paste this in: 
 
Spoiler below!   
 
 
void OnStart() 
{ 
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0); 
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
} 
 
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
{ 
SetSwingDoorClosed("mansion_2", true, true); 
} 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
SetSwingDoorLocked("mansion_1", false, true); 
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
RemoveItem("bedroomkey_1"); 
} 
 
void OnLeave() 
{ 
 
} 
 
 
 Yes, this made my game turn on, thanks! Though the door doesn't open when I enter the script area. None of the names have mistakes. Any help?
Whoops, silly me, I'm doing it wrong! Thanks for the help!
Ok, I don't get this at all, I simply added a new line: 
void OnStart()
{
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0);
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true);
}
void CollideRoomTwo(string &in asParent, string &in asChild, int alState) 
{
SetSwingDoorClosed("mansion_2", true, true);
SetSwingDoorLocked("mansion_2"); 
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("mansion_1", false, true);
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false);
RemoveItem("bedroomkey_1");
}
void OnLeave()
{
}
And now it gives me a "No matching signatures" error!
			
 
			
			
			
				
(This post was last modified: 10-13-2012, 06:45 PM by Rapsis .) 
 
				
			 
		  
	
 
 
	10-13-2012, 06:31 PM   
	
		
	 
 
	
		 
		Adny   
 
 
		
			Posting Freak 
			
			
			
 
			
	Posts: 1,766 
	Threads: 6 
	Joined: Mar 2012
	
 Reputation: 
173  
		 
	 
	
		
			
RE: Script fatal error? 
  
			 
			
				No matching signatures means you don't have the proper amount/type of arguments in the function: 
 
SetSwingDoorLocked(string& asName, bool abLocked, bool abEffects); 
 
SetSwingDoorLocked("mansion_2", true, true); 
			
			
			
 
I rate it 3 memes.
			
		  
	
 
 
	10-13-2012, 06:47 PM   
	
		
	 
 
	
		 
		The chaser   
 
 
		
			Posting Freak 
			
			
			
 
			
	Posts: 2,486 
	Threads: 76 
	Joined: Jun 2012
	
 Reputation: 
113  
		 
	 
	
		
			
RE: Script fatal error? 
  
			 
			
				 (10-13-2012, 06:31 PM) Rapsis Wrote:   (10-13-2012, 06:22 PM) andyrockin123 Wrote:   Hello! There is one error in your script file: 
 
 
 
-You cannot use a function as a header; it has to be something like: void func(callback syntax) 
-All callbacks should be placed under OnStart (very few exceptions) regardless of when they're used in the map. 
 
Here's a fix, simply delete your current .hps file's content then copy & paste this in: 
 
Spoiler below!   
 
 
void OnStart() 
{ 
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0); 
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
} 
 
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
{ 
SetSwingDoorClosed("mansion_2", true, true); 
} 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
SetSwingDoorLocked("mansion_1", false, true); 
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
RemoveItem("bedroomkey_1"); 
} 
 
void OnLeave() 
{ 
 
} 
 
 
  Yes, this made my game turn on, thanks! Though the door doesn't open when I enter the script area. None of the names have mistakes. Any help? 
 
Whoops, silly me, I'm doing it wrong! Thanks for the help! 
 
Ok, I don't get this at all, I simply added a new line:  
 
 
void OnStart() 
{ 
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0); 
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
} 
 
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
{ 
SetSwingDoorClosed("mansion_2", true, true); 
SetSwingDoorLocked("mansion_2");  
} 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
SetSwingDoorLocked("mansion_1", false, true); 
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
RemoveItem("bedroomkey_1"); 
} 
 
void OnLeave() 
{ 
 
} 
 
And now it gives me a "No matching signatures" error!void OnStart() 
{ 
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0); 
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
} 
 
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
{ 
SetSwingDoorClosed("mansion_2", true, true); 
SetSwingDoorLocked("mansion_2", false, true); 
} 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
SetSwingDoorLocked("mansion_1", false, true); 
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
RemoveItem("bedroomkey_1"); 
} 
 
void OnLeave() 
{ 
 
}
This should solve the problem. The structure of SetSwingDoorLocked is: 
void SetSwingDoorLocked(string& asName, bool abLocked, bool abEffects);
			
 
			
			
 
                              THE OTHERWORLD (WIP)
 
Aculy iz dolan.
 
			
		  
	
 
 
	10-13-2012, 06:48 PM   
	
		
	 
 
	
		 
		Rapsis   
 
 
		
			Member 
			
			
			
 
			
	Posts: 69 
	Threads: 6 
	Joined: Oct 2012
	
 Reputation: 
0  
		 
	 
	
		
			
RE: Script fatal error? 
  
			 
			
				 (10-13-2012, 06:48 PM) The chaser Wrote:   (10-13-2012, 06:31 PM) Rapsis Wrote:   (10-13-2012, 06:22 PM) andyrockin123 Wrote:   Hello! There is one error in your script file: 
 
 
 
-You cannot use a function as a header; it has to be something like: void func(callback syntax) 
-All callbacks should be placed under OnStart (very few exceptions) regardless of when they're used in the map. 
 
Here's a fix, simply delete your current .hps file's content then copy & paste this in: 
 
Spoiler below!   
 
 
void OnStart() 
{ 
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0); 
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
} 
 
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
{ 
SetSwingDoorClosed("mansion_2", true, true); 
} 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
SetSwingDoorLocked("mansion_1", false, true); 
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
RemoveItem("bedroomkey_1"); 
} 
 
void OnLeave() 
{ 
 
} 
 
 
  Yes, this made my game turn on, thanks! Though the door doesn't open when I enter the script area. None of the names have mistakes. Any help? 
 
Whoops, silly me, I'm doing it wrong! Thanks for the help! 
 
Ok, I don't get this at all, I simply added a new line:  
 
 
void OnStart() 
{ 
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0); 
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
} 
 
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
{ 
SetSwingDoorClosed("mansion_2", true, true); 
SetSwingDoorLocked("mansion_2");  
} 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
SetSwingDoorLocked("mansion_1", false, true); 
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
RemoveItem("bedroomkey_1"); 
} 
 
void OnLeave() 
{ 
 
} 
 
And now it gives me a "No matching signatures" error!void OnStart() 
{ 
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0); 
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
} 
 
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
{ 
SetSwingDoorClosed("mansion_2", true, true); 
SetSwingDoorLocked("mansion_2", false, true); 
} 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
SetSwingDoorLocked("mansion_1", false, true); 
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
RemoveItem("bedroomkey_1"); 
} 
 
void OnLeave() 
{ 
 
}
 
This should solve the problem. The structure of SetSwingDoorLocked is:  
void SetSwingDoorLocked(string& asName, bool abLocked, bool abEffects);It worked when you did it, though when I did it 10 minutes ago, it didn't! Dafuq?
			
 
			
			
			
		  
	
 
 
	10-13-2012, 06:52 PM   
	
		
	 
 
	
		 
		The chaser   
 
 
		
			Posting Freak 
			
			
			
 
			
	Posts: 2,486 
	Threads: 76 
	Joined: Jun 2012
	
 Reputation: 
113  
		 
	 
	
		
			
RE: Script fatal error? 
  
			 
			
				Strange things happen. And remember: If there is a map.cache file, delete it. That may solve your problem.
			
			
			
 
                              THE OTHERWORLD (WIP)
 
Aculy iz dolan.
 
			
		  
	
 
 
	10-13-2012, 06:56 PM   
	
		
	 
 
	
		 
		Rapsis   
 
 
		
			Member 
			
			
			
 
			
	Posts: 69 
	Threads: 6 
	Joined: Oct 2012
	
 Reputation: 
0  
		 
	 
	
		
			
RE: Script fatal error? 
  
			 
			
				 (10-13-2012, 06:52 PM) Rapsis Wrote:   (10-13-2012, 06:48 PM) The chaser Wrote:   (10-13-2012, 06:31 PM) Rapsis Wrote:   (10-13-2012, 06:22 PM) andyrockin123 Wrote:   Hello! There is one error in your script file: 
 
 
 
-You cannot use a function as a header; it has to be something like: void func(callback syntax) 
-All callbacks should be placed under OnStart (very few exceptions) regardless of when they're used in the map. 
 
Here's a fix, simply delete your current .hps file's content then copy & paste this in: 
 
Spoiler below!   
 
 
void OnStart() 
{ 
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0); 
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
} 
 
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
{ 
SetSwingDoorClosed("mansion_2", true, true); 
} 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
SetSwingDoorLocked("mansion_1", false, true); 
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
RemoveItem("bedroomkey_1"); 
} 
 
void OnLeave() 
{ 
 
} 
 
 
  Yes, this made my game turn on, thanks! Though the door doesn't open when I enter the script area. None of the names have mistakes. Any help? 
 
Whoops, silly me, I'm doing it wrong! Thanks for the help! 
 
Ok, I don't get this at all, I simply added a new line:  
 
 
void OnStart() 
{ 
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0); 
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
} 
 
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
{ 
SetSwingDoorClosed("mansion_2", true, true); 
SetSwingDoorLocked("mansion_2");  
} 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
SetSwingDoorLocked("mansion_1", false, true); 
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
RemoveItem("bedroomkey_1"); 
} 
 
void OnLeave() 
{ 
 
} 
 
And now it gives me a "No matching signatures" error!void OnStart() 
{ 
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0); 
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
} 
 
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
{ 
SetSwingDoorClosed("mansion_2", true, true); 
SetSwingDoorLocked("mansion_2", false, true); 
} 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
{ 
SetSwingDoorLocked("mansion_1", false, true); 
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
RemoveItem("bedroomkey_1"); 
} 
 
void OnLeave() 
{ 
 
}
 
This should solve the problem. The structure of SetSwingDoorLocked is:  
void SetSwingDoorLocked(string& asName, bool abLocked, bool abEffects); It worked when you did it, though when I did it 10 minutes ago, it didn't! Dafuq?...The door doesn't get locked. Why can't anything work right? D;
...Fixed it by changing "False to "True"
Thanks everyone!!!!!
			
 
			
			
			
				
(This post was last modified: 10-13-2012, 06:58 PM by Rapsis .) 
 
				
			 
		  
	
 
 
	10-13-2012, 06:57 PM   
	
		
	 
 
	
		 
		Rapsis   
 
 
		
			Member 
			
			
			
 
			
	Posts: 69 
	Threads: 6 
	Joined: Oct 2012
	
 Reputation: 
0  
		 
	 
	
		
			
RE: Script fatal error? 
  
			 
			
				Hey people, I didn't change anything, the script is still how andyrockin told me, but it started crashing AGAIN, for no reason: 
 
main (8,16) : ERR : expected data type 
 
What the actuall f*** is wrong with this engine? Is it haunted or something?
			
			
			
			
				
(This post was last modified: 10-13-2012, 08:47 PM by Rapsis .) 
 
				
			 
		  
	
 
 
	10-13-2012, 08:47 PM   
	
		
	 
 
	
		 
		The chaser   
 
 
		
			Posting Freak 
			
			
			
 
			
	Posts: 2,486 
	Threads: 76 
	Joined: Jun 2012
	
 Reputation: 
113  
		 
	 
	
		
			
RE: Script fatal error? 
  
			 
			
				No, it's you 
 the engine does whatever it has to do. All the fails (or almost all) are human. So, let's see:
You have this:
void OnStart() 
 
{ 
 
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0); 
 
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
 
} 
 
 
 
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
 
{ 
 
SetSwingDoorClosed("mansion_2", true, true); 
 
} 
 
 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
 
{ 
 
SetSwingDoorLocked("mansion_1", false, true); 
 
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
 
RemoveItem("bedroomkey_1"); 
 
} 
 
 
 
void OnLeave() 
 
{ 
 
 
 
}
 
The error is here:
void OnStart() 
 
{ 
 
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 1); 
 
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true); 
 
} 
 
 
 
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)  
 
{ 
 
SetSwingDoorClosed("mansion_2", true, true); 
 
} 
 
 
 
void UsedKeyOnDoor(string &in asItem, string &in asEntity) 
 
{ 
 
SetSwingDoorLocked("mansion_1", false, true); 
 
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); 
 
RemoveItem("bedroomkey_1"); 
 
} 
 
 
 
void OnLeave() 
 
{ 
 
 
 
}
The AddEntityCollideCallback always end with a 1 or a -1. When you put 0, the engine turns mad. That was the issue.
			
 
			
			
 
                              THE OTHERWORLD (WIP)
 
Aculy iz dolan.
 
			
		  
	
 
 
	10-13-2012, 08:58 PM