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

Simple Mover (set as 3D Floor) issue.

Recommended Posts

First off I'm not new to doom mapping been doing it on and off for years since the dayz of Wadauthur and Edmap ... but Edmap was my choice then.

But I used them both.  The use of the above Wad Editors was great but was a lot of testing to see if all was good. So now days I statred using Doom builder the original

when first came out. Made maps with it as well. But now I use Ultimate Doom Builder R3428 (64bit) and has auto updates as well so I am on the latest build.  I have never released any maps yet :)  As I wanted to get better or at least think I am better at it :)  as time goes on, results at least for me are far better than back in the dayz. :)

 

 

Now have this simple issue I cannot seem to figure why unless the code (script) is outdated for some reason? OK so I have (2) 3D Floors one 3D floor to ride up to the

second 3D Floor in which to exit off on to. Seems to all work ok no problem mover goes up and down with no issue as far as the mover is.  But if player is under it the

Tag sector (29) which is the 3D Floor (mover) as in screenshot. when I go under it and the mover hits my head the mover goes flat like a flat texture you would put on floor,

This is not want I want, if the mover is coming down and if player happens to be under it the player is instantly killed. This way it will not make the mover look flat.

I have the dummy sector tag to 30 and the mover tag is 29 like in screenshots. It has to be something I am missing but not sure, I normally don't post on here as I like to figure it out for myself ... :) Also you can see my script in screenshot as well. Script is based from this video by Chubzdoomer below. Thanks goes out to him for the base.

I just made the changes to fit my tags etc .... Hopefully the screens will help?586637411_DesktopScreenshot2020_04.18-04_53_15_26.png.c0c3bda98560bb1f4d61b462dc1ff6e6.png

 

So I thought I would reach out this time and ask.

 

Desktop Screenshot 2020.04.18 - 04.51.55.74.png

Desktop Screenshot 2020.04.18 - 04.51.09.33.png

Desktop Screenshot 2020.04.18 - 04.50.41.54.png

Desktop Screenshot 2020.04.18 - 04.48.54.29.png

Share this post


Link to post

The reason the sector "goes flat" is because you're moving the floor and ceiling independently. You should use something like FloorAndCeiling_LowerByValue and FloorAndCeiling_RaiseByValue, which will move both floor and ceiling, and stop if either is blocked.

 

For your script, I'd decouple the movement code and the killing code, like this:


 

#include "zcommon.acs"


script "keep_going" enter
{
    Thing_ChangeTID(0, 1337);

    while(TRUE)
    {
        FloorAndCeiling_LowerByValue(2, 8, 112);
        TagWait(2);
        Delay(105);

        FloorAndCeiling_RaiseByValue(2, 8, 112);
        TagWait(2);
        Delay(105);
    }
}

script "kill_maybe" OPEN
{
    while(TRUE)
    {
        delay(1);

        if(ThingCountSector(0, 1337, 1) == 0)
            continue;

        int sector_z = GetSectorFloorZ(2, 0, 0);
        int player_z = GetActorZ(1337);
        int player_height = GetActorProperty(1337, APROP_Height);

        if(player_z == 0.0 && sector_z <= player_height + 1.0)
            Thing_Destroy(1337);
    }
}

 

There actually might be better ways to make a crushing 3D floor, but if there are they are not too obvious.

 

Example map: 3dfloor_crush.zip

Share this post


Link to post

Generally my approach is to link a 3D floor's top surface to its lower surface so they always move simultaneously.

Share this post


Link to post
Posted (edited)

OK, well I guess I am still missing something from somewhere, However mover now works as it should up/down

but standing under it still does not kill player, also the mover does not got flat so at least that is something

my tag for dummy sector is 30 and the mover is tag 29 and my ceiling in room is 512 overall and floor is 64

guess I will take a break and come back to it. :)

Thanks guys for the help

 

Share this post


Link to post

My approach is to use a dummy door to control 3D floor lift movement, and then Sector_SetLink the door's movement to the 3D floor. That way the lift will 'open' again if it hits you on the head.

Share this post


Link to post
On 4/18/2020 at 8:14 AM, boris said:

The reason the sector "goes flat" is because you're moving the floor and ceiling independently. You should use something like FloorAndCeiling_LowerByValue and FloorAndCeiling_RaiseByValue, which will move both floor and ceiling, and stop if either is blocked.

 

For your script, I'd decouple the movement code and the killing code, like this:


 


#include "zcommon.acs"


script "keep_going" enter
{
    Thing_ChangeTID(0, 1337);

    while(TRUE)
    {
        FloorAndCeiling_LowerByValue(2, 8, 112);
        TagWait(2);
        Delay(105);

        FloorAndCeiling_RaiseByValue(2, 8, 112);
        TagWait(2);
        Delay(105);
    }
}

script "kill_maybe" OPEN
{
    while(TRUE)
    {
        delay(1);

        if(ThingCountSector(0, 1337, 1) == 0)
            continue;

        int sector_z = GetSectorFloorZ(2, 0, 0);
        int player_z = GetActorZ(1337);
        int player_height = GetActorProperty(1337, APROP_Height);

        if(player_z == 0.0 && sector_z <= player_height + 1.0)
            Thing_Destroy(1337);
    }
}

 

There actually might be better ways to make a crushing 3D floor, but if there are they are not too obvious.

 

Example map: 3dfloor_crush.zip

Tried this and looked at example lift/platform works as it should both the example and mine in my level but in both my level and the example wad given

does not kill player and does not even go up if player is under and it hits his head just sits there nothing happens. I am probally missing something script or something it can either return to said position (return top) if player is under it hits head or it could just plain kill player TID (1337).

 

Thanks in advance

dOOmERdaZE

 

Share this post


Link to post

Well, I just tried out the example map again and it definitely works. What version of GZDoom are you using? Maybe some ancient one that doesn't support named scripts?

Share this post


Link to post
Posted (edited)
8 hours ago, boris said:

Well, I just tried out the example map again and it definitely works. What version of GZDoom are you using? Maybe some ancient one that doesn't support named scripts?

using the latest SVN Gzdoom 4.4 64 bit from here https://devbuilds.drdteam.org/gzdoom/

the editor was using GZDoom Builder (bugfix) R3107

And I use the latest update UDB R3435 64bit

neither crush player at least for me or hits palyers head just sits there?

what are the versions you are running as for as GZDoom and the editor well.

Edited by doomerdaze

Share this post


Link to post
10 minutes ago, boris said:

I'm using GZDoom 4.4pre303. Latest UDB (although that shouldn't matter at all). Here's a video of it: https://streamable.com/9q6f5j

Ok cool thanks, but mine does not do that, however I do use like brutal doom and few other mods maybe that is effecting not sure

but as in video comes down but does not kill me not sure why? but I have used many different ways so not sure what is happening

using same thing as you GZDoom 4.4pre303. Latest UDB and the same script as you provided here. I even made another one using same method

and get same results. sorry I do appreciate the help in trying to figure out why? try something else in just a sec here let you know

I also put a crushing ceiling to it as well that did not even work.

10 minutes ago, boris said:

 

 

Share this post


Link to post
Posted (edited)
49 minutes ago, Kappes Buur said:

 

It's the few other mods which most likely interfere with your playing the pwad.

boris's example works for me with smoothdoom and BD

 

https://www.youtube.com/watch?v=bwto2axeEZc

yes I did get to work in the example wad he gave with no mods at all then with BD and Hi Rez textures it worked. But in the wad I am creating it does not work for me so it is a mod but which one not sure. My wad works fine with no other problems except that lift where as it does not kill player if under it. both Doom2 no mods worked .... but with Doom2 all mods does not work after some testing may have to do one mod at at time? it does not break level just looks if noticed by player may look right. :)

 

mods in my .ini file

 

[Global.Autoload]

brutalv21.pk3
HOOVER1979_UltraHD_Texture_Pack_02102018_Main_file-1k.pk3
HOOVER1979_UltraHD_Texture_Pack_02102018_Doom_2_Override-1k.pk3
HQSkies.pk3
zd-dhtp-haso3doomII-v1.0.pk3
lights.pk3
crosshairs.wad
BDSE_Alternate_Weapon_Sounds.pk3
beamflashlight.pk3
hiresdoomfont.wad
Liquidpatchv2.pk3
All_LiquidsGlow.pk3
Alt_gore_sounds_misc.pk3
UDV_v2.13_A_BASE.pk3
UDV_v2.13_B_VISOR_Alt_1.pk3
UDV_v2.13_C_GFX_HIRES_Mugshot_BASE.pk3
UDV_v2.13_C_GFX_ScreenEffects_LQ.pk3
UDV_v2.13_C_SFX_Ambient.pk3
UDV_v2.13_D_MISC_FONT_A_RestoreOriginal.pk3
Inventory_Flares_Standalone.pk3
Item_SmartScav_Medikit_NanoStim_Standalone.pk3
NiceWallBlood.pk3
ambiencepack.wad
footsteps.pk3
BDDoomguyOneLiners.wad
intertext.wad
DHTP Alterations.pk3
DoomMetalVol5.wad

Edited by doomerdaze

Share this post


Link to post
Posted (edited)

Them are a lot of mods. :)

 

The way it works is that settings in a later loaded wad will overwrite the settings in a previous wad.

 

1. I would suggest to dissect the mods one by one to see which settings are changed from your pwad. Could be any text lump or script.

2. Or, delete them all and add them in one by one. However, then the same conundrum may occur, so that you would have to change the load order.

 

Of the two options I would go with 1.

Share this post


Link to post
Posted (edited)

Ya, figure as much, I will give it a shot thanks for the feedback, Hopefully want be to much trouble to find which one it is.

 

Ok here is what I did made another directory with the latest GZDoom from the DEV team SVN build, placed the DOOM2.wad and my pwad file in it with no other mods what so ever ran the map then at the lift works as it should but under it does not kill you so its in my pwad

I'm guessing, so how would I find that problem if at all possible? I have even given it new tags and everything.

Edited by doomerdaze

Share this post


Link to post
3 hours ago, doomerdaze said:

.... so how would I find that problem if at all possible? .....

 

If you have difficulty finding a solution on your own then it would seem that uploading your pwad, so that someone else could check it out, would be a step in the right direction.

Share this post


Link to post

If you're unwilling to upload your whole map, perhaps just cut out the specific room you have an issue with and share that.

 

One thing though: I was taught long ago that if you can avoid it, it's generally a good idea not to give the Player a TID, especially when using mods. It could well be one of the mods you're running assigns the player a different TID, or even spawns something else with the TID of 1337.

 

If you can rework your script to avoid giving the Player a TID, that might solve your issue. 

Share this post


Link to post
11 hours ago, Bauul said:

If you're unwilling to upload your whole map, perhaps just cut out the specific room you have an issue with and share that.

 

One thing though: I was taught long ago that if you can avoid it, it's generally a good idea not to give the Player a TID, especially when using mods. It could well be one of the mods you're running assigns the player a different TID, or even spawns something else with the TID of 1337.

 

If you can rework your script to avoid giving the Player a TID, that might solve your issue. 

ya I did think of that as well but not tried it the player ID is zero I think by default? maybe give it a different number maybe?

I try it out and see because like I stated I tried with no mods at all just everything default still no go. so maybe its in my pwad somehow or in the script something I should change or add.

Share this post


Link to post

Hey Guys,

 

     Hope all is well, staying safe

just want to add the area of map here to see if this can be fixed, I have cut the room off from map

removed all from the room except the 3dfloor/lift in question, I have tested this with/without mods

vanilla doom2 and latest GZdoom 4.4pre and using Ultimate doom builder R3435 (updated) today.

still no go.  maybe someone could check it for me would be awesome!

 

here is the .wad file

 

3dfloor_lift.rar

Share this post


Link to post

You floor height is 64, so the condition that the player z position is 0 is never met, obviously. Change the check to this:

 

if(player_z == 64.0 && sector_z <= player_z + player_height + 1.0)
   Thing_Destroy(9969);

 

Share this post


Link to post
37 minutes ago, boris said:

You floor height is 64, so the condition that the player z position is 0 is never met, obviously. Change the check to this:

 


if(player_z == 64.0 && sector_z <= player_z + player_height + 1.0)
   Thing_Destroy(9969);

 

I changed it from player_z == 0.0 to 64.0  still no go strange.  try it and you will if you have time

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
×