SRB2 Message Board  

Go Back   SRB2 Message Board > Archived > Outdated Releases (2.1.X) > Lua (2.1.X)

 
 
Thread Tools
ExitMove v1.6 - Post-exit playability Details »»
ExitMove v1.6 - Post-exit playability
Version: 1.6, by Tatsuru (gametype man) Tatsuru is offline
Developer Last Online: Aug 2020

Category: Version: SRB2 Rating:
Released: 06-17-2018 Last Update: Never Favourites: 1
Scripts Re-Useable Content

Changelog:
Spoiler:
v1.6.3
- Update to keep up with the newest version of Utility.
- WARP command revamped: you can now choose the Star Post to warp to before warping.

Older versions
Spoiler:
v1.6.2
- Fixed a framerate drop occurring for finished players.

v1.6.1
- Utility compatibility issues resolved (again) (again).
- WARP command now can be used with On/Off arguments by the admin to enable or disable warping for everyone in the server.
- Fixed players with high latency spawning goal orbs at the beginning of a level.
- Fixed wrong reference by a function called when getting hurt after finishing a level.
- Other minor quality of life issues.

v1.6
- Goal orb design changed. Now colored, translucent small goal orbs spin around the player.
- Monitor breaking toggle for finished players was removed.
- Exit system revamped to prevent players getting stuck.
- Warping delay of 1 second added to prevent spamming.
- Utility compatibility issues resolved (again).
- Exposed ExitMove to foreign scripts for custom effects.
- Added FREEZE command.

v1.5
- Gametype checks added to every function to avoid activation on NiGHTS mode (big thanks to whoever did it!)
- Fixed players being permanently unable to move when finishing (hopefully, since I'm not entirely sure of what caused it).
- Added "One" option to CUSTOMEXIT for problematic levels like AGZ3.
- Finished players can no longer break monitors by default for balance reasons (togglable anyway).
- Invincibility monitors now working properly for finished players (thanks Kitoko!)
- Adjusted goal icon offset for Pointy Sonic so it doesn't cover his emoji.
- Utility compatibility issues resolved.

v1.4
- Custom HUD removed. The script no longer conflicts with custom HUD modifications, non-green video modes or the centiseconds display.

v1.3.1
- Fixed an issue with the underwater timer.

v1.3
- Added semi-invulnerability to finished players. They are now unable to lose rings or lives, and are impervious to drowning and suffocating in bodies of water and outerspace sections.
- Fixed exit sector detection on FOFs (specially problematic in AGZ3 and PAZ).
- Fixed goal icon offset for Metal Sonic.


v1.2
- Added support to Utility's AFK function. Refer to the Known Issues for more information.
- Added the command WARP, which lets you teleport to previous Star Posts once you have finished the level.
- Tweaked REMAINING so it only shows players who can finish the level (non-game-overed or non-AFK ones).
- Fixed goal icon offsets for Eggman (Eggpack) and Knuckles.


v1.1
- Fixed compatibility with Mystic Realm. Mystic Temple stages can now be accessed regardless of the activating player.
- End Signs now spin properly when the first player finishes the level.
- Slight code changes to make it more lightweight in netgames.
- Fixed level finish messages being duplicated.

Pre-v1.0
- Major code change and optimization to fix compatibility with some scripted effects.
- Added the command CUSTOMEXIT.
- Fixed an issue where joining during a paused server with the script or adding the script while in a stage would spam the console with a warning.
- Fixed an issue where the lights wouldn't follow the player appropriately after completing 1 or more levels.
- Fixed lights disappearing permanently when a finished player dies.
- Fixed certain sector effects like Zoom Tubes not working.
This is a very simple yet very requested feature in most Coop servers. The script allows you to play normally around the map after you've finished the level and do whatever you could do while you haven't yet: collect rings, items and kill and be hurt by enemies. You can also warp between Star Posts so you don't get stuck at the end of levels that are a point of no return.

Available commands:
Spoiler:
REMAINING: Shows a list of players who haven't finished the level yet.
CUSTOMEXIT <One / Half / 3/4 / All>: Sets how many players are needed to finish the level.
WARP: Without arguments, lets the player view Star Posts in a cyclic fashion, given that the player has finished the level, and warp to them. It can be coupled with arguments <On/Off> by an admin to enable or disable warping for the whole server.
FREEZE: When this is on, levels will not end regardless of how many players have finished, allowing players to stay on a level indefinitely. Useful for hangouts. Disabled by default. Note that this only disables ExitMove's counter and does not prevent levels from being finished through other means (Egg Capsules, bosses or other scripts).
Notes:
Spoiler:
- ERZ3 has a rather orthodox method of "ending" a level (it seemingly teleports players to an exit sector if they lose the race against Metal Sonic to restart it) so there's no guarantee this script will work 100% correctly there.
- exitmove can be used in Lua scripts for checking the presence of ExitMove in the game. The respective boolean finished in player structures indicates whether the player has finished the level or not.

Special thanks to Hino, Chicmunk, LightSpeedAngel and all Sonic Mania Plus goers who helped me test this to death ☆

Download Now

File Type: lua exitmove1.6.lua (16.6 KB, 222 views)

Screenshots

Click image for larger version

Name:	srb20064.gif
Views:	199
Size:	567.9 KB
ID:	20688   Click image for larger version

Name:	srb20089.gif
Views:	867
Size:	1.13 MB
ID:	21539  

Show Your Support

  • The author of this addon has given explicit permission for its content to be re-used and/or reproduced.

Comments
Old 07-04-2018   #2
HellHawkX
Judge
 
HellHawkX's Avatar
Default

Welcome to releases
__________________
Quote:
<RedEnchilada> splatoon cut off my dick
Quote:
<RoyKirbs> I'm currently causing child abuse.
HellHawkX is offline  
Old 07-04-2018   #3
CowboyJoseph64
Sonic Boll alpha tester
 
CowboyJoseph64's Avatar
Default

it's one of those things I never knew I wanted, but now that we have it I am very happy. This should be a staple on co-op servers.
CowboyJoseph64 is offline  
Old 07-04-2018   #4
Tatsuru
gametype man
Moderator
 
Tatsuru's Avatar
Default

I'm terribly sorry for having to update the file so soon, but I've just fixed a problem with the goal lights. The script shouldn't have any glaring problems right now, but please tell me if you find something!
__________________
don't care didn't ask plus you put player code in mobjthinker hooks
Tatsuru is offline  
Old 07-05-2018   #5
Tatsuru
gametype man
Moderator
 
Tatsuru's Avatar
Default Update!

I really hope no mods target me for this double post, but I have a slightly major update to announce. ExitMove now works with Mystic Realm!

Here is the full list of changes.
v1.1
- Fixed compatibility with Mystic Realm. Mystic Temple stages can now be accessed regardless of the activating player.
- End Signs now spin properly when the first player finishes the level.
- Slight code changes to make the script more lightweight in netgames.
- Fixed level finish messages being duplicated.

Please report any new glitches or inconveniences!
__________________
don't care didn't ask plus you put player code in mobjthinker hooks

Last edited by Tatsuru; 07-07-2018 at 06:48 PM. Reason: Good bye, old version!
Tatsuru is offline  
Old 07-07-2018   #6
Tatsuru
gametype man
Moderator
 
Tatsuru's Avatar
Default Update! v1.2

New day, new update! This time, I'm bringing in a new command to enhance the script experience and adding the so-asked for compatibility with Utility.

v1.2
- Added support to Utility's AFK function. Refer to the Known Issues for more information.
- Added the command WARP, which lets you teleport to previous Star Posts once you have finished the level.
- Tweaked REMAINING so it only shows players who can finish the level (non-game-overed or non-AFK ones).
- Fixed goal icon offsets for Eggman (Eggpack) and Knuckles.

I appreciate any feedback, bug reports and ideas to improve the script. Enjoy!
__________________
don't care didn't ask plus you put player code in mobjthinker hooks

Last edited by Tatsuru; 07-10-2018 at 02:29 PM. Reason: I ate the old version
Tatsuru is offline  
Old 07-10-2018   #7
Tatsuru
gametype man
Moderator
 
Tatsuru's Avatar
Default Update! v1.3

Here we come with another requested update. Have fun ~

v1.3
- Added semi-invulnerability to finished players. They are now unable to lose rings or lives, and are impervious to drowning and suffocating in bodies of water and outerspace sections.
- Fixed exit sector detection on FOFs (specially problematic in AGZ3 and PAZ).
- Fixed goal icon offset for Metal Sonic.
__________________
don't care didn't ask plus you put player code in mobjthinker hooks

Last edited by Tatsuru; 07-14-2018 at 03:05 PM. Reason: Check the reply right under here
Tatsuru is offline  
Old 07-14-2018   #8
Tatsuru
gametype man
Moderator
 
Tatsuru's Avatar
Default Small bugfix!

Bringing a small bugfix. While there are other glitches, they aren't very gameplay disrupting and since their nature is hardcoded they're not priority as of now.

v1.3.1
- Fixed an issue with the underwater timer.
__________________
don't care didn't ask plus you put player code in mobjthinker hooks

Last edited by Tatsuru; 07-30-2018 at 12:30 AM. Reason: Chomp
Tatsuru is offline  
Old 07-23-2018   #9
gregory_house
Also known as TemporaryAl
 
gregory_house's Avatar
Default

WARNING: ./DOWNLOAD/exitmove.lua line:296: bad argument #1 to 'P_TeleportMove' (MOBJ_T* expected, got number)



So this happened in a MP server when the host finished. The goal orb never appeared for the host and every other one stopped following us and stood still. No new ones ever appeared after that.



A level reset resets that behaviour (works fine until the host finishes).


Also, the (custom timer HUD?) has some issues with certain resolutions and permanently disables things like the centiseconds indication of the timerrres variable.


Resolution issues example here:



EDIT: Also, no idea why, but the time loops back to 0:00 after every hour.
__________________
My friends are my strength. - Discord: TemporaryAl#4689

Last edited by gregory_house; 07-26-2018 at 11:27 PM.
gregory_house is online now  
Old 07-26-2018   #10
Tatsuru
gametype man
Moderator
 
Tatsuru's Avatar
Default

Quote:
Originally Posted by gregory_house View Post
WARNING: ./DOWNLOAD/exitmove.lua line:296: bad argument #1 to 'P_TeleportMove' (MOBJ_T* expected, got number)

So this happened in a MP server when the host finished. The goal orb never appeared for the host and every other one stopped following us and stood still. No new ones ever appeared after that.

A level reset resets that behaviour (works fine until the host finishes).
Do you have access to the files the host used in that server? This isn't a glitch I've noticed in most file combinations so I imagine a different one might be triggering this behavior (the only instances where P_TeleportMove is called have only the light mobj as an argument, so it's a little strange that it got a number in the first place).

Quote:
Originally Posted by gregory_house View Post
Also, the (custom timer HUD?) has some issues with certain resolutions and permanently disables things like the centiseconds indication of the timerrres variable.

Resolution issues example here: <image>

EDIT: Also, no idea why, but the time loops back to 0:00 after every hour.
Those issues are related. ExitMove uses a custom timer to properly stop HUD time for finished players and thus has to use different variables, since the variable that measures time is the same that lets players move around.

About the 1 hour issue, that might be related to the function used to convert minutes into seconds, and although I think it should display everything properly, I'll take another look at the code again. I am going to try including a centisseconds display and accurate positioning for non-green resolutions, well... As soon as I figure out how.
__________________
don't care didn't ask plus you put player code in mobjthinker hooks
Tatsuru is offline  
Old 07-27-2018   #11
gregory_house
Also known as TemporaryAl
 
gregory_house's Avatar
Default

Quote:
Do you have access to the files the host used in that server?
Basically the files Spectrum uses every day in his server. That issue seemed to disappear the other days though.
__________________
My friends are my strength. - Discord: TemporaryAl#4689
gregory_house is online now  
Old 07-30-2018   #12
Tatsuru
gametype man
Moderator
 
Tatsuru's Avatar
Default Update! v1.4

Due to requests, the custom HUD has been removed (with a much more effective solution, actually. I've got to apologize for not thinking of it before) so you don't get ugly time counting with your mods. Here it is!

v1.4
- Custom HUD removed. The script no longer conflicts with custom HUD modifications, non-green video modes or the centiseconds display.
__________________
don't care didn't ask plus you put player code in mobjthinker hooks

Last edited by Tatsuru; 07-19-2019 at 08:10 PM. Reason: Typo
Tatsuru is offline  
Old 03-21-2019   #13
Tatsuru
gametype man
Moderator
 
Tatsuru's Avatar
Default Update! v1.5

Sorry for the hiatus! I have been out of the community for a short while but still cracking my head about how to fix the last version's main glitch. Here's what got changed this time.

v1.5
- Gametype checks added to every function to avoid activation on NiGHTS mode (big thanks to whoever did it!)
- Fixed players being permanently unable to move when finishing (hopefully, since I'm not entirely sure of what caused it).
- Added "One" option to CUSTOMEXIT for problematic levels like AGZ3.
- Finished players can no longer break monitors by default for balance reasons (togglable anyway).
- Invincibility monitors now working properly for finished players (thanks Kitoko!)
- Adjusted goal icon offset for Pointy Sonic so it doesn't cover his emoji.
- Utility compatibility issues resolved.

Please report to me here on in either Discord community servers if any new issues appear.
__________________
don't care didn't ask plus you put player code in mobjthinker hooks

Last edited by Tatsuru; 07-15-2019 at 02:53 PM.
Tatsuru is offline  
Old 04-09-2019   #14
gregory_house
Also known as TemporaryAl
 
gregory_house's Avatar
Default

Quote:
<Gregory_House> but a new one came out
<aplayer> yeah because the new one has some really bad bugs
<aplayer> like touching a monitor after finishing can cause mass synch bombs
<aplayer> or not being able to move right as a level starts

Regarding this lua, apparently.
__________________
My friends are my strength. - Discord: TemporaryAl#4689
gregory_house is online now  
Old 04-09-2019   #15
Tatsuru
gametype man
Moderator
 
Tatsuru's Avatar
Default

To be fair SRB2's exiting code is way too unbugding and this script is a mere hack that can only do so much. Listening to people's impressions on the previous version when I came back, they didn't seem to be bothered that much by the bugs (and even made their own fixes in the meantime that I was out!) and since investigating the causes of the new bugs might not be worth the effort for now because I'm out of ideas, I may just leave this script unsupported for a while. I'll make sure to keep both versions available.
__________________
don't care didn't ask plus you put player code in mobjthinker hooks
Tatsuru is offline  
Old 07-15-2019   #16
Tatsuru
gametype man
Moderator
 
Tatsuru's Avatar
Default

First of all, I'd like to apologize for leaving you guys with crappy versions of this script for so long, and thank you for your patience. It's been difficult to muster the motivation to fix it all for good (added to the fact I didn't know Lua better than I do now) but I'm finally proud to present this version and I hope you all have fun with it, since I intend it to be the last update to ExitMove before 2.2, save for potential critical glitches.

If you got the file from one of my testing servers, be sure to get it again, since your file is already outdated. Please read the changelog to check what's new and don't hesitate to report to me here or through the Discord server if you find any issues!

__________________
don't care didn't ask plus you put player code in mobjthinker hooks

Last edited by Tatsuru; 07-19-2019 at 07:44 PM. Reason: Begone
Tatsuru is offline  
Old 07-19-2019   #17
Tatsuru
gametype man
Moderator
 
Tatsuru's Avatar
Default

*sigh* All right.
The last version had a few stupid glitches too (but it's not like you all weren't expecting it) most by lack of testing on my end and due to how many of these glitches would only happen with many different people playing at once.

This version was intensely tested by the Sonic Mania Plus server folks, so they can guarantee as much as me this one does fix 99% of whatever plagued ExitMove until now.

Changelog:
- Utility compatibility issues resolved (again) (again).
- WARP command now can be used with On/Off arguments by the admin to enable or disable warping for everyone in the server.
- Fixed players with high latency spawning goal orbs at the beginning of a level.
- Fixed wrong reference by a function called when getting hurt after finishing a level.
- Other minor quality of life issues.
__________________
don't care didn't ask plus you put player code in mobjthinker hooks

Last edited by Tatsuru; 07-23-2019 at 09:59 PM. Reason: Download the one below
Tatsuru is offline  
Old 07-23-2019   #18
Tatsuru
gametype man
Moderator
 
Tatsuru's Avatar
Default

Small patch to fix a slowdown occurring for finished players after a long playtime. Once again big thanks to the SMP folks!
Attached Files
File Type: lua exitmove.lua (14.3 KB, 48 views)
__________________
don't care didn't ask plus you put player code in mobjthinker hooks
Tatsuru is offline  
Old 09-03-2019   #19
Tatsuru
gametype man
Moderator
 
Tatsuru's Avatar
Default

Okay, I said I planned 1.6 to be the last update to this, but now that Utility is under new management and got a new update I took the cue. Besides a few compatibility tweaks, the WARP command has been revamped: now you can view Star Posts in the level and where they are before teleporting to them.



The new file is also named differently: exitmove1.6.lua. This is so you don't get your version overwritten with older ones when joining other people's servers and make sure everyone gets the right one when joining your server. Please for the love of god get your new versions I beg you

Anyway, this is it for 2.1's ExitMove. Be sure to grab your new version of Utility here and see you later!
Attached Files
File Type: lua exitmove1.6.lua (16.6 KB, 71 views)
__________________
don't care didn't ask plus you put player code in mobjthinker hooks
Tatsuru is offline  
 

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 03:00 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, vBulletin Solutions, Inc.