Heyhey! This is a bit different from my usual posting, but I wanted to make a brief tutorial on how to make an animation in rpg maker mz using just the event system and pictures, no plugins required. I found some tutorials online that were kind of helpful, but nothing that had exactly what I needed, so it was a bit of trial and error. I hope this helps anyone looking to do the same thing.
So, once you know how to do this it's actually pretty simple. You make a loop event, then add however many pictures you want with the desired coordinates and sizing, then add a wait command for the desired number of frames in between each picture. To break the loop, there are a couple of really important pieces to know.
First, which command to use? There is a 'break loop' command, but what worked for me was creating a conditional branch. On page 4 of the conditional branch, there are options for 'button' and 'script'. You can use button for this ("button ok is being pressed") but if you do exiting the animation will require a long press. Not the end of the world, but not super clean either. Instead, use the Input.isPressed('ok') script, which will read it even if it's a short press. Have the condition set to wait, then jump to label (doesn't matter what the label is named, just make sure that jump to label and label are named the same).
Second, order is important. Duh. If you put the conditional branch at the end of the loop, it won't read a button press unless the loop had already completed once. If you put it before the first picture, you can press the ok button at any time and immediately exit the animation. Sweet.
Finally, the label. Jumping to a set label outside the loop will effectively break the loop by enabling the event page to start reading the rest of the commands. Just make sure to put the Label before the erase picture command and your good to go (on the topic of erase picture, make sure all the picture you show in the animation loop have the same number, and if you want a background image behind the animation the background number should be lower than the number assigned to the animation pictures).
Edit: if you copy/paste the conditional branch after every picture, the exit process will be quicker than if it's just at the top
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
ā Live Streamingā Interactive Chatā Private Showsā HD Quality
Anya is LIVE right now
FREE
Free to watch ⢠No registration required ⢠HD streaming
The tutorial is under the cut due to it being long! Everything you need to create a shipping bin like Stardew Valley, Rune Factory, Harvest Moon, etc. Is right here!
So this took a lot of trial and error, but! It appears to be working just fine, and it can definitely probably be edited and changed if youāre more skilled with javascript, but given that Iām an amateur, itās not going to be spectacular. This is meant as the barebones really and to explain the basics to others who either are new to javascript or have spent countless hours trying to make a shipping bin for people!
Required: 3 Variables, 1 common event/event
This image is what I will be referencing to for the entire post! So what you want to do is either have a common event page or event page open (I prefer common event as itās easy to add to multiple events if I wish).Ā
We will first begin with the loop command under our flow control.
Ā This is what will allow us to use the select item command under the message section over and over without having to enter and exit repeatedly. Itās more or less for an aesthetic reason, and it keeps us from frustrating our players! After the loop, we will create the select item option. This is where our first variable comes in!
For all intents, we will be using the variable numbers I used, but feel free to use any variable you want! This first variable (#11), I named Shipping Bin Item. This is where the item ID will be stored every time the player adds something to the bin. You can choose whether your shipping bin will be able to hold Regular Items, Hidden Items, or Key Items, but for this tutorial, mine will be set to regular items! This is so you can set things like Tool Items or one of a kind items to key/hidden, so the player cannot sell them!
So far you should have:
Loop
Select Item: Shipping Bin Item, Regular Items
Now we add the If else statement! For our player to either hit escape or to have zero items in their inventory, we want it so they cannot get anything from it. SoĀ we should have
If: Shipping Bin Items = 0
This is where the other two variables will occur. They may seem confusing right now, but itāll be explained shortly!
Control Variables: 11 Shipping Bin Items = 0
Control Variables: 12 Shipping Bin Items Price = 0
This will set values to 0 and make sure something silly doesnāt happen that gives your player extra gold when they shouldnāt have it.
After we do this, we will break the loop so that the player can exit!
So in total, our event should look like this
Loop
Select Item: Shipping Bin Item, Regular Items
If: Shipping Bin Items = 0
Control Variables: 11 Shipping Bin Items = 0
Control Variables: 12 Shipping Bin Items Price = 0
Break Loop
Else:
Now this is where the javascript comes in! For anyone using other versions of rpg maker, these script codes may vary if using older or newer versions of rpg maker. However, it should be easily to find these script codes either in forums or google!
To start, we will set our variable to some script!
When you click on Control variables under the game progression tab on page one, you will have the option to set it to constants, variables, etc. What we want is the button option of script. This will allow us to write our own script that we cannot always normally do with the predefined options rpg maker gives us!
But Screeny! What do we type there? Well, Iāll tell you!
We need to set our second variable (12 for this example) to Shipping Bin Item Price first. After which, we need to write some script that will tell us what the item price is. With select item set up, the game is already storing the item ID to variable 11, and it will change every time our player selects an item to put in the shipping bin.
If you have not set up items, donāt worry! If you add items later, it should still work with this! All you need to do is set a price base in the database for it! Then the game will later read the price with our line of code weāre adding.
Anything involving data for items can usually be found with ($dataItems[x]) with x being the id number. However, since we need to check all items, it would be a cluster of chaotic else ifs to check every single item ID, so we can instead set x to a variable! For this we will type ($dataItems[$gameVariables.value(11)]). What this is doing is saying that the item is equal to the value of Variable 11. You can use this for a lot of things such as item ids and item price! Which what we need next is exactly that! Typically, to find an item price, we would say $dataItems[x].price, but since weāre using a variable, we will need to use the variable in the x again! This gives us:
($dataItems[$gameVariables.value(11)].price);
So this is what we write in the script field on the variable! Now is the actual script.
For our script line, we will need the script command that can be found on page three under theĀ āAdvancedā tab. This is going to be long again, but this is how we control what items the player loses. Again, this is simplified, but we will set it up so that the entire party will lose 1 of each item they click. You can most likely change this with variables and allow the player to choose the quantity they want, but again, this is the simple version!
So weāre going to use $gameParty.gainItem which seems weird, but sometimes the lose item function will not remove an item and actually stop at 1 of the item. We will then use the information from above, without the price of the item, so: ($dataItems[$gameVariables.value(11)]. After which, we will use , -1 to signify the player is gaining a negative of an item, which actually subtracts from player inventory! All together, youāll have:
And the last step is the easiest! The third variable (13 for this example) we need is Shipping Bin Final Value. This will add up all of the items price values that are set in the database for a grand total value of all items added! Create a control variable for Shipping Bin Final Value and set it to Add. Then click the variable and select Shipping Bin Item Price. This adds all the values to it, and now we are finished! Our completed script should look like this:
Loop
Select Item: Shipping Bin Item, Regular Items
If: Shipping Bin Items = 0
Control Variables: 11 Shipping Bin Items = 0
Control Variables: 12 Shipping Bin Items Price = 0
Break Loop
Else:
Control Variables: 12 Shipping Bin items Price =Ā ($dataItems[$gameVariables.value(11)].price);
Script:Ā $gameParty.gainItem($dataItems[$gameVariables.value(11)], -1)
Control variables: 13 Shipping Bin Final Value += Shipping Bin Item Price
Now you can add this to your shipping bin event and itās ready to use! You can also set up events like a bed where when the player sleeps, their gold amount will change += to Shipping Bin Final Value every night. Then you can reset all three variables to make sure that the player doesnāt have gold left in variable 13 that they add to from the day before!
I think almost everyone who is using RPG Maker MV at some point faced a problem with resolution. The game is too small in windowed mode and too blurry in full-screen.
Fortunately, there are some ways to fix this:
#1 Full-screen mode maintaining a real scale.
If you're okay with the default resolution (816:624) but you don't want the player to watch at his own desktop while playing (especially if it's a horror game) you can simply install Yanfy's Core Engine plugin and set the Update Real Scale parameter to true.Ā
After that, your game should open in full-screen maintaining the resolution you set in Core Engine.
P.S. A great plugin to add a full-screen option in the menu.
# 2 Full-screen without blur.
As you know, by default the RPG Maker MV game opened in full screen will look blurry and stretched. But you can fix that with this plugin:
(1, 2)
(in some cases it requires you to make some changes in rpg_managers.js and rpg.core files).
Sounds awesome right? However there two drawbacks:
You can't really know if the game will look pixel-perfect on the player's monitor. It all depends on the screen resolution you have.
Ugly fonts. :(
#3 Full-screen without black borders.
This plugin removes all black borders while maintaining the original resolution. However... yeah, it can provoke a lot of problems like huge maps and screwed up battle screens. You can fix some of these problems by scaling up your game with plugins like GALV_ScreenZoom etc.
#4 Change your resolution to 1104x624
That's what I'm using right now.
Quote by Yanfy
My personal "sweet spot" for resolutions is 1104x624. I choose this because it maintains the default height MV comes with while remaining close to 16:9 and still divisible by 48 (the tileset size).
You can do this simply by setting the game's resolution to 1104x624 in Yanfy's Core Engine plugin and install already mentioned Fullscreen plugin.
Thank you for reading! I hope you found it useful! Ā This is my first tutorial ever, so if there is something I should add or change, let me know.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
ā Live Streamingā Interactive Chatā Private Showsā HD Quality
Anya is LIVE right now
FREE
Free to watch ⢠No registration required ⢠HD streaming
Guys who make RPG maker 2000 and 2003 game, please, I mean PLEASE modify RPG_RT.ini file for everyoneās convenience in order to not forcing users installing RM2K or 2K3 RTP.
Just add āFullpackageflag=1ā² on RPG_RT.ini files and put some vital files like:
Pictures for title screen on āTitleā folder.
āSystem2cā(Default) file on āSystem2ā² folder.
Pictures for menu on āSystemā folder.
āVehicleā(Default) file on āCharsetā folder.
After setting those vital files, you will be able to execute RPG_RT.exe without installing any RTPs.