diff options
author | Haru <haru@dotalux.com> | 2019-06-01 16:05:05 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-01 16:05:05 +0200 |
commit | 259a790cb0a6fa17a346fc30ca61ce6f1a085d3e (patch) | |
tree | 3f4eeaf3dae03d64cd43727a59d150b0d8222271 | |
parent | 9154e3c3cde864e7c08f6df3cda28772e268f2e6 (diff) | |
parent | 1f9c83ef453741b7029b5706c7cd52edc7ce9039 (diff) | |
download | hercules-259a790cb0a6fa17a346fc30ca61ce6f1a085d3e.tar.gz hercules-259a790cb0a6fa17a346fc30ca61ce6f1a085d3e.tar.bz2 hercules-259a790cb0a6fa17a346fc30ca61ce6f1a085d3e.tar.xz hercules-259a790cb0a6fa17a346fc30ca61ce6f1a085d3e.zip |
Merge pull request #2472 from Emistry/scriptcommand_cap_value
Add *cap_value script command
-rw-r--r-- | doc/script_commands.txt | 12 | ||||
-rw-r--r-- | src/map/script.c | 12 |
2 files changed, 24 insertions, 0 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt index ae9d05d46..bcd2297b9 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -8537,6 +8537,18 @@ Example: --------------------------------------- +*cap_value(<number>, <min>, <max>) + +Returns the number but capped between <min> and <max>. + +Example: + // capped between 0 ~ 100 + .@value = cap_value(10, 0, 100); // .@value will be equal to 10 + .@value = cap_value(1000, 0, 100); // .@value will be equal to 100 + .@value = cap_value(-10, 3, 100); // .@value will be equal to 3 + +--------------------------------------- + *md5("<string>") Returns the md5 checksum of a number or string. diff --git a/src/map/script.c b/src/map/script.c index 478cc8e1d..1e0cd87ec 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -17784,6 +17784,17 @@ static BUILDIN(max) return true; } +static BUILDIN(cap_value) +{ + int value = script_getnum(st, 2); + int min = script_getnum(st, 3); + int max = script_getnum(st, 4); + + script_pushint(st, (int)cap_value(value, min, max)); + + return true; +} + static BUILDIN(md5) { const char *tmpstr; @@ -25801,6 +25812,7 @@ static void script_parse_builtin(void) // <--- List of mathematics commands BUILDIN_DEF(min, "i*"), BUILDIN_DEF(max, "i*"), + BUILDIN_DEF(cap_value, "iii"), BUILDIN_DEF(md5,"s"), BUILDIN_DEF(swap,"rr"), // [zBuffer] List of dynamic var commands ---> |