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

Teleporting in monsters

Recommended Posts

I get the jist of teleporting in mosters. Set up some room off the side of the map, put a teleporter in there and then they teleport in to where you want.

The thing I'm wondering is how you actually activate the monsters. I tried the H Alert Monster (173) thing action but it isn't working. I don't think I've set it properly.

How exactly do you alert them?

Share this post


Link to post

If you make the sector they're in the same definition as one of your regular rooms, when you make a sound in that room they will be alerted.

Share this post


Link to post

Bloodshedder just told you, but if you're fairly new to mapping then maybe it didn't make sense.

Basically: a sector is not limited to one area, the same sector can exist in multiple separate areas on the map.

By making the room which contains the monsters the same sector as a sector near the player start point, as soon as the player fires a weapon the sound will reach that sector and the monsters will hear the sound (because it is exactly the same sector) and wake up.

EDIT: then you have to surround the item with some linedefs that open a door (where the monsters are) that allow the monsters to walk over the teleporting linedefs.

If you are using ZDoom or EDGE then you can do it easier using scripts.

Share this post


Link to post
Sigvatr said:

Yes, I am using GZDoom. How could I do it with scripts?


Well, if you were walking over a linedef, you could do something like this:-

script 1 (void)
{
Thing_SpawnFacing(1, T_DEMON, 0);
}

The "Thing_SpawnFacing" is the command for spawning the thing. If you don't understand the script, this is the anatomy of it:-

script 1 (void)
{
Thing_SpawnFacing(ThingID (TID), T_MONSTERNAME, newTID);
}

Assign the linedef that you activate by walking over (or press use etc) and give it an action of 80. 80=H Script execute.

Then in the 1st argument (assuming you are using zdoom doom in hexen format) give it the script number. Then place some MAPSPOTS in the area where you want the monsters to spawn (thing 9001.)

Give them the thing ID (in the specific script above it would be 1).

Then when you activate the script, the monsters will spawn. I will re-edit this if you don't understand it.

NOTE: The newTID isn't really needed in most cases.

Share this post


Link to post

Man, why does this have to be so complicated :(

Basically, I want the player to pick up a berserk kit and then some revenants teleport in.

What's the easiest way to do this in plain English?

Share this post


Link to post

You can do it without scripts.

Make a separate room with some revenants in. Connect the room with the level itself so that the revenants get woken up by sound. Place linedefs around the berserk pack that trigger a door to open that will release the revenants when you pick it up. Behind the door, put a teleporter into the main room with the berserk pack.

When you pick up the berserk pack, the door opens and the revenants are released. They walk into the teleporter and teleport into the room.

Share this post


Link to post

Yes, or whatever terminology your editor uses. The result is that the linedefs of each seperate area will reference the same sector, allowing "sound" to pass.

Share this post


Link to post
EarthQuake said:

Yes, or whatever terminology your editor uses. The result is that the linedefs of each seperate area will reference the same sector, allowing "sound" to pass.

Actually I think fraggle meant having a narrow tunnel to carry the sound.

MAP01 of DOOM 2 uses that technique (the two imps that come out).

E1M9 of DOOM 1 also uses that technique (the pentagram room).

I recommend Sigvatr open these maps in his editor and study them.

Share this post


Link to post

Ajapted said:
Actually I think fraggle meant having a narrow tunnel to carry the sound.

Perhaps he did, but it's a rather primitive method, as you clearly hear the monsters scream before they teleport. With the method you described you can place the second portion of the sector far away, so that they aren't heard (or are harder to hear*).

* Cooperative mode, for example, could make it complicated to place them far away from any player in the level.

Share this post


Link to post
myk said:

Perhaps he did, but it's a rather primitive method, as you clearly hear the monsters scream before they teleport.

True, but it's also a bit easier for inexperienced mappers to understand (with readily available examples in the IWADs).

Cooperative mode, for example, could make it complicated to place them far away from any player in the level.

I can't see how co-op mode is different to single player.

Share this post


Link to post

Ajapted said:
I can't see how co-op mode is different to single player.

It's just easier in single player because you more or less know where the player will be when the teleportation is effected. In MutiPlayer one might want to double check that the split sector isn't too close to an area that a player that is not triggering the teleportation may find his way into.

Share this post


Link to post

I think the easiest way if you're using Gzdoom, is to give the berserk the special to spawn an item with teleport fog. Then specify that you want to spawn Revenants, and the "thing id" of the spawn spots. Place some spawn spots in the room, give them the same "thing id", and there you go.

The main draw back of using this is that the Revenants will not be counted in the monster count until they'r spawned. Also it will make them appear all at the same time (but in different spots), I prefer the constant monster spawning of E1M9, but this may work and doesn't require ACS.

Share this post


Link to post

to follow one answer at the top. If I want to use the proposed script:

Thing_SpawnFacing(1, T_DEMON, 0);

does a Demon needs to exist with the id of 1 (and would that conflict with the mapspot that already have an id of 1), or is the Demon just coming from "nowhere" (which is nice, cause I don't need to have a hidden room with monster waiting, door, teleport line, etc.. just the mapspot item).

thanks

Share this post


Link to post

That's not a script, it's only a command, a special, a type, which can be set directly inside the editor (not in that syntax, probably using an obscure number looked up here (select the game)).

The spawned demon doesn't exist at first; it doesn't need any TID. That TID of 1 only belongs to the Map Spot(s) where Demon(s) are to appear, so there's no conflict.

Vegeta said:

I think the easiest way if you're using Gzdoom, is to give the berserk the special to spawn an item with teleport fog. Then specify that you want to spawn Revenants, and the "thing id" of the spawn spots. Place some spawn spots in the room, give them the same "thing id", and there you go.

The main draw back of using this is that the Revenants will not be counted in the monster count until they'r spawned. Also it will make them appear all at the same time (but in different spots), I prefer the constant monster spawning of E1M9, but this may work and doesn't require ACS.

Not necessarily GZDoom. From ZDoom it comes.

And yeah, I can only see the classic method to be good for sequential warping-in as in E3M5 (fantastic showdown there).

Share this post


Link to post

The way I make monster to teleport in after obtaining an object, i.e megasphere or berserk pack, is that I draw 4 lines around the object, with a linedef action of lower floor to 8 units above highest floor (linedef type 36 for example) which is tagged to a teleporter in a separate room where the monsters are, a long way away from the room with the object, like far south on the map or something. Then obtaining the object will trigger the teleport to lower and allows the monsters to teleport in.

The way to make the monsters hear the player is by making the sector that contains the monsters to be the same sector as the one where the player fights the first fight of the level, in other words shoots his gun the first time. The way I make it to be the same sector is that I change the monster room's sector reference number on each of its linedefs to be the same as the first fight room's linedefs have i.e. if the first fight room sector is 0 which means that each of its lines have a sector reference value of 0, I will change each linedef in the monster room to have a sector reference value of 0 too. This way they can hear the player shoot in a "separate" room far away because they are basically the same sector in different parts of the map. You can also put the same values that the room where the berserk pack is in has and put one imp in when killed which awakes the revenants in the room far away. (which in this case the player won't hear at all)

Then make monster teleport sectors with teleport things containing a sector tag around the berserk pack which are tagged to the monster teleporter lines which allows the monsters to teleport in after obtaining the berserk pack. It will be a very good surprise which will make the player piss his pants for sure :D

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
×