Jump to content
apheleon

Timer Timeline Concept

Recommended Posts

I've created a widget that shows all of the upcoming items laid out on a single horizontal timeline according to when they will respawn. Items move from right to left as they come up to spawn. 

 

The goal of the widget is to make it easier and faster for players to visually recognize when items are coming up to respawn by using shapes and movement. 

 

 

V7JXK9X.gif

 

Download apheleon_TimerTimeline.lua and try it out yourself!

 

Features:

  • Built in configuration options for the widget (see screenshot below)
  • The timeline frame color will change to match the color of the next upcoming item (Can be toggled off in the options).
  • The time text remaining until the item respawns is only shown for the next upcoming item. This time will change to red in the last 5 seconds and show decimals
  • The next upcoming item on the timeline will blink briefly during the final 5 seconds before it spawns (Can be toggled off in the options)
  • A list of the available items are shown to the left of the timeline, represented by colored blocks (Can be toggled off in the options)
  • Timeline by default shows the next 30 seconds of items (Can be configured in the options)
  • Allows for custom labels on items that appear multiple times on a single map. Item labels can be manually customized in the lua file. e.g. "Upper YA" and "Lower YA"

Available options in the widget that you can control:

 

rQ6FVaL.png

 

There is a short demonstration of what the widget looks like in use.  I've enlarged the widget to make it easier to see for demonstration purposes:  

 

Let me know if you have any ideas for how to improve this or if you run into any issues.

Share this post


Link to post
Share on other sites

Works beautifully.  My only suggestion would be a few checkboxes for what items to not include in the timer.  Most of the time, I don't care about green armors, so it would be nice to exclude those.

Share this post


Link to post
Share on other sites

I did not know this is possible. It certainly makes duels more boring, since both players know, where to go next. And item control will be very hard to break, since the controlling player is unlikely to make mistakes.

The widget is amazing.

Share this post


Link to post
Share on other sites

Really nice job on the widget.

In terms of what it's actually doing - I'm really disappointed something like this is possible. As someone who has been enjoying the competitive nature of games like quake 1, 2, 3 and live for the past 20 years - I am a little surprised this is possible in the game. In my opinion, it would be like playing a game like StarCraft without the fog of war.

Edited by sanctified

Share this post


Link to post
Share on other sites

I pushed an update today:

  • Merged in various custom item labels from KovaaK's script
  • Merged in UI toggle to only show the timeline when spectating from Kovaak's script (Default: Off)
  • Added a UI toggle to turn on / off Green Armors from the timeline (Default: Off)
  • Added support for Resist powerup
Edited by apheleon

Share this post


Link to post
Share on other sites

I'm still getting that bug where resist won't show up, but I've figured out when it's happening. If carnage isn't on the timeline (either in the "up" section with the bars, or spawning in the next 30 seconds putting in on the timeline), then the resist icon/"up" bar won't show up, but the timeline itself will change colour properly. Still no idea why this happens, but at least there's some info now.

Share this post


Link to post
Share on other sites

So that is the 'intended' behavior with the current code, but I can probably fix it up so that the background doesn't change if the item isn't visible on the timeline yet.  I'll add it to the list :) Thanks for figuring out the details of the issue.

Share this post


Link to post
Share on other sites

There were a few changes to the accessible LUA variables...

You can get it mostly working by replacing the two instances of 

not pickup.canSpawn

with

pickup.isHeldByPlayer

 

 

and then replace the other two instances of

pickup.canSpawn

with

not pickup.isHeldByPlayer

 

Share this post


Link to post
Share on other sites

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

×