Jump to content
  • 0

Duke Nukem 3D/HL1 style Laser Trip Mine?


ChrisVR

Question

I've been looking for an easy to understand way to add Laser Trip Mine, like the one in Duke Nukem 3D or Half-Life 1 into my mod.

Share this post


Link to post

8 answers to this question

Recommended Posts

  • 0

i can only think line defs, so you could set up some script events that would make an explosion when passing a linedef, and you could chuck a texture to look like laser lines on the middletex

they have to be set up in advance though

 

for dynamic props, proximity mines might be easier, there i think you would need to check the location of the other units constantly, likely getting an n-body issue which would encourage me to write the code in a reverse style where the player checks if he activates the mines, not the other way round

however i'm new here so intrigued if anyone has better solutions

Share this post


Link to post
  • 0

To be more clear, I want to add it as a weapon, not something on the map.

 

Half-Life Lambda Doom mod has exactly what I need, but it's written quite complicated...

Share this post


Link to post
  • 0
1 hour ago, ChrisVR said:

Half-Life Lambda Doom mod has exactly what I need, but it's written quite complicated...

 

Can't you just ask for permission and copy the code?

Share this post


Link to post
  • 0

Even with permission I would find it a bit difficult to apply to my mod. I'm using good old decorate, but lambda is all in zscript.

I'm just like 2 months into mapping/modding for Doom, so there is still so much to learn.

Share this post


Link to post
  • 0

Using a linedef as the triggering mechanism would not truly emulate the behavior of a trip-mine. Remember that a linedef represents a plane in-game, and not just a line. Therefore, crossing the linedef/plane will indiscriminately create the triggering. A trip-mine should allow the player to jump over or crawl under the activating mechanism without "tripping" the mine.

 

One way to do this is to use ZScript/DECORATE to define an invisible actor (say, 2 pixels * 2 pixels in dimension), several of which you can string out along your "trip wire". This actor is tied to a script that creates the damaging explosion, and can be defined to be "picked up" by the player. When the player crosses the trip wire, one or more of those actors is picked up, triggering the script. You can use an appropriate texture to represent the trip wire.

 

"Half-Life Lambda DooM" sounds intriguing. I wonder why it flew under my radar. I'll have to check it out.

Share this post


Link to post
  • 0
Just now, ChrisVR said:

Ha, ha! When you posted I had just discovered the YouTube video, and was browsing the ZDooM forum to which you pointed.

 

Just now, ChrisVR said:

Your idea sounds pretty simple, but I won't be able to do this alone.

Ask someone on the ZDooM forums for help. TheCamaleonMaligno or others will be able to help you out.

 

I'd offer to do it for you, but lately I've become notoriously unreliable when it comes to DooM-related stuff. [Perhaps I'll look over Half-Life Lambda DooM's code to see what I can scavenge for you. But, as I cautioned, please don't hold your breath.]

Share this post


Link to post
  • 0

That would be great man, I really appreciate it. There are tons of things I want to add, so I know these things need to take time.

Just on a side note, I tried to extract all the files used for laser trip mine from Lambda into separate PK3, but I could never get it to run.. as soon as I fix one script error, it would throw another one. Zscripting in a nutshell :P

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...