[ZScript] 3D Platform Actor (v2.2b)

Post your example zscripts/ACS scripts/etc here.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
ArchAngel777
Posts: 19
Joined: Sat Jun 10, 2023 1:06 am
Preferred Pronouns: He/Him
Operating System Version (Optional): W10
Graphics Processor: nVidia (Modern GZDoom)

Re: [ZScript] 3D Platform Actor (v2.0.1b)

Post by ArchAngel777 »

Hey I'm getting an error on this line:

Code: Select all

flagdef Carriable: platFlags, 0;
saying unexpected ':'

The pk3 runs fine by itself but when I try to add the base zscript to a different pk3, this error shows up. As far as i can tell, the syntax is correct, so I'm not sure what's going on.

EDIT: figured it out. Apparently you NEED to have the "version "4.10" " line in the core zscript lump. :shock:

Edit2: Now I'm having an issue with getting the platform classes to appear in gzDoomBuilderBF. The DoomEdNums aren't working, the thing won't show up in the menu. I can summon them via the console so the classes are being loaded. Strangely enough they do show up in Slade's MapEditor under the "zscript" things submenu.

Edit3: Had to use decorate to inherit from the zscript classes to get them to show up in DoomBuilder.
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v2.0.1b)

Post by Fishytza »

The latest version is designed to run with GZDoom 4.10.0 and shouldn't run with older versions.
(That's why "version 4.10" is needed.)
Also, this was designed to work with Ultimate Doom Builder (UDB for short).
GZDoomBuilder-bugfix and the old DoomBuilder aren't accounted for.
I haven't tested this with Slade's map editor either.
User avatar
DoomKrakken
Posts: 3489
Joined: Sun Oct 19, 2014 6:45 pm
Location: Plahnit Urff

Re: [ZScript] 3D Platform Actor (v2.0.1b)

Post by DoomKrakken »

Good to know, thanks...
ArchAngel777
Posts: 19
Joined: Sat Jun 10, 2023 1:06 am
Preferred Pronouns: He/Him
Operating System Version (Optional): W10
Graphics Processor: nVidia (Modern GZDoom)

Re: [ZScript] 3D Platform Actor (v2.0.1b)

Post by ArchAngel777 »

Has anyone tried to get monsters to walk onto a 3d platform? I'm having a hard time achieving this. I tried setting the "JUMPDOWN" flag but they still refuse to walk off an edge onto the platform.
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v2.0.1b)

Post by Fishytza »

In the early alpha stages (before I released anything) I did have an expensive idle routine that would look for nearby actors and try to have them "climb up" on the platform.
The problem with it was that:
A) it involved using a BlockThingsIterator-per-tic approach (which is what made it expensive)
B) it wouldn't even work half the time

So I axed it.

When I get the motivation, I'll try to see if I could do this a different way. Preferably something that doesn't involve more BTI usage. I'll let you know if I come up with anything.
ArchAngel777
Posts: 19
Joined: Sat Jun 10, 2023 1:06 am
Preferred Pronouns: He/Him
Operating System Version (Optional): W10
Graphics Processor: nVidia (Modern GZDoom)

Re: [ZScript] 3D Platform Actor (v2.0.1b)

Post by ArchAngel777 »

I see. Well I figured out a hacky way to do it using monster-activated lines that thrust them forward just enough to get them onto the platform. It's pretty seamless and hardly noticeable, of course it takes some careful consideration when to apply the special to the lines since they will just walk off even if no platform is there. But for now, it's a decent solution.
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v2.0.1b)

Post by Fishytza »

Just pushed a commit that helps monsters walk unto platforms instead of walk away from them.
https://github.com/FishyClock/3Dplatfor ... ed59904de4
EDIT: Put the same hack into the get passengers routine https://github.com/FishyClock/3Dplatfor ... 0670f7816c

Feel free to test it yourself.
Last edited by Fishytza on Thu Jul 27, 2023 1:47 am, edited 1 time in total.
User avatar
DoomKrakken
Posts: 3489
Joined: Sun Oct 19, 2014 6:45 pm
Location: Plahnit Urff

Re: [ZScript] 3D Platform Actor (v2.0.1b)

Post by DoomKrakken »

Ooh...
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v2.0.1b)

Post by Fishytza »

Made another commit that includes the "help them climb me" hack into the main get passengers routine (when moving)
https://github.com/FishyClock/3Dplatfor ... 0670f7816c

Have a video




I'm probably going to polish/test this some more. (Or maybe not.) You can always check the commit history if anything else happens - I won't post much about it in this thread.
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v2.1)

Post by Fishytza »

Version 2.1 is out!
https://github.com/FishyClock/3Dplatfor ... s/tag/v2.1

New features for this release include:

- Land monsters are able to step up/climb a platform instead of "bumping into" and walking around it as if hitting a wall.
- The blockmap iterators are now created once per 35 tics (or in fewer tics for faster moving platforms); An option exists to bring back blockmap searches once per tic if it's really necessary.
- The platform's radius and height can optionally be scaled by the "Scale" values under the "Action / Tag / Misc." tab. Unlike other options, this one is a user variable that you can find under the "Custom" tab. It's default value is "true".
(This will not affect old maps, however, so pre-existing platforms won't scale their size.)
- Passengers are now able to cross from platform to platform. For moving platforms, an option needs to be enabled to allow this. For idle platforms, monsters/passengers can always go back and forth.
- As mentioned above, there are two new bitfield options:
65536 = Even if not idle, allow walking monsters to cross from this platform to other platforms and "bridge" actors.
131072 = Create blockmap iterators once per tic when looking for actors and unlinked (non-static) line portals.

Additionally, the ZScript code now makes use of some new features that came in GZDoom 4.11
Such as PointOnLineSide(), BoxOnLineSide(), checking the "linePortals" array and accessing the "LinePortal" struct.
Meaning this release will not run on 4.10 or any earlier version of GZDoom.
User avatar
SyntherAugustus
Posts: 970
Joined: Tue Jul 15, 2003 5:43 pm

Re: [ZScript] 3D Platform Actor (v2.1)

Post by SyntherAugustus »

Thanks for the update!

edit: With the latest version (I haven't checked this in a long time) can you teleport a thing onto a moving platform?
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v2.1)

Post by Fishytza »

Not out of the box, no. But this workaround should suffice.

This test map uses teleport destination actors carried by platforms to teleport on top of them. Load it with the 3D platform PK3 and start MAP02. See the ACS comments for more details.
You do not have the required permissions to view the files attached to this post.
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v2.2)

Post by Fishytza »

I figured there's been enough changes to make another release.
Nothing too fancy this time around.

https://github.com/FishyClock/3Dplatfor ... /tag/v2.2b
EDIT: Changed url to point to the patch release v2.2b
Spoiler: Release notes


Last edited by Fishytza on Fri May 10, 2024 1:59 am, edited 1 time in total.
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v2.2b)

Post by Fishytza »

A quick patch release!
https://github.com/FishyClock/3Dplatfor ... /tag/v2.2b

This is the same as v2.2 in addition there's a NOCORPSEGIB actor flag.
It prevents gibbing corpses when touching them. Useful for platform-monsters. (Like that cyberdemon.)
Connorpo1221
Posts: 1
Joined: Mon Jul 25, 2022 12:27 pm

Re: [ZScript] 3D Platform Actor (v2.2b)

Post by Connorpo1221 »

I tried to load a map01 in it and it says 3Dplatform v2.2b.pk3:zscript/fishy/platform-base.zs, line 432: Unable to resolve LinePortal as a type.

Return to “Script Library”