# About "Mod" option on variables

Status
Not open for further replies.

#### DarlesLSF

##### Veteran
What is that function?

#### Andar

##### Veteran
It's short for "modulo", the fifth basic math operation after addition, substraction, multiplication and division.
It is rarely used in common life, but important to some computer mathematics, especially if you're limited to integer numbers like the default variables are.

#### Kes

##### Veteran
@DarlesLSF This is posted in RPGMaker 2000/2003, but the information under your avatar says that you use MV.
Could you please post and clarify which engine this query refers to.
Thanks.

#### Kuro DCupu

##### Trust me, I'm a veteran RMer
Only if you are familiar with math, you will see that modulo is very helpful.

Suppose you have a variable that always increased by one.
Code:
``0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, ...``
Now you put an operation of mod 4 at the final operation. The iteration will change to this :
Code:
``0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, ...``

This is useful for indexing in menu / option. You know when there are selectable choice where you navigate by pressing up and down for example. Imagine you have 4 selectable choice.
Code:
``````New Game (index = 0)
Continue (index = 1)
Gallery (index = 2)
Quit (index = 3)``````
What do you think happened when you keep pressing down after the Quit? Your cursor will loop back to New Game, thanks to the mod 4 operation. I'm ashamed that some people still use if (index == 4) then index = 0 as a solution for these.

Modulo operation can handle negative value, thus help set the cursor to Quit when you pressing up after the New Game. Unless in MV, you can't modulo a negative value... =_=

#### DarlesLSF

##### Veteran
@DarlesLSF This is posted in RPGMaker 2000/2003, but the information under your avatar says that you use MV.
Could you please post and clarify which engine this query refers to.
Thanks.
Sry man, im using 2003 right now, but at the first time i was using the MV. I will change that

Only if you are familiar with math, you will see that modulo is very helpful.

Suppose you have a variable that always increased by one.
Code:
``0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, ...``
Now you put an operation of mod 4 at the final operation. The iteration will change to this :
Code:
``0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, ...``

This is useful for indexing in menu / option. You know when there are selectable choice where you navigate by pressing up and down for example. Imagine you have 4 selectable choice.
Code:
``````New Game (index = 0)
Continue (index = 1)
Gallery (index = 2)
Quit (index = 3)``````
What do you think happened when you keep pressing down after the Quit? Your cursor will loop back to New Game, thanks to the mod 4 operation. I'm ashamed that some people still use if (index == 4) then index = 0 as a solution for these.
I still use that part, because i dont knew about that mod function haha
But how can i make an event for a menu like u said to go down and up in the menu?

#### Blair Pendragon

##### Veteran
Sorry for bringing this back up, but I couldnt find anything else related to my question. (There used to be guides, but I can no longer find them.)
I know using the variable mod, you could separate a variable by the "ones" "tens" "hundreds" "thousands" etc.
so for example, if you had 1,234 HP, you could take that, and using mod, give 4 different variables the value of each place.
\V[1],\V[2]\V[3]\V[4]
which in a text box, would end up showing 1,234. (Currently, i know how to make it show 1234, 234 34 4, but not 1,234)
(I know you can just set a variable to equate HP, but this was for more than just HP, and text, but for using images on screen.)

Does anyone here know how to use variable mod to do this?

#### TheoAllen

##### Self-proclaimed jack of all trades
(Currently, i know how to make it show 1234, 234 34 4, but not 1,234)
to get 1 from 1234, divide it by 1000
to get 2 from 234, divide it by 100
to get 3 from 32, divide it by 10

#### Blair Pendragon

##### Veteran
to get 1 from 1234, divide it by 1000
to get 2 from 234, divide it by 100
to get 3 from 32, divide it by 10

ok, i think i just needed the extra step of normal division.
so...
(V= variable)

V5=HP (1234)
V1=V5 (1234)
V2=V5 (1234)
V3=V5 (1234)
V4=V5 (1234)
V1 / 1000 (1)
V2 mod 1000 (234)
V2 / 100 (2)
V3 mod 100 (34)
V3 / 10 (3)
V4 mod 10 (4)

only thing left, is i could have sworn the set up was nearly half the amount of steps as this. but for now, this should work. thanks

Last edited:

#### Shaz

##### Global Moderators

@Blair Pendragon , please refrain from necro-posting in a thread. Necro-posting is posting in a thread that has not had posting activity in over 30 days. You can review our forum rules here. Thank you.

Status
Not open for further replies.

### Latest Profile Posts

Ugh I can’t sleep
Hey, my name is Lunar Flare Studios, and you're Solar Flare? That's so weird!
How has this place been dead quiet since after I posted about Deltarune? That's the only post that people are reacting to now... will you please read my other statuses?
Another comic with Backstage Malak...
If you want to ask him anything, you can ask on my DeviantArt page! I'm not sure if you're allowed to do it here.
Forum tip of the day ...
If you get a temporary suspension for being a jerk to people who are trying to help you, and arguing with mods and admins, don't go making new accounts. Chances are, if you p**s us off enough to suspend you for a week, we're not going to hesitate giving you a permanent ban when you give us a reason.