[Script] [Lua] Mobj Pickup!

Flame

WR 102
Oh hey, look who's back from the grave!
Here's a small tidbit of code that I made from a bigger project some time ago. Originally programmed in C and now updated to Lua.

Interact with Map Objects (Mobjs) in a totally different way!
Maybe mess with your friends?
PERHAPS YOU WANT TO PICK UP EACH OTHER?
1.0


USES
Use the Custom Action Button (2) to pick up and toss an object with the same button press!

Issues, problems or bugs?
In small scale, the code doesn't appear to cause problems. The code hasn't been tested in large scale and I would be interested in knowing if there are any issues with the code. Please let me know of any issues that come up and what you may have been doing at the time of error, and I can make appropriate updates!
 

Attachments

  • srb20004.gif
    srb20004.gif
    5.4 MB · Views: 449
  • srb20002.gif
    srb20002.gif
    1.2 MB · Views: 323
  • srb20005.gif
    srb20005.gif
    4.7 MB · Views: 375
  • LuaMobjPickup.zip
    2.4 KB · Views: 421
Last edited:

D00D64

Probably Responsible
Moderator
Kart Krew™️
Judge
Welcome to releases!
 

Attachments

  • srb20008.gif
    srb20008.gif
    6.7 MB · Views: 253

-CG7244-

Sometimes I sprite "things"
First time trying Mobj Carry

You can suffocate / kill players when carrying them to a wall.

cn54779.gif


Maybe this should be fixed.
 
Last edited:

Raze C

AKA RazeZX
You can suffocate / kill players when carrying them to a wall.
I'll also add to this that you can actually do that with pretty much anything "alive"
UvBDRLJ.gif

m65VVc0.gif

but I don't think it should be fixed honestly, it's pretty much fun
 

Flame

WR 102
You can suffocate / kill players when carrying them to a wall.

Maybe this should be fixed.

I actually had this come up in testing too. I did try fixing this at one point using P_TryMove instead of P_TeleportMove, although some weird stuff happened with objects picked up.

NBZcs8x.gif

The object picked up wouldn't stay in front of you.

Trying to remediate this with P_SlideMove didn't seem to change much either.

Although if there's something that I missed, I'm open for suggestions on making the code better!

I'll also add to this that you can actually do that with pretty much anything "alive"

but I don't think it should be fixed honestly, it's pretty much fun

3IhzmPC.gif


7Al5elt.gif


If the object is shoved into a wall and the ceiling height is greater than that of the floor height of that sector, the object actually ends up on the floor height of that specified sector.

Although if the ceiling height of that sector is equal to that of the floor height, then yes, the object does die.
 

Lach

he/him
Moderator
Sonic Team Junior
Kart Krew™️
Judge
If you want to solve the issue, try messing with giving the held object's flags MF_NOCLIP and/or MF_NOCLIPHEIGHT, which are both capable of administering intangibility to sectors.
 

Flame

WR 102
If you want to solve the issue, try messing with giving the held object's flags MF_NOCLIP and/or MF_NOCLIPHEIGHT, which are both capable of administering intangibility to sectors.

Actually, The held object is given a MF_NOCLIP flag, but is taken away when you toss or drop the object. For some reason this applies differently to players. Even though the player gets the MF_NOCLIP (Or even MF_NOCLIPHEIGHT) flag, I think the game, by default, calculates if a ceiling height equals that of a floor height for that player in a sector. And, if it does, it kills the player -- I could be wrong however.

I actually just tested this too with a regular Crawla just for fun. If held, the Crawla can freely between the playing field and wall. It is at the moment of toss that the Crawla regains it's original flags and dies in the wall. Presumably because the Ceiling and Floor height.

Gotta love game limitations.
 
Last edited:

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Top