Facebook Twitter YouTube Frictional Games | Forum | Privacy Policy | Dev Blog | Dev Wiki | Support | Gametee


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
HPS error (level editing)
mrscoomich Offline
Member

Posts: 55
Threads: 6
Joined: Mar 2012
Reputation: 0
#1
Exclamation  HPS error (level editing)

//===========================================
// Starter's Script File!
//===========================================

//===========================================
// This runs when the map first starts
void OnStart()

{
if(ScriptDebugOn())
{
GiveItemFromFile("lantern", "lantern.ent");
SetPlayerLampOil(100.0f);
for(int i = 0;i < 10;i++)
{
GiveItemFromFile("tinderbox", "tinderbox.ent");
}
}
}
//===========================================
// This runs when the player enters the map
void OnEnter()
{
{
AddUseItemCallback("", "key_1", "door_1", "UsedKeyOnDoor", true);
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("door_1", false, true);
PlaySoundAtEntity("", "unlocked_door", "door_1", 0, false);
RemoveItem("key_1");
}

}

//===========================================
// This runs when the player leaves the map
void OnLeave()
{
}




-------------------------------------------------------------------------------------------



Everytime I do a test run it says this:


FATAL ERROR: Could not load script file 'maps/main/my_map.hps'!
main (27, 8) : ERR : Expected '('


extra info:

I use n++ and the language is set to c++

---
any way to fix this?
(This post was last modified: 03-16-2012, 07:48 PM by mrscoomich.)
03-16-2012, 07:36 PM
Find
Adny Offline
Posting Freak

Posts: 1,766
Threads: 6
Joined: Mar 2012
Reputation: 173
#2
RE: HPS error (level editing)

After looking at it, the only thing I can think of is to take the line:

"
AddUseItemCallback("", "key_1", "door_1", "UsedKeyOnDoor", true);"


Take it out of the void OnEnter(), and add it to void OnStart()


You don't want all of your functions to be inside your onstart or onenter, you want them on their own, outside of it. For example,you have:

void OnEnter()
{
{
void your function(blahblah)
}
}
But that is wrong ^^^^^^^^
It needs to be outside of it, so more like this:
void OnEnter()
{
}


{
void yourfunction()
}

From what limited knowledge I have of C++ and the Amnesia scripts, OnStart() should be used to add your callbacks, and set music lights, and OnEnter() should be used for autosaves, and preloading sounds and particle systems. Functions go anywhere else (except OnLeave)If you're ever in doubt, you can check the .hps files from the actual Amnesia game.
Hope that helped. If I haven't made my point clear as I think I have, please P.M. me
03-16-2012, 08:56 PM
Find
mrscoomich Offline
Member

Posts: 55
Threads: 6
Joined: Mar 2012
Reputation: 0
#3
RE: HPS error (level editing)

this is what i've done. I did exactly what you said and even the other option u suggested but it's still not working.



BTW:
AddUseItemCallback("", "key_1", "door_1", "UsedKeyOnDoor", true); <<<<<
i think this one is really what's wrong. i have a feeling thats the only error there is and i dont know whether to change it, move it or what :/

------


//===========================================
// Starter's Script File!
//===========================================

//===========================================
// This runs when the map first starts
void OnStart()

{
if(ScriptDebugOn())
{
GiveItemFromFile("lantern", "lantern.ent");
SetPlayerLampOil(100.0f);
for(int i = 0;i < 10;i++)
{
GiveItemFromFile("tinderbox", "tinderbox.ent");
}
}
AddUseItemCallback("", "key_1", "door_1", "UsedKeyOnDoor", true);
}

//===========================================
// This runs when the player enters the map
void OnEnter()
{
{

}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("door_1", false, true);
PlaySoundAtEntity("", "unlocked_door", "door_1", 0, false);
RemoveItem("key_1");
}

}


//===========================================
// This runs when the player leaves the map
void OnLeave()
{
}
03-16-2012, 11:10 PM
Find
Equil Offline
Member

Posts: 94
Threads: 8
Joined: Sep 2010
Reputation: 0
#4
RE: HPS error (level editing)

Try having the "UseKeyOnDoor" function outside of OnEnter. Like this:

void OnStart()

{
if(ScriptDebugOn())
{
GiveItemFromFile("lantern", "lantern.ent");
SetPlayerLampOil(100.0f);
for(int i = 0;i < 10;i++)
{
GiveItemFromFile("tinderbox", "tinderbox.ent");
}
}
AddUseItemCallback("", "key_1", "door_1", "UsedKeyOnDoor", true);
}

void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("door_1", false, true);
PlaySoundAtEntity("", "unlocked_door", "door_1", 0, false);
RemoveItem("key_1");
}
03-17-2012, 01:59 AM
Find
mrscoomich Offline
Member

Posts: 55
Threads: 6
Joined: Mar 2012
Reputation: 0
#5
RE: HPS error (level editing)

(03-17-2012, 01:59 AM)Equil Wrote: Try having the "UseKeyOnDoor" function outside of OnEnter. Like this:

void OnStart()

{
if(ScriptDebugOn())
{
GiveItemFromFile("lantern", "lantern.ent");
SetPlayerLampOil(100.0f);
for(int i = 0;i < 10;i++)
{
GiveItemFromFile("tinderbox", "tinderbox.ent");
}
}
AddUseItemCallback("", "key_1", "door_1", "UsedKeyOnDoor", true);
}

void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("door_1", false, true);
PlaySoundAtEntity("", "unlocked_door", "door_1", 0, false);
RemoveItem("key_1");
}



I did that just now. (copy and pasted)... this time it didn't crash but the door was left unlocked... ?
03-17-2012, 03:18 AM
Find
Equil Offline
Member

Posts: 94
Threads: 8
Joined: Sep 2010
Reputation: 0
#6
RE: HPS error (level editing)

I assume you've ticked "Locked" on the door in the level editor then? If so, try putting

SetSwingDoorLocked("door_1", true, true);

in OnStart()
03-17-2012, 05:10 AM
Find
mrscoomich Offline
Member

Posts: 55
Threads: 6
Joined: Mar 2012
Reputation: 0
#7
RE: HPS error (level editing)

errrmm.. no i didnt :\ I left it unlocked.

EDIT:


okay. here, i clicked the checkbox as LOCKED,
changed it to true

here is my script:

***********************

void OnStart()

{



if(ScriptDebugOn())
{
GiveItemFromFile("lantern", "lantern.ent");
SetPlayerLampOil(100.0f);
for(int i = 0;i < 10;i++)
{
GiveItemFromFile("tinderbox", "tinderbox.ent");
}
}
AddUseItemCallback("", "key_1", "mansion_1", "UsedKeyOnDoor", true);
SetSwingDoorLocked("mansion_1", true, true);


}


void UsedKeyOnDoor(string &in asItem, string &in asEntity)

{
PlaySoundAtEntity("", "unlocked_door", "mansion_1", 0, false);
RemoveItem("key_1");
}

***********************
NOW the problem is,
when I try to open the door without the key, it is locked. so thats good.

but when i grab my key, and use it with the door ,
not ONLY does the key disappear but the door does not unlock. it stays closed like it was before ?
this is my first time scripting and i have spent a week on learning this kind of programming so im sorry about that LOL.


JUST wondering if there is something on the HPL2 program that I should write while im on the Entity tab of my mansion_1
(This post was last modified: 03-21-2012, 12:33 AM by mrscoomich.)
03-18-2012, 07:04 PM
Find
DaAinGame Offline
Member

Posts: 90
Threads: 11
Joined: Mar 2012
Reputation: 4
#8
RE: HPS error (level editing)

Its because you never tell the door to actually unlock itself.

void OnStart()
{
if(ScriptDebugOn())
{

GiveItemFromFile("lantern", "lantern.ent");
SetPlayerLampOil(100.0f);
for(int i = 0;i < 10;i++)
{
GiveItemFromFile("tinderbox", "tinderbox.ent");
}
}
AddUseItemCallback("", "key_1", "mansion_1", "UsedKeyOnDoor", true);
SetSwingDoorLocked("mansion_1", true, true);
}

void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("mansion_1", false, true);
PlaySoundAtEntity("", "unlocked_door", "mansion_1", 0, false);
RemoveItem("key_1");
}

The green line is missing, which is why your door never unlocked. Hope it works now!

Realm Of Another Chapter 1: http://www.frictionalgames.com/forum/thread-14142.html
Realm Of Another Chapter 2: Postponed
Adder Halls: 5%
(This post was last modified: 03-21-2012, 04:24 AM by DaAinGame.)
03-21-2012, 04:23 AM
Find
mrscoomich Offline
Member

Posts: 55
Threads: 6
Joined: Mar 2012
Reputation: 0
#9
RE: HPS error (level editing)

It worked! THANKS =D
.... but one problem.. the sound of the unlocked_door didnt play o.o
03-21-2012, 10:16 PM
Find
DaAinGame Offline
Member

Posts: 90
Threads: 11
Joined: Mar 2012
Reputation: 4
#10
RE: HPS error (level editing)

(03-21-2012, 10:16 PM)mrscoomich Wrote: It worked! THANKS =D
.... but one problem.. the sound of the unlocked_door didnt play o.o
Use this:
unlock_door.snt

try

Realm Of Another Chapter 1: http://www.frictionalgames.com/forum/thread-14142.html
Realm Of Another Chapter 2: Postponed
Adder Halls: 5%
03-21-2012, 10:20 PM
Find




Users browsing this thread: 3 Guest(s)