Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
AwesomeO-789

Change MapSpot Thing Height?

Recommended Posts

Hey lads, I'm working on a section of my wad that uses elevators and teleport_nofog to create the illusion of 3D floors. So far it's working well, I can go in the elevator, go the next "floor", go out, go back in and go down again, etc. etc.

However, whenever I go "down" to the first "floor", the player always teleports at a higher height than the actual floor itself. This is because once the player activates the elevator, it raises, stops, teleports the player to the second "floor" and opens the door. This means the mapspot has been moved up WITH the elevator, so when the player activates the script to go back down again (I use floor_lowerinstant to make the first elevator go back down to the first floor) the mapspot thing is still in the air. Is there a way to change the height of things through ACS?


Edit: I'm using Doom Builder 2, format is Zdoom (Doom In Hexen).

Share this post


Link to post

Sorry, I nearly forgot. Here's the script:

script 23 (void)
{
floor_raisebyvaluetimes8(56,27,14);
floor_raisebyvaluetimes8(93,27,14);

delay(50);

floor_lowerbyvaluetimes8(92,27,64);

floor_lowerbyvaluetimes8(56,27,64);

delay(175);

teleport_nofog(91);

floor_lowerinstant(53,0,64);

delay(1);

floor_lowertonearest(53,27);

floor_lowerinstant(54,0,64);

floor_raiseinstant(56,0,64);

floor_raiseinstant(92,0,64);
}
Hopefully that makes sense to someone who hasn't played the WAD, I can give an explanation if needed.

Share this post


Link to post
scifista42 said:

Use TeleportDest3 (affected by gravity) instead of MapSpot for the teleport destination thing.


I didn't even think of that, it's so obvious too! I've been using mapspots ever since I started teleportation, thanks man!

Share this post


Link to post
AwesomeO-789 said:

I didn't even think of that, it's so obvious too! I've been using mapspots ever since I started teleportation, thanks man!

It's not a good idea to use map spots instead of teleport destinations for teleports, there have been cases where use of map spots caused bugs that use of teleport destinations wouldn't have had.

Share this post


Link to post
Gez said:

It's not a good idea to use map spots instead of teleport destinations for teleports, there have been cases where use of map spots caused bugs that use of teleport destinations wouldn't have had.


Alright, I'll make sure to go back and change them.

Share this post


Link to post

Sorry for spamming this thread, but since the first question was so simple I might as well ask another rather than make a new thread

Is there a way to change the properties of a linedef (e.g, impassable, block monster, double sided etc. etc.) through ACS? I want a linedef to block the player at first but after collecting an item let them go through it?

Share this post


Link to post
scifista42 said:


The first link I tried didn't seem to affect anything. I think you mean Line_Setblocking, SetLineBlocking is apparently no longer supported by zdoom.

Update: Looks like Line_Setblocking doesn't do anything either. Anymore suggestions? I also tried translucent lines, I've gotten them to work before but for some reason they're not cooperating this time. My original idea was to make a sector around the area I don't want the player to get to, raise the floor and set the linedef's action special to translucent (and set the value to 255). I want it to be fully translucent, so it's not a case of adding a middle texture. Here's some screens:





Left structure is example of translucency, right structure is original.
And yes, I know how god awful the texture alignment is. I'll work on that.

Share this post


Link to post

Sorry, not SetLineBlocking, but Line_SetBlocking was the correct one, indeed.

Line_SetBlocking should work. Did you actually set Line ID to the linedef that was supposed to be affected? How?

I didn't understand your intention with translucent lines, but translucency is a purely visual effect that has nothing to do with blocking, and if you want to alter it during the game, you should use SetLineSpecial. EDIT: Also note that translucency only affects middle textures, not lower and upper ones.

Share this post


Link to post
scifista42 said:

Line_SetBlocking should work. Did you actually set Line ID to the linedef that was supposed to be affected? How?


I'm pretty sure I did everything correctly. Example, the bottom linedef's number in the picture you see above that I set the translucency action to is 4998. I set the Line_SetBlocking action to a linedef near the start of the level (not pictured in any screenshots). The player walks over the line which executes a script that sets a light strobe in another room (check), changes the colour of a sector (check) and was meant to make a line block everything through Line_SetBlocking (not checked)

I used something like this:

script 1 (void)
{
Line_SetBlocking(4998,BLOCKF_EVERYTHING, 0);
}
I applied that to the other linedefs I wanted it to affect (in the same script, of course) but it wouldn't work.

scifista42 said:

I didn't understand your intention with translucent lines, but translucency is a purely visual effect that has nothing to do with blocking, and if you want to alter it during the game, you should use SetLineSpecial.


I wanted to make a sector around the structure and raise it. I'd make the outside linedefs translucent so the player can still see the structure, but not pass through the sector (which was raised to the roof). The player would need to go back and get an item, which would activate a script which would lower the sector with the linedefs that had the translucent flag on it to the ground. The player would be able to go back and do something with the structure. I have managed to get this to work before but it's not doing anything this time. I went back and looked at the previous lines I'd made that use the translucent action and I can't seem to find the problem.

Share this post


Link to post
AwesomeO-789 said:

4998

I think you are confusing Line ID with something else, possibly with linedef index number. Line ID is a property that you must manually set to a line or lines, in a similar fashion as you set a tag. In UDMF, alter the Line ID property in the linedef's fields. You can set the same Line ID number to multiple lines, too. In Hexen format, Line IDs must be set via Line_SetIdentification special (this is one of the reasons why UDMF is better).

Share this post


Link to post
scifista42 said:

I think you are confusing Line ID with something else, possibly with linedef index number. Line ID is a property that you must manually set to a line or lines, in a similar fashion as you set a tag. In UDMF, alter the Line ID property in the linedef's fields. You can set the same Line ID number to multiple lines, too. In Hexen format, Line IDs must be set via Line_SetIdentification special (this is one of the reasons why UDMF is better).


Beautiful! Thanks scifista, no idea what I'd do without you haha!

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
Sign in to follow this  
×