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,932
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,932
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
459
Reaction score
1,431
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,932
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,379
Reaction score
5,032
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

People convinced me to use my old graphics for this new project, i guess i can't run away from blender just yet. https://gyazo.com/2a105847c042bb78c6d4919ec1308660
10/24 done :3 Maybe I can finish 11 and 12 this weekend^^
Been updating my game's control scheme to optionally use a mouse. Now the player pixel moves towards the mouse destination, which looks super sweet with the sparkles. Also turns out I made a Mouse Common Event plugin at some point... Thanks past me. :LZSexcite: Now the mouse wheel cycles different forms, and the right mouse button activates that form's special. :LZScool:

Forum statistics

Threads
102,959
Messages
996,269
Members
134,422
Latest member
Monkey_D_Milu
Top