Pelle1986 Posted October 7, 2017 (edited) 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 October 8, 2017 by Pelle1986 0 Share this post Link to post
0 Pelle1986 Posted October 9, 2017 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! 0 Share this post Link to post
0 Pelle1986 Posted October 9, 2017 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. :-) 0 Share this post Link to post
0 Pegleg Posted October 9, 2017 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. 0 Share this post Link to post
0 Uncle 80 Posted October 9, 2017 (edited) 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 0 Share this post Link to post
0 Empyre Posted October 9, 2017 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. 1 Share this post Link to post
0 Pelle1986 Posted October 10, 2017 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 0 Share this post Link to post
0 Pelle1986 Posted October 10, 2017 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! 0 Share this post Link to post
0 Pelle1986 Posted October 10, 2017 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! 0 Share this post Link to post
0 Cynical Posted October 10, 2017 2 minutes ago, Pelle1986 said: 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! https://doomwiki.org/wiki/Voodoo_doll 0 Share this post Link to post
0 Nevander Posted October 11, 2017 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. 0 Share this post Link to post
0 Pelle1986 Posted October 21, 2017 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! 0 Share this post Link to post
0 Nevander Posted October 21, 2017 (edited) 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. 0 Share this post Link to post
0 Pelle1986 Posted October 21, 2017 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? 0 Share this post Link to post
0 Dravencour Posted October 24, 2017 (edited) 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 October 24, 2017 by Dravencour 0 Share this post Link to post
0 Pelle1986 Posted October 29, 2017 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! 0 Share this post Link to post
0 Nevander Posted October 30, 2017 (edited) 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. 1 Share this post Link to post
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 Pelle1986Share this post
Link to post