Frictional Games Forum (read-only)
[SCRIPT] Amnesia how to make door open itself - Printable Version

+- Frictional Games Forum (read-only) (https://www.frictionalgames.com/forum)
+-- Forum: Amnesia: The Dark Descent (https://www.frictionalgames.com/forum/forum-6.html)
+--- Forum: Custom Stories, TCs & Mods - Development (https://www.frictionalgames.com/forum/forum-38.html)
+---- Forum: Development Support (https://www.frictionalgames.com/forum/forum-39.html)
+---- Thread: [SCRIPT] Amnesia how to make door open itself (/thread-16112.html)



Amnesia how to make door open itself - Putkimato - 06-13-2012

Yeah, i wanna know how to make door open when i go near it. Not slowly, really fast like something would explode Big Grin!


RE: Amnesia how to make door open itself - GrAVit - 06-13-2012

There are multiple ways of doing that, but probably the most convinient one would be to use the Area tool in the level editor. Place an area near the door where you would want the script to active, which would make the door open itself.
Then you need to add the script, first you need to add a callback function like this for example:
Code:
void OnStart()
{
AddEntityCollideCallback("Player","THEAREANAMEYOUCREATEDINLEVELEDITOR","YOURFUNCTIONNAME",true,1);
}
YOURFUNCTIONNAME is the function that will be called when you enter the area. You can name it whatever you want.
Then the function, this is an example, it works if the door is unlocked.
Code:
void YOURFUNCTIONNAME(string &in asParent, string &in asChild, int alState)
{
SetSwingDoorDisableAutoClose("YOURDOORNAMEHERE", true);
AddPropForce("YOURDOORNAMEHERE",x,y,z,"world");
}
The x,y,z here means which way the propforce is coming from, which will force the door open. So you will replace x,y,z, with numbers, example: 0,0,-4000, You also need to add a considerable amount of propforce in order to open it, for example, 4000 or 5000. The negative amount here does not matter since it only describes which way the force is coming from. I hope this helped.
You may also add a sound effect when the door slams, and a particle effect as well.


RE: Amnesia how to make door open itself - i3670 - 06-13-2012

SetSwingDoorDisableAutoClose("DOORNAME", true);

and

AddPropForce(string& asName, float afX, float afY, float afZ, string& asCoordSystem);

http://wiki.frictionalgames.com/hpl2/amnesia/script_functions#props