Jump to content
  • 0

when a group of monsters are killed


DOOM's supershotgun

Question

hello Doom world!

 

i want to know how to make an event to were, when a GROUP, of a verity of DIFFRENT monsters are killed, they open a door, lower a lift, ect.

i would also like to know how to do this without scripts although this might not be possible without scripts.

 

:)

Share this post


Link to post

11 answers to this question

Recommended Posts

  • 1

It's probably best to have this in editing questions, but there's definitely a way to do something similar to what you're asking only with UMAPINFO and a dehacked file (Not sure you want that). 

 

Personally I'd make a video for you, but I'd rather hold off on that until this is reposted in the proper forum section and also figure out what Source Port you're targeting.

Edited by Mr.BP-D [CBG]

Share this post


Link to post
  • 1

As far as I know, the only way to do this requires ACS scripting in a ZDoom-family source port using UDMF.

script "DoSomething" OPEN {
  while (ThingCount(T_NONE, 53) > 0) {
    Delay(35);
  }
  Door_Open(54, 32, 0);
}

The script runs when the level loads. It loops while there are any active Things with tag 53, constantly sleeping for one second each time which prevents the script from being killed by the engine for taking too much compute time.

 

Once the monsters are killed and no longer active, the loop breaks and the remainder of the script executes. In this case it opens doors with sector ID 54, but you could perform a different action or even multiple actions if you want.

 

While not part of your question, this also works for item pickups. For example: I have used effects such as a blue light centered on a soul sphere and the light turns off when the player picks up the armor. This creates a "glowing powerup" effect tied to the existence of the powerup.

 

The ThingCount function can also work by specifying an item type as the first argument, and a zero Thing tag. This way you can do something similar to MAP07's lowering floors when all Mancubuses are dead, or raising a step when all Arachnotrons die. This technique is also compatible with Doom-in-Hexen format since it does not use Thing tags which are only supported by UDMF.

Share this post


Link to post
  • 0
2 hours ago, Mr.BP-D [CBG] said:

It's probably best to have this in editing questions, but there's definitely a way to do something similar to what you're asking only with UMAPINFO and a dehacked file (Not sure you want that). 

 

Personally I'd make a video for you, but I'd rather hold off on that until this is reposted in the proper forum section and also figure out what Source Port you're targeting.

Would you even need dehacked if it's an enemy that naturally calls A_BossDeath like mancubi, arachnotrons, barons, etc.?

Share this post


Link to post
  • 0

I've never been a fan of arbitrarily killing specific x monsters makes thing happen - it seems counter to the way doom feels - with exceptions to a few special maps - using this progression method often and randomly makes for a weird feel - for me anyway haha

Share this post


Link to post
  • 0
2 hours ago, Novaseer said:

Would you even need dehacked if it's an enemy that naturally calls A_BossDeath like mancubi, arachnotrons, barons, etc.?

Only if OP wants to use other enemies for this kinda thing.

Share this post


Link to post
  • 0
20 hours ago, Mr.BP-D [CBG] said:

It's probably best to have this in editing questions, but there's definitely a way to do something similar to what you're asking only with UMAPINFO and a dehacked file (Not sure you want that). 

 

Personally I'd make a video for you, but I'd rather hold off on that until this is reposted in the proper forum section and also figure out what Source Port you're targeting.

... where can i get this dehacked file?.

also i'm targeting the gzDoom source port (and i'm using the udmf gzDoom format in doom builder. could you make a video?)

Edited by DOOM's supershotgun

Share this post


Link to post
  • 0
2 hours ago, DOOM's supershotgun said:

how do i implement this?

 

19 hours ago, Caffeine said:

As far as I know, the only way to do this requires ACS scripting in a ZDoom-family source port using UDMF.


script "DoSomething" OPEN {
  while (ThingCount(T_NONE, 53) > 0) {
    Delay(35);
  }
  Door_Open(54, 32, 0);
}

The script runs when the level loads. It loops while there are any active Things with tag 53, constantly sleeping for one second each time which prevents the script from being killed by the engine for taking too much compute time.

 

Once the monsters are killed and no longer active, the loop breaks and the remainder of the script executes. In this case it opens doors with sector ID 54, but you could perform a different action or even multiple actions if you want.

 

While not part of your question, this also works for item pickups. For example: I have used effects such as a blue light centered on a soul sphere and the light turns off when the player picks up the armor. This creates a "glowing powerup" effect tied to the existence of the powerup.

 

The ThingCount function can also work by specifying an item type as the first argument, and a zero Thing tag. This way you can do something similar to MAP07's lowering floors when all Mancubuses are dead, or raising a step when all Arachnotrons die. This technique is also compatible with Doom-in-Hexen format since it does not use Thing tags which are only supported by UDMF.

how do i implement this?

Share this post


Link to post
  • 0
6 hours ago, DOOM's supershotgun said:

... where can i get this dehacked file?.

also i'm targeting the gzDoom source port (and i'm using the udmf gzDoom format in doom builder. could you make a video?)

 

I highly recommend looking into what Caffeine suggested and yes it will require scripting (as he gave you the script).  Since you're running GZDOOM UDMF my suggestion is as bootleg as you can get.  I know nothing of ACS scripting, but there's plenty of tutorials on the internet that can help you implement the code mentioned above.  Pretty sure this can be done in Ultimate DOOM Builder but don't quote me on that.

Share this post


Link to post
  • 0
23 hours ago, Mr.BP-D [CBG] said:

 

I highly recommend looking into what Caffeine suggested and yes it will require scripting (as he gave you the script).  Since you're running GZDOOM UDMF my suggestion is as bootleg as you can get.  I know nothing of ACS scripting, but there's plenty of tutorials on the internet that can help you implement the code mentioned above.  Pretty sure this can be done in Ultimate DOOM Builder but don't quote me on that.

thanks

Share this post


Link to post
  • 0
On 3/10/2024 at 10:51 AM, Clippy said:

I've never been a fan of arbitrarily killing specific x monsters makes thing happen - it seems counter to the way doom feels - with exceptions to a few special maps - using this progression method often and randomly makes for a weird feel - for me anyway haha

 

I think it works fine for an arena or boss fight. However, you are correct: that is mostly against the feel of classic Doom. I think the item pickup variant of this, requiring UDMF's ability to trigger action specials from Things, is perfectly acceptable. It works more reliably than enclosing something like a key or powerup in a square of linedef triggers.

 

On 3/11/2024 at 9:37 AM, DOOM's supershotgun said:

how do i implement this?

 

It sounds like you are probably a beginner: I strongly recommend watching some Doomtuber videos about editing and referring to the ZDoom wiki as needed. Here are some resources to get you started:

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...