Check a range of numbers in a string

Status
Not open for further replies.

Mark91

Veteran
Veteran
Joined
May 19, 2017
Messages
100
Reaction score
9
First Language
Italian
Primarily Uses
RMMV
Hi there,
I'm using a free input text plugin which can store a string in a variable.
I need to check in script box of a conditional branch if in that string there is a numeric value in a range and, if there is, store it in another variable.

In a more practical way it can be used for birthdays.
The player can write a year (that will be stored by the free input plugin in the first variable as a string; "I was born in 1970").
Then we should check that variable to see if that numerical value is in the range (idk, let's say 1920-2020); if yes, store that number in another variable (that will contain just that number to be called later), otherwise do stuff.

Is it possible?
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
2,602
Reaction score
1,933
First Language
English
Primarily Uses
RMMV
This is pretty easy using the match function:

1594815145350.png

Note that the pattern provided here will only match a single 4-digit number and store it in variable 1 if it's 1920-2020. You may need something more robust depending on your requirements.
 

Mark91

Veteran
Veteran
Joined
May 19, 2017
Messages
100
Reaction score
9
First Language
Italian
Primarily Uses
RMMV
This is pretty easy using the match function:

View attachment 151449

Note that the pattern provided here will only match a single 4-digit number and store it in variable 1 if it's 1920-2020. You may need something more robust depending on your requirements.
So...uhm...
I should do a script call containing

Code:
let testString = $gameVariables.value(x)
testString
testString.match(/\d{4}/)
let matches = testString.match(/\d{4}/)
matches
matches[0]
year = parseInt(matches[0])
and then put in the script box of the conditional branch the
Code:
(year >= 1920 && year <=2020)
thing?
Is that right?
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
2,602
Reaction score
1,933
First Language
English
Primarily Uses
RMMV
You don't need all the code I pasted, that was just for demonstration purposes to show the steps I took to get there.
 

Kuro DCupu

Trust me, I'm a veteran RMer
Veteran
Joined
Jul 6, 2014
Messages
460
Reaction score
1,435
First Language
Indonesia
Primarily Uses
RMMV
Based on demonstration above, I tested it and it works:
1594821708300.png
1594821846341.png

Here:
Code:
var year = parseInt($gameVariables.value(1).match(/\d{4}/)[0]);
$gameVariables.setValue(2, (year>=1920 && year <= 2020) ? year : 0);
It retrieves text from variable 1, extracts the first match of a four-digit number, and store it in variable 2.
Note that if it's not within range, it will return 0.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
2,602
Reaction score
1,933
First Language
English
Primarily Uses
RMMV
Glad you got it sorted!
 

Mark91

Veteran
Veteran
Joined
May 19, 2017
Messages
100
Reaction score
9
First Language
Italian
Primarily Uses
RMMV
Based on demonstration above, I tested it and it works:
View attachment 151450
View attachment 151451

Here:
Code:
var year = parseInt($gameVariables.value(1).match(/\d{4}/)[0]);
$gameVariables.setValue(2, (year>=1920 && year <= 2020) ? year : 0);
It retrieves text from variable 1, extracts the first match of a four-digit number, and store it in variable 2.
Note that if it's not within range, it will return 0.
Thanks you both^^
 

slimmmeiske2

Little Red Riding Hood
Global Mod
Joined
Sep 6, 2012
Messages
7,418
Reaction score
5,057
First Language
Dutch
Primarily Uses
RMXP

This thread is being closed, due to being solved. If for some reason you would like this thread re-opened, please report this post and leave a message why. Thank you.

 
Status
Not open for further replies.

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

Nothing better than commissioning art and it turns out like 500% better than you could ever have imagined!
Today we reveal new plugins and tools!
Ugh. Some days you're the car... and some days you're the road.
Highly opinionated world-building mapping
Working on an audio engine plugin for MZ! Check this out with your sound on (preferably stereo sound too). Multiple BGM and BGS channels and spatial audio (volume and panning)!

Forum statistics

Threads
103,150
Messages
997,656
Members
134,627
Latest member
LaurenzTheZero
Top