Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
TiglatPalazar II

Column skull key doors

Recommended Posts

Highlight each pillar sector, press J to join them and give them a TagID. Then either draw a linedef somewhere in front of the pillars (walk over), or make an accessible switch (press use or shoot), and give them the special 21:Floor_LowerToLowest (tag, speed), 20:Floor_LowerByValue (tag, speed, height) or similar. Or, instead set the linedef to 80:ACS_Execute (script, map, s_arg1, s_arg2, s_arg3) with one of the specials above, for example 

Quote

 

#include "zcommon.acs"

script 1 (void)
{
//  21:Floor_LowerToLowest (tag, speed);
    Floor_LowerToLowest (10, 32);
}

 

 

If you want the blue pillars to drop only when you have the blue skullkey, then the script becomes a bit more complex. In the following script I spawn a blue skullkey and set the switch to drop the blue pillars once you have the key


 

Quote

 

#include "zcommon.acs"

// ===================================
// spawn the blue skull key

// ===================================

script 100 open
{
    delay (35*3);
    Thing_Spawn ( 10, T_BLUEKEYCARD, 0, 0);
    delay (35*15);
    Door_Open ( 3, 8, 0 );
}

// ===================================

// check for blue skull key

// ===================================

script 2 (void)

{
    SetFont ("GAR");
    SetHudSize(960, 600, 0);
           
    if (CheckInventory("BlueCard") == 1)
    {
    HudMessage(s:"Switch is activated";
       HUDMSG_PLAIN, 0, 4, 480.0, 250.0, 5.0);

    delay (35);
    ACS_Execute ( 3,1,0,0,0);
    }
    else
    {
    HudMessage(s:"You need the blue skull key";
       HUDMSG_PLAIN, 0, 4, 480.0, 250.0, 5.0);        
    }
}

// ===================================
// if you have the blue skull key, open the door
// ===================================

script 3 (void)
{
        Floor_LowerToLowest (10, 32);

}

// ===================================
// END OF SCRIPTS
// ===================================

 

Example

 

Edited by Kappes Buur

Share this post


Link to post

Welcome to Doomworld!

 

What format are you using?

 

You can't do what it sounds like you want to do (keyed switch to lower floor to lowest nearest floor) in vanilla.

 

In Boom, you should be able to do it as follows:

Draw a room with a conveyor belt off in the void.

Put a voodoo doll on the conveyor belt behind a door.

Set the door to be locked with a blue key and make the columns the switch that opens the door on the conveyor belt.

On the other side of the door, put a walkover line that triggers the columns to lower to the lowest nearest floor).

 

I don't know about GZDoom or UDMF.

Share this post


Link to post
47 minutes ago, Pegleg said:

What format are you using?

 

The screenshot shows that he is using GZDoom (Doom2 in Hexen) format.

Share this post


Link to post
1 hour ago, Kappes Buur said:

Highlight each pillar sector, press J to join them and give them a TagTD. Then either draw a linedef somewhere in front of the pillars (walk over), or an accessible switch (press use or shoot) and give them the special 21:Floor_LowerToLowest (tag, speed), 20:Floor_LowerByValue (tag, speed, height) or similar,. Or instead set the linedef to 80:ACS_Execute (script, map, s_arg1, s_arg2, s_arg3) with omne of the
specuials above, for example 

 

if you want the blue pillars to drop only when you have the blue skullkey then the script becomes a bit more complex. In the following script I spawn a blue skullkey and set the switch to drop the blue pilears if you have the key


 

 

Example

 

Thank you, you just saved my wad!

Share this post


Link to post

If you want to use a script for something key-locked, you don't need to check for the key manually. ACS_LockedExecute and ACS_LockedExecuteDoor exist specifically for making scripts that require keys to activate, and display the default locked object messages when the key is missing.

Share this post


Link to post
4 hours ago, Kappes Buur said:

The screenshot shows that he is using GZDoom (Doom2 in Hexen) format.

 

So it does. I missed that.

 

The Boom method I suggested should work, but, you're right, it was irrelevant here.

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
×