Skript

Skript

743k Downloads

"At time" or other similar skripts do not work, or are inaccurate.

Wortoxio opened this issue · 3 comments

commented

Skript/Server Version

[13:50:50] [Server thread/INFO]: [Skript] Skript's aliases can be found here: https://github.com/SkriptLang/skript-aliases
[13:50:50] [Server thread/INFO]: [Skript] Skript's documentation can be found here: https://docs.skriptlang.org/
[13:50:50] [Server thread/INFO]: [Skript] Skript's tutorials can be found here: https://docs.skriptlang.org/tutorials
[13:50:50] [Server thread/INFO]: [Skript] Server Version: git-Paper-409 (MC: 1.20.4)
[13:50:50] [Server thread/INFO]: [Skript] Skript Version: 2.8.2 (skriptlang-github)
[13:50:50] [Server thread/INFO]: [Skript] Installed Skript Addons: 
[13:50:50] [Server thread/INFO]: [Skript]  - Skellett v2.0.9 (https://forums.skunity.com/resources/skellett.24/)
[13:50:50] [Server thread/INFO]: [Skript]  - SkBee v2.17.0 (https://github.com/ShaneBeee/SkBee)
[13:50:50] [Server thread/INFO]: [Skript] Installed dependencies: 
[13:50:50] [Server thread/INFO]: [Skript]  - Vault v1.7.3-b131
[13:50:50] [Server thread/INFO]: [Skript]  - WorldGuard v7.0.9+5934e49

Bug Description

I have had this bug since 1.19 on Skript, and it still isn't fixed. I have thoroughly tested it with and without plugins and the reproduction of it is just as inaccurate as the event itself, but it's present.

The bug itself is that a skript like the one below, will either randomly stop working until reloaded a few times, not work at all, or only work if the earliest time (in this case, 6AM) runs first. While the latter isn't too big of a deal, I find it odd how I can't set the time to 8:00PM to test if my skript is working. This isn't the main issue, though.

While yes, it sometimes works, the inconsistency is enough to be a problem, and causes some occasional game-breaking bugs on a lot of my projects. Please look into it.

Feel free to take this skript and test it for yourself.

at 6:00AM in world "world":
    broadcast "It's bright."

at 8:00PM in world "world":
    broadcast "It's dark."

Expected Behavior

It's supposed to be accurate and work every time, I assume.

Steps to Reproduce

Create an "at time" skript, preferably with multiple different times, and test it. Simple as.

Example skript:

at 6:00AM in world "world":
    broadcast "It's bright."

at 8:00PM in world "world":
    broadcast "It's dark."
    
at 4:00PM in world "world:
    broadcast "What time is it?"

Errors or Screenshots

No response

Other

No response

Agreement

  • I have read the guidelines above and affirm I am following them with this report.
commented

Seems like it works fine as long as another event fires between the first trigger and setting the time to an earlier time
image

commented

Looks like it relies on the poor assumption that all the time events in a world will execute in order
So after the 6:00 executes, it only checks for the 20:00 event until it fires.

commented

Looks like it relies on the poor assumption that all the time events in a world will execute in order So after the 6:00 executes, it only checks for the 20:00 event until it fires.

Thank you so much for looking into this. I extremely appreciate your assistance.