Newb Question: "DM start" class name?
Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. This forum is archived - please use this set of forums to ask new questions.
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. This forum is archived - please use this set of forums to ask new questions.
Newb Question: "DM start" class name?
So, I wanted to make a timed deathmatch level in which part way through, the level mirrored itself. I figured that the easiest way to do this would be to mirror the level, and have a script that would "spawnspot" Deathmatch Start objects in the mirrored half, Thing_Remove all the deathmatch starts in the non-mirrored half of the level, and kill all the players. That way, after the players respawn, they would be in the "new" part of the level.
I was thwarted in my attempt by the lack of a "deathmatch start" class. Or at least, the lack of mention on it on the wiki. How would I produce this effect without being able to spawn deathmatch starts? Also, what, conceptually, am I missing here? Are start locations not classes? Are they not actors? What exactly is a start location, then?
Also, in an almost unrelated note, is there a way to convert doom2 maps to doom2 in hexen format maps in a way that preserves the functionality of the linedef actions instead of just the linedef action numbers themselves? When I copy/pasted a map over from one to the other in doombuilder, my doors turned into staircase builders or something...
I was thwarted in my attempt by the lack of a "deathmatch start" class. Or at least, the lack of mention on it on the wiki. How would I produce this effect without being able to spawn deathmatch starts? Also, what, conceptually, am I missing here? Are start locations not classes? Are they not actors? What exactly is a start location, then?
Also, in an almost unrelated note, is there a way to convert doom2 maps to doom2 in hexen format maps in a way that preserves the functionality of the linedef actions instead of just the linedef action numbers themselves? When I copy/pasted a map over from one to the other in doombuilder, my doors turned into staircase builders or something...
- Cutmanmike
- Posts: 11351
- Joined: Mon Oct 06, 2003 3:41 pm
- Operating System Version (Optional): Windows 10
- Location: United Kingdom
- Contact:
Re: Newb Question: "DM start" class name?
I don't think you can remove deathmatch starts once they've been added to the game. Not sure if you can spawn them though.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49223
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Newb Question: "DM start" class name?
Player starts do not translate to actors in the game. They are filtered out at spawn time and stored in separate arrays that cannot be modified by the map.
Re: Newb Question: "DM start" class name?
The only thing I can think of to suggest is to put your DM starts in small rooms away from the play area of the map and then teleport the player to a random teleport spot immediately after appearing. Half way through, you could change the script or manipulate the teleport spots to get the effect that you want.
In case you don't know, if a bunch of different teleport spots have the same tid, the game picks one at random when told to teleport a player to a spot - might be useful.
In case you don't know, if a bunch of different teleport spots have the same tid, the game picks one at random when told to teleport a player to a spot - might be useful.
Re: Newb Question: "DM start" class name?
Perfect. Thank you, Enjay.
Were DM starts previously classes? Is this a recent development? Just curious.
Were DM starts previously classes? Is this a recent development? Just curious.
Re: Newb Question: "DM start" class name?
Map things (i.e., the stuff that go in a map's THINGS lump) are not necessarily actors; just like actors are not necessarily map things (you can't place a doomimpball on the map, they're only spawned in-game).
No, it's not anything new. I don't remember seeing a playerstart mobjs in the vanilla source code. (Mobj, short for map object, is what ZDoom turned into actors.)
There are other things that aren't actors; for example the polyobject anchors and start spots.
No, it's not anything new. I don't remember seeing a playerstart mobjs in the vanilla source code. (Mobj, short for map object, is what ZDoom turned into actors.)
There are other things that aren't actors; for example the polyobject anchors and start spots.
Re: Newb Question: "DM start" class name?
Thank you. It makes me wonder how I somehow missed that after all these years.
Re: Newb Question: "DM start" class name?
Sounds like that would be INCREDIBLY annoying. I urge you to reconsider. Perhaps teleport the players to random non-overlapping spawn areas in the "new" area?Talonos wrote:and kill all the players
Re: Newb Question: "DM start" class name?
Try using a RESPAWN script. Make a huge else/if tree that checks which sector the player is in, then teleports them right when they spawn to the correct location. It'll look like just spawning normally somewhere else.
Re: Newb Question: "DM start" class name?
Actually, it likely wouldn't. It happens once, over the course of the whole deathmatch level, which deathmatch level is meant to be played only once, total, by each player. Chances are, it would just get lost in the chaos of the deathmatch. After all, you die all the time without knowing why in a typical game. When I play, I often respawn before I finish hitting the floor, even.Sounds like that would be INCREDIBLY annoying. I urge you to reconsider.
However, as long as I am using a more elegant way to have players respawn in the new half of the level (instead of a cheap hack that moves all the deathmatch starts) I might as well take the extra few lines of code to teleport them the correct way. After all, I already have teleport destinations defined for the other half of the level.