# 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

I'm familiar with MZ thanks to jam now. I say it's a better working and looking MV. Lots of plugins too and FOSSIL helps alot. It's not bad.
Some more progress <3 and in most important news:
ALPACARAPTOR SPRITE! (not animated yet, though )
At the risk of giving myself even more work to do, I kinda wanna redraw the faces of the MV RTP to be a little less.. uhhhhh..

Hmm...you'd think in this day and age, what with Japanese Schoolgirls frequenting anime, JRGs and whatever else...that someone might have made some gym clothes for the generator. You know, the ones with the short bloomers.
finished the draft of some of this dude's motions!

gonna work on the drafts of the other 3 now before i put detail, need to position these rather tall sprites well on the field

waiting for the term to end so i can get more time w this