Skript

Skript

743k Downloads

arg-1 number * 200 goes into the negative with standard integers

alexnor-eu opened this issue ยท 2 comments

commented

Skript/Server Version

> skript info
[03:44:15 INFO]: [Skript] Skript's aliases can be found here: https://github.com/SkriptLang/skript-aliases
[03:44:15 INFO]: [Skript] Skript's documentation can be found here: https://docs.skriptlang.org/
[03:44:15 INFO]: [Skript] Skript's tutorials can be found here: https://docs.skriptlang.org/tutorials
[03:44:15 INFO]: [Skript] Server Version: 1.21.1-52-e08e667 (MC: 1.21.1)
[03:44:15 INFO]: [Skript] Skript Version: 2.9.1 (skriptlang-github)
[03:44:15 INFO]: [Skript] Installed Skript Addons:
[03:44:15 INFO]: [Skript]  - Skellett v2.0.10 (https://forums.skunity.com/resources/skellett.24/)
[03:44:15 INFO]: [Skript]  - SkQuery v4.1.10
[03:44:15 INFO]: [Skript]  - SharpSK v1.6.3
[03:44:15 INFO]: [Skript] Installed dependencies:
[03:44:15 INFO]: [Skript]  - Vault v1.7.3-b131
[03:44:15 INFO]: [Skript]  - WorldGuard v7.0.11-beta1+a801a9d
[03:44:15 INFO]: [Skript]  - GriefPrevention v16.18.4

Bug Description

I tried to make a command to buy experience with Vault economy using a command, however when I multiplied arg-1 which was "2" it returned cost, which was "arg-1*200" as -198.

Expected Behavior

The expected behavior is that it's supposed to return with 400 because 2*200=400

Steps to Reproduce

command /test :
trigger:
send "%arg-1% %arg-1*200%"

Errors or Screenshots

UdYXclK

Other

No response

Agreement

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

duplicate #5901

commented

Yes, this is a known quirk of the argument parsing. If you only have one argument, arg is a valid syntax and therefore it matches (arg) - (1* 200) as valid. The easy solution is to not use arg-1 when you only have one argument and instead use arg 1 or arg or argument.