Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
Pelle1986

Two switches required

Question

How do I make a door open only by activating two switches (at any time)?

NOTE: include "common.acs" NOT "zcommon.acs"

I tried this:

 

Int door=0;

 

Script [script number] (void)

{

Door++;

If(door==2){

Door_open([tag], [speed]);

}

}

 

But the "int door=0;" -part affected all other scripts.

Edited by Pelle1986

Share this post


Link to post

Recommended Posts

  • 0
8 hours ago, Kappes Buur said:

ZDoom and Doomsday are not compatible

 

Ah, maybe that is the problem. Please, tell me what I shall use and where to find it. Thanks!

Share this post


Link to post
  • 0
7 hours ago, Cynical said:

Don't bother with scripting.

 

Put a voodoo doll on a conveyor belt, put two thin doors blocking its path, tag each door to one of the switches, and put a walkover linedef behind the doors.

Thanks! That would work, I have done it before. You see, since I haven't been able to use script I have developed quite a skill in making maps WITHOUT scrips. One have to use the imagination to make a good map. :-)

Share this post


Link to post
  • 0
19 hours ago, Jayextee said:

 

Make said switches both crush a barrel in a void sector that will each kill a Commander Keen, 666-tag the door.

I know you're specifying ZDoom scripts here, but there's a vanilla-compatible fallback just in case.

 

19 hours ago, Pelle1986 said:

Hi!

I am sorry, I don't know what you mean. Commander Keen? Vanilla-compatible??

/Per

Unless I misunderstand Jayextee, he/she is suggesting a way that you could accomplish what you're trying to do without using scripting or any of the other advanced features of the advanced source ports or formats (ZDoom, GZDoom, UDMF, etc.). In other words, by using only the features and effects in the vanilla Doom engine (hence "vanilla-compatible").

 

One of the enemies in the original Doom 2 is Commander Keen. It only shows up in Map 32. http://doomwiki.org/wiki/Commander_Keen

 

This is the proposal. Add a tag 666 to the door that you want to open once both switches are activated. Then, make a sector somewhere in the void outside the level (i.e., not connected to the level proper) and populate it with four items: two exploding barrels and two Commander Keens. Make one switch (e.g., with tag 1) activate a crusher (e.g., tagged 1) in the void sector that will crush one of the barrels, killing the nearby Commander Keen. Make sure the other barrel and Keen are far enough away to not be damaged by the explosion. Repeat this action with another crusher (e.g., tagged 2) triggered by the other switch (e.g., with tag 2) that will crush the other barrel and kill the other Commander Keen. Once both Commander Keen's are killed, the door (that you tagged with 666) will open. In fact, any door you have tagged 666 will open.

 

I wonder if it's possible to just put the Commander Keen under the crusher and eliminate the exploding barrel altogether? Same concept, though.

Share this post


Link to post
  • 0
22 hours ago, Pelle1986 said:

Hi!

I am sorry, I don't know what you mean. Commander Keen? Vanilla-compatible??

/Per

He's referring to the special sector tag 666 which will work in all Doom engines - seen in MAP32 in Doom 2.

When all Commander Keens in a level are dead, all sectors in said level tagged 666 will "open" like a door. So instead of assigning a script to your two switches, you could make each of them activate a crushing ceiling/floor instead (preferrably in a remote place in your map the player can't access), and place a Commander Keen under both crushers (with some barrels next to them to ensure they die). This works in all engines, including the original Doom2.exe - also referred to as "Vanilla Doom".

 

edit: ninja'd

 

edit 2:

I wonder if it's possible to just put the Commander Keen under the crusher and eliminate the exploding barrel altogether? Same concept, though

 

as long as you use the crushing ceiling type and not the crushing floor type. The first deals enough damage to kill at least a Caco in one crush, whereas the crushing floors don't even deal enough damage to kill a player at 100% health

Share this post


Link to post
  • 0

As he should have mentioned in the first post, he is making a map for Hexen in the Doomsday engine. I don't think Commander Keen is available. Hexen uses the original, more limited version of ACS, which is why the scripts with fancy features weren't working. I think the voodoo doll approach is the way to go.

Share this post


Link to post
  • 0
On 2017-10-09 at 5:39 PM, Pegleg said:

This is the proposal. Add a tag 666 to the door that you want to open once both switches are activated.

Hi!

Thank you for being so accurate, and for explaining in a way that I understand. All this is new for me and English is a secondary language for me. BUT, there is no such thing as 666 (it is a unknown action) and neither is there a "Commander Keen" to place and definitely no exploding barrels. I am making a Hexen map (not Zdoom (Hexen)). I am sorry if I have not declared that from the beginning.

/ Per

Share this post


Link to post
  • 0
23 hours ago, Bauul said:

@Pelle1986  It really would have helped if you'd told us you weren't using (G)ZDoom!  To be honest if you're planning on making an advanced map, you might want to look into using GZDoom instead.  Not only is there far more materials for it, but it's pretty much become the more used port these days.  

I am really sorry that I forgot to tell you that, and I am thankfull for you all being so patient. I really would love to use ZDoom and include "zcommon.acs", but I have tried so many times but faild. I fot the file, but it still won't work. I read somewhere in this thread that zcommon.asc is not compatible with Doom Engine (snowberry.exe). I will gladly listen to your advise in choice of a adequate game engine. Thanks again for your patience!

Share this post


Link to post
  • 0
On 2017-10-09 at 7:38 PM, Empyre said:

As he should have mentioned in the first post, he is making a map for Hexen in the Doomsday engine. I don't think Commander Keen is available. Hexen uses the original, more limited version of ACS, which is why the scripts with fancy features weren't working. I think the voodoo doll approach is the way to go.

I am interested in this "Vodoo Doll" that you mentioned. Maybe you can explain more or have a link to share where I can get more information?

Thanks a lot!

Share this post


Link to post
  • 0

At the end of the day you have to decide what source port you are targeting. If you are using ACS, the assumption is ZDoom. However as this thread proved, ACS is also available in standard Hexen format although quite limited. Regardless, at the end of the day you either map for Doomsday with their specific formats or you map with G/ZDoom and their formats. Just have to remember they are not interchangeable, which is dumb if you ask me. Singular standards help a lot with compatibility and uniformity.

Share this post


Link to post
  • 0
On 10/11/2017 at 8:56 AM, Nevander said:

 

Hi again!

What engine (for Doom, Hexen etc) do you use? I'll be happy to know.

However, I solved my problem with the switches by placing a monster (ettin) in a singel room in the far distance together with a moving polyobject. And for every switch you pull, the polyobject moves a bit closer to the ettin and when the final switch is pulled the monster is crushed on which I have put action to open the door. I could not have figured it out myself so thanks to you all. 

 

Now, another question:

How do you make an event that, when triggered, changes the texture of a wall?

Thanks a lot!

Share this post


Link to post
  • 0

Well these days my focus is my Doom 64 TC for GZDoom so I use UDMF format so I get all the features available in that engine.

 

As for changing wall textures, it's very easy in UDMF with SetLineTexture. However with pure Hexen you'd probably need to fake it with a very thin instantly lowering or raising wall that has the new texture on it. If you are referring to how in Hexen you can break windows and walk through, I'm not sure how they accomplished that unless SetLineTexture was always available.

Share this post


Link to post
  • 0
5 hours ago, Nevander said:

Well these days my focus is my Doom 64 TC for GZDoom so I use UDMF format so I get all the features available in that engine.

Thanks! I understand. Where can I get it?

Share this post


Link to post
  • 0

Chubz did a very nice tutorial about just this kind of subject, as one of his tutorials on ACS in general.

 

The way he did it involved using an integer for the script (switchNumber) to handle the Booleans and an else if operator in order to handle both switches using one script, which I thought was fairly nice and efficient. He also did the same thing Praetor did with the && thing, except he made it a second part of the existing script instead of monkeying around with some "void checkdoors() thing". Which makes sense because the script is primarily for that particular door, which needs to be tagged so the script just affects that door.

 

The else operator that Praetor did for the "one more to go" message is easily addable to Chubz's script, and I like to throw in a "Sequence complete!" when both switches are hit and the door gets opened.

Edited by Dravencour

Share this post


Link to post
  • 0
On 2017-10-07 at 10:51 PM, Pelle1986 said:

 

Okey everybody, I solved the mainproblem by downloading GZDoom as engine instead of Doomsday.

Now i can include Zcommon.acs and it WORK! Halleluja!

Share this post


Link to post
  • 0

I would recommend building maps and content for GZDoom since I believe it is the most maintained port out there right now. I don't follow development of Doomsday since it has quite a limited compatibility set. You can be assured that you can run almost any Doom mod in GZDoom, and if a mod is built exclusively for Doomsday or EDGE, there are ways to port them if you so desire.

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
×