Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Dokta Whawee

UDMF Opening doors by crossing Linedef?

Recommended Posts

I wanted to make my map so that when you cross this line (the triangle),

 

You will open the door on the other side.

 

How would I do that? I am using UDMF, and the Slade 3 Editor.

1.png

2.png

Share this post


Link to post

Same way you make a door in Doom format. You assign the action 11 Door_Open to the lines, tag the door sector, and write that tag in the field where the Sector Tag goes. Then, you assign an activation method (here, Player walks over) to the lines and it should work like that.

Share this post


Link to post

Alright, but I think I am going to need a more in depth tutorial, I just can't do it for some reason.

Share this post


Link to post
Posted (edited)

Create your door as usual.

Assign door sector a tag.

Assign the line Door_Open.

Give Door_Open the door tag.

Check the activation to Player crosses / walks over.

 

That's all there is to it.

 

Also, it's personal preference but if I were you I would use GZDoom Builder instead for mapping.

 

Share this post


Link to post
23 hours ago, Dragonfly said:

@Kappes Buur - At the time of writing, your link goes to the installation EXE.

UH-OH. How did that happen?

It's corrected now.

Thank you.

Share this post


Link to post

@Dokta Whawee

These are written for vanilla, but you may want to read through Linguica's tutorials (there's a whole series--I'm only linking Part 1, which has links to the rest).

Since you're using Slade, you could also look here, too.

 

There's also a page listing the tutorials on Doomworld (in addition to the whole Editing Tutorials Subforum):

 

Sincerest apologies if it seems like I'm talking down to you by recommending things that may seem basic or below what you're aiming for. That's not my intention.

 

Good luck!

Share this post


Link to post
Posted (edited)

There's a simpler method you can do too, it works like this in ten simple steps:

  1. Create a dummy corridor off at the side, and place a second player one start in it
  2. Create an ACS script that activates a scrolling floor in the corridor with the dummy player
  3. Use linedef action 80 to trigger the ACS script when the player crosses it to move the dummy player
  4. At the far end of the corridor, place a linedef that trigger a ceiling crushing in a second dummy room
  5. In that dummy room, place a barrel underneath the crushing ceiling
  6. Next to the barrel place an Imp, and next to the Imp place another linedef that has "monster crosses over"
  7. Create a new variable in your script called MegaUltraDoorOpeningKickAssScriptVersion1_RC1
  8. Assign to that line a script that increases the variable by 1 (i.e. MegaUltraDoorOpeningKickAssScriptVersion1_RC1++)
  9. Build a new ENTER script that has a constantly running WHILE loop that repeats every frame to check if that variable is 0 or 1.  
  10. When the variable is changed to 1, have the door open.

Simple!  I don't know why the other guys over-complicated it so much.

Share this post


Link to post
4 hours ago, Bauul said:

There's a simpler method you can do too, it works like this in ten simple steps:

 

<10 step program>

 

Simple!  I don't know why the other guys over-complicated it so much.

 

The ACS scripting simplified it so much!

 

You know, if you want to make it even simpler, you could add the following bolded steps.

  1. Create a dummy corridor off at the side, and place a second player one start in it
  2. Create an ACS script that activates a scrolling floor in the corridor with the dummy player
  3. Use linedef action 80 to trigger the ACS script when the player crosses it to move the dummy player
  4. Create a partially lowered sector in the corridor, in order to block the second player from reaching the end of the corridor
  5. At the far end of the corridor, place a linedef that trigger a ceiling crushing in a second dummy room
  6. In that dummy room, place a barrel underneath the crushing ceiling
  7. Create another dummy corridor and place an imp in it
  8. Create an ACS script that activates the scrolling floor in the imp dummy corridor (you'll want it to be a different ACS script from the script referenced in Step 2, for the sake of simplicity)
  9. Have the imp in the dummy corridor be moved across a "monster crosses over" line that triggers the lowered sector to raise, allowing the second player one start to reach the triggering lined from Step 5
  10. Have the imp then cross a monster-only teleport line (not too far from the previous linedef) that materializes beside the barrel, but not under the crushing ceiling
  11. Next to the barrel place an Imp, and next to the Imp place another linedef that has "monster crosses over" next to where the imp materializes
  12. Create a new variable in your script called MegaUltraDoorOpeningKickAssScriptVersion1_RC1
  13. Assign to that line a script that increases the variable by 1 (i.e. MegaUltraDoorOpeningKickAssScriptVersion1_RC1++)
  14. Build a new ENTER script that has a constantly running WHILE loop that repeats every frame to check if that variable is 0 or 1.  
  15. When the variable is changed to 1, have the door open.

Yes, definitely simpler.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×