Skip to content

ExprExpression can return the value of another execution #61

@28andrew

Description

@28andrew

Describe the bug
When using ExprExpression. If you wait or do something that has a noticable delay, and call ExprExpression. It is not guaranteed that you will get the same value you would have gotten if that wait/delay wasn't there. The value you get can be from another execution of your custom syntax

To reproduce

local effect message something in %number% seconds:
    trigger:
        broadcast "waiting for %expression 1%"
        wait "%expression 1% seconds" parsed as a timespan
        broadcast "something - %expression 1%"
loop 10 times:
        message something in loop-number seconds

Output in chat is:

waiting for 1
waiting for 2
waiting for 3
waiting for 4
waiting for 5
....
waiting for 10

something - 10
something - 10
something - 10
something - 10
something - 10
something - 10
something - 10
something - 10
something - 10
something - 10

Expected behavior
Expected output in chat is:

waiting for 1
waiting for 2
waiting for 3
waiting for 4
waiting for 5
....
waiting for 10

something - 1
something - 2
something - 3
something - 4
something - 5
something - 6
something - 7
something - 8
something - 9
something - 10

Server information

  • skript-mirror: v0.14.1
  • Skript: 2.2-dev36
  • Bukkit: CraftBukkit version git-Spigot-b6ecf3b-1daee53 (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT)
  • Minecraft: 1.12.2
  • Java: 9.0.1
  • OS: Windows 10

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions