Peaved T-40 Posted January 23, 2024 I have a line def that lowers a floor when you walk over it. but every time you cross it, the floor gets lower and lower. how do I make it only do it once? 0 Quote Share this post Link to post
Dragonfly Posted January 23, 2024 Depends on format. In Doom/Boom etc, use a W1 instead of WR (Walk over 1 time/ Walk over Repeatable) In Hexen/UDMF, untick "Repeatable action". 0 Quote Share this post Link to post
Peaved T-40 Posted January 23, 2024 (edited) 17 minutes ago, Dragonfly said: In Hexen/UDMF, untick "Repeatable action". I'm in UDMF and it's unticked by default for me. I ticked it, hit ok, then unticked it again, doesn't seem to matter Edited January 23, 2024 by Peaved T-40 0 Quote Share this post Link to post
Kappes Buur Posted January 23, 2024 (edited) When Repeatable Action in not ticked, as in Spoiler and the action repeats when walking over the linedef, then there is something terribly wrong with your editor installation. Edited January 23, 2024 by Kappes Buur 0 Quote Share this post Link to post
Peaved T-40 Posted January 23, 2024 3 minutes ago, Kappes Buur said: When Repeatable Action in not ticked, as in Hide contents and the action repeats when walking over the linedef, then there is something terribly wrong with your editor installation. Actually i found my problem here. I have four line defs in a square that all do the same thing so it activates no matter where the player enters from. So each individual line def will trigger only once but there are four of them so it'll trigger up to four times total. I have no idea how to fix this 0 Quote Share this post Link to post
Kappes Buur Posted January 23, 2024 (edited) You did not mention which UDMF port you use. With GZDoom you can make a script to change the action by setting a new condition when the first linedef is crossed. Quote #include "zcommon.acs" // set a condition int door = 0; script 1 (void) { while ( door == 0 ) { // do stuff Plat_DownByValue (2, 2, 17, 1); Tagwait (2); Plat_DownByValue (3, 2, 17, 1); Tagwait (3); Plat_DownByValue (4, 2, 17, 1); Tagwait (4); Plat_DownByValue (5, 2, 17, 1); Door_Open (1, 4); // now increment door to prevent another activation door = door + 1 ; } } Edited January 28, 2024 by Kappes Buur 0 Quote Share this post Link to post
Aurelius Posted January 24, 2024 10 hours ago, Peaved T-40 said: I have four line defs in a square that all do the same thing so it activates no matter where the player enters from. You could also use one of the sector action things like Actor enters sector or Actor hits floor, since they can be set to Activate once only. You can find them in the Things menu under Sector Actions category. 0 Quote Share this post Link to post
rita remton Posted January 25, 2024 On 1/23/2024 at 6:55 PM, Peaved T-40 said: Actually i found my problem here. I have four line defs in a square that all do the same thing so it activates no matter where the player enters from. So each individual line def will trigger only once but there are four of them so it'll trigger up to four times total. I have no idea how to fix this perhaps use can use a limiter? for example, "w1 floor lower to [lowest floor]" where the lowest floor is the limiter. the [lowest floor] is set either by making a small 1x1 map units sector that is inside/beside the sector you want to lower, or a sector next to the control sector joined to the sector you want to lower. so even if all four linedefs are activated, the floor would only lower to the [lowest floor]. hope this helps :) 0 Quote Share this post Link to post
Peaved T-40 Posted January 28, 2024 On 1/25/2024 at 8:49 AM, rita remton said: perhaps use can use a limiter? for example, "w1 floor lower to [lowest floor]" where the lowest floor is the limiter. the [lowest floor] is set either by making a small 1x1 map units sector that is inside/beside the sector you want to lower, or a sector next to the control sector joined to the sector you want to lower. so even if all four linedefs are activated, the floor would only lower to the [lowest floor]. hope this helps :) There are complications in my build that makes this difficult but it's a good idea. I think I'd rather do this instead of scripting if I can. We'll see 0 Quote Share this post Link to post
Peaved T-40 Posted January 28, 2024 On 1/24/2024 at 12:52 AM, Aurelius said: You could also use one of the sector action things like Actor enters sector or Actor hits floor, since they can be set to Activate once only. You can find them in the Things menu under Sector Actions category. This is cool, I didn't know that was a thing. I'll have to play with it but same problem as with Rita Remton's suggestion. I have a complex map and need multiple sectors to move at once. I'll have to play with those things though 0 Quote Share this post Link to post
rita remton Posted January 28, 2024 4 hours ago, Peaved T-40 said: This is cool, I didn't know that was a thing. I'll have to play with it but same problem as with Rita Remton's suggestion. I have a complex map and need multiple sectors to move at once. I'll have to play with those things though i just remembered: since it is [udmf], you have a better option: [line action 37: floor move to value] where you could specify the exact height the floor needs to be moved to. good luck :) 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.