Difference between revisions of "Luna Engine MV (Visustella)"

From Yanfly.moe Wiki
Jump to navigation Jump to search
(Using Luna Engine)
(Yanfly Battle Engine Core Note:)
(23 intermediate revisions by 2 users not shown)
Line 5: Line 5:
  
 
Luna Engine MV is a tool created for RPG Maker MV (RPGツクールMV) to give you the freedom to manipulate RPG Maker MV's default GUIs and modify them according to your own vision! Luna Engine can also be useful for seasoned programmers, providing a solid core base you can build up on.
 
Luna Engine MV is a tool created for RPG Maker MV (RPGツクールMV) to give you the freedom to manipulate RPG Maker MV's default GUIs and modify them according to your own vision! Luna Engine can also be useful for seasoned programmers, providing a solid core base you can build up on.
 
  
 
'''The engine is only compatible with RMMV 1.6.1 and above!'''
 
'''The engine is only compatible with RMMV 1.6.1 and above!'''
Line 59: Line 58:
 
* Open your project in RPG Maker, go to Plugin Manager and add Luna Engine to the plugin list. It must be below all the other scripts like this:
 
* Open your project in RPG Maker, go to Plugin Manager and add Luna Engine to the plugin list. It must be below all the other scripts like this:
 
  <html><a href="https://imgur.com/3UIR6PQ"><img src="https://i.imgur.com/3UIR6PQ.png" title="source: imgur.com" /></a></html>
 
  <html><a href="https://imgur.com/3UIR6PQ"><img src="https://i.imgur.com/3UIR6PQ.png" title="source: imgur.com" /></a></html>
 +
 +
====Yanfly Battle Engine Core Note:====
 +
If you are using Yanfly's Battle Engine core, you must use a pre-existing template (eg. Sideview Template) SceneBattle.yml. Otherwise, it will throw an offset error. We apologize for the inconvenience.
  
 
== Getting Started ==
 
== Getting Started ==
Line 71: Line 73:
 
These files are where all configuration and customization of Luna happens.  
 
These files are where all configuration and customization of Luna happens.  
  
If Luna is installed correctly, any changes made to these files should be reflected both test plays and published versions of the project. To refresh the playtest to see these changes in action, simply press F12 to restart the game. It’s not necessary to reopen the playtest like with plugin changes. It’s highly recommended to save often and to test newly changed or implemented configurations to ensure that no unintended errors have appeared and to narrow down ones that have appeared quickly.
+
If Luna is installed correctly, any changes made to these files should be reflected both test plays and published versions of the project. To refresh the playtest to see these changes in action, simply press F5 to restart the game. It’s not necessary to reopen the playtest like with plugin changes. It’s highly recommended to save often and to test newly changed or implemented configurations to ensure that no unintended errors have appeared and to narrow down ones that have appeared quickly.
  
=== Understanding YAML (.yml) Files ===
+
== Using Luna Engine ==
Due to the nature of yaml files, format and indentation of lines is highly important for Luna to understand what is being customized. As a result, many errors can be caused by mistakes in syntax.
+
Now that you have gotten a copy of all the configuration files, you can now start customizing your UI! However, it's important to know what you need to customize. Please refer to these individual pages to get started:
  
====Indentation====
+
==='''[[Individual Scene Window Guide]]'''===
As a rule, all indented lines under an un-indented line are “nested” and properties of the un-indented line. As lines can be nested under already nested lines, it becomes very easy to see the configuration as done in tiers.
+
A breakdown of RPG Maker's UI components. Go to this page, [[Individual Scene Window Guide]], to read the full details.
<html><a href="https://imgur.com/DHMSq90"><img src="https://i.imgur.com/DHMSq90.png" title="source: imgur.com" /></a></html>
 
'''Nesting Visualized'''
 
As everything under “components” is more indented than components, it is considered to be nested under it in the blue box.  
 
  
The purple box outlines what’s considered to be nested under “Background”. However, as “x” and “type” are on the same level of indentation, they both form their individual red boxes.
+
==='''[[Luna Engine Configuration Guide]]'''===
As “type: Background” doesn’t have a line directly under it that is more indented, nothing is nested under it.  “X” on the other hand has “type: percentage” is more indented than “x”, thus meaning it is nested under “x”.
+
A guide on how to use Luna Engine to customize your game. Go to this page, [[Luna Engine Configuration Guide]], to read the full details.
  
====Syntax====
+
==='''[[Luna Engine Limitations]]'''===
As yaml is technically a coding language, it is extremely picky with syntax. Something as simple as wrong capitalization or missing/extra spaces will cause errors. Usually, your Text IDE will suggest the correct term/word with the correct capitalization, but it is still important to take note of the following syntax rules.
+
A quick rundown of what you can't do with Luna Engine. Go to this page, [[Luna Engine Limitations]], to read the full details.
  
* ''' Lines must be separated properly:'''
+
===Video Tutorials===
Both nested and un-nested lines must have their own individual line. Accidentally crowding into the above line will cause errors. Empty lines are allowed and recommended for help with organization.
+
====Official Tutorial Videos====
<html><a href="https://imgur.com/TCsBWuT"><img src="https://i.imgur.com/TCsBWuT.png" title="source: imgur.com" /></a></html>
+
Still under construction
  
* ''' The format must be:'''
+
====User-Submitted Tutorials Playlist====
<nowiki><parameter>: <string>          OR            - <component name></nowiki>
+
<youtube>https://www.youtube.com/watch?v=VKmbALAPKvc&list=PL6B-NUiAPjKldTGToPqSy_VMvWTKdan2X</youtube>
There must be a space between “:” and <string>.  No more, no less. The text should display in the correct colours if the syntax is correct.
 
<html><a href="https://imgur.com/Mr8xdGN"><img src="https://i.imgur.com/Mr8xdGN.png" title="source: imgur.com" /></a></html>
 
For component lists, there must be a space between “-” and <component name>. It will not display the wrong colour if incorrect, but will produce an error when run.
 
  
* ''' Names used must be consistent across all instances referring to the same thing: '''
+
==Frequently Asked Questions==
This includes capitalization, spacing, spelling, etc. They must be completely the same when referring to the same window/object/item, otherwise Luna give an error stating that the referenced object is undefined.
 
<html><a href="https://imgur.com/KNMQo1G"><img src="https://i.imgur.com/KNMQo1G.png" title="source: imgur.com" /></a></html>
 
 
 
== Using Luna Engine ==
 
Now that you have gotten a copy of all the configuration files, you can now start customizing your UI! However, it's important to know what you need to customize. Please refer to these individual pages to get started:
 
  
* '''[[Individual Scene Window Guide]]'''
+
====Can this make new menus from scratch?====
* '''[[Luna Engine Configuration Guide]]'''
+
* No, it can't. It only edits preexisting windows. That means, you can find a script that has something you need and modify it with Luna Engine when necessary.
* '''[[Luna Engine Limitations]]'''
 
* '''[[Frequently Asked Questions]]'''
 
  
===Generate a List of all Window Names===
+
====Can this remove menus?====
We added a way to show all window names in current scene by using any of the console commands. This is helpful when you are using custom scripts that add new functionality to UI, such as Yanfly Status Core, and still be able to modify them using Luna Engine.
+
* No, it can't. Removing whole windows is just not possible without touching the base code. Our recommendation is just to move the undesired window off-screen. This is standard practice for RPG Maker coding.
<nowiki>Luna.getWindowList();
 
SceneManager.getWindowList();</nowiki>
 
  
===Common Terms===
+
====I am getting a SafeLoad undefined error!====
This is a list of common terms you will find throughout all the configurations.
+
* Make sure to properly follow the instructions in the installation section. This means that YAML js is missing and is not set properly in your index.html
  
{| class="wikitable"
+
====My image won't show up the first time unless I reopen the menu or something similar====
!colspan="1"|KEY
+
* This is an MV preloading issue. Either have a preloader like [[Core Updates and Desktop Optimization (YEP)]], [//kaliya.itch.io/preload-everything Aetherflow Preloader], [//forums.rpgmakerweb.com/index.php?threads/ysp_preloader.83757/ YSP_Preloader], or use the Luna Engine snippet Disable Async. There are a lot of preloading plugins out there that will suit your needs.
!colspan="2"|DESCRIPTION
 
|-
 
|components
 
|colspan="2"|A map of components and windows in the scene. The key is the window class name. Default windows (windows that are defined by RMMV) will have a more friendly name defined by LunaEngine. For the config of each component, see Component table.
 
  
It is important to remember that Components are only shown once and are not updated every instance.
+
====Are you planning to do Video Tutorials?====
|-
+
* It’s something we are considering.
|layouts
 
|colspan="2"|A map of layouts in the scene. MainLayout is required as it is the scene itself. The name of layout can be anything. See Layout table for more information.
 
|-
 
|events
 
|colspan="2"|A conditional that triggers something to happen. Exclusively used for common UI animations such as transition in, transition out, on option select, and other similar effects.
 
|-
 
|lunatic
 
|colspan="2"|Lunatic mode for each component. The key name will be the key name of component/window you want to activate lunatic mode.  
 
  
Lunatic is always updated for every instance.
+
[[Category:RPG Maker MV Core Plugins]]
|-
+
[[Category:RPG Maker MV Battle Plugins]]
|lunatic item
+
[[Category:RPG Maker MV Item Plugins]]
|colspan="2"|A special type of component that is rendered for every entry in a list of data. Examples include things such as per party member during battle screens/status screens, per skill on skill screen, per item on the item screen, per command on a menu, etc.
+
[[Category:RPG Maker MV Skill Plugins]]
|-
+
[[Category:RPG Maker MV Equip  Plugins]]
|type
+
[[Category:RPG Maker MV Status Menu Plugins]]
|colspan="2"|Defines what type of asset is rendered or how it is rendered. Examples for type of asset include: image, text, grid. Examples for styles of rendering include: horizontal, vertical, freestyle, fixed. Scenes/screens are also defined by type. In this case, the type will be scene, this to make sure LunaEngine knows this config is a scene config.
+
[[Category:RPG Maker MV Gameplay Plugins]]
|-
+
[[Category:RPG Maker MV Options Plugins]]
|version
+
[[Category:RPG Maker MV Utility Plugins]]
|colspan="2"|This is a marker to see what version or iteration your current configuration is. This is helpful to keep track of your changes and what version has a previous feature you might’ve removed and what returned and so forth.
+
[[Category:RPG Maker MV Visual Plugins]]
|}
+
[[Category:RPG Maker MV Menu Plugins]]
 +
[[Category:RPG Maker MV Quality of Life Plugins]]
 +
[[Category:Visustella]]

Revision as of 08:16, 19 September 2019

Welcome to the wiki! This is where you can find resources from Yanfly.moe, Ækashics.moe,
VisuStella, Caz Wolf, Fallen Angel Olivia, Atelier Irina, and other affiliated content creators.



Download

System

This is a plugin created for RPG Maker MV.

For help on how to install plugins, click here.

For help on how to update plugins, click here.

Got errors with your RPG Maker MV plugin? Click here.


Masterarbeit Writer

What is Luna Engine?

Luna Engine MV is a tool created for RPG Maker MV (RPGツクールMV) to give you the freedom to manipulate RPG Maker MV's default GUIs and modify them according to your own vision! Luna Engine can also be useful for seasoned programmers, providing a solid core base you can build up on.

The engine is only compatible with RMMV 1.6.1 and above!

The Luna Engine utilizes new features from the latest NWJS that came with the latest RMMV update. This includes ES6 syntax. We cannot guarantee that scripts under 1.5.x will work properly.

Installation Instructions

It is important to remember that Luna Engine only works on RPG Maker MV 1.6.1 and latest versions. It will not work with older versions of RPG Maker. This is because Luna Engine is using ES6 functions which requires the latest Nodejs version.

Before you Start

Install a Text IDE. This is required to prevent any errors on the user side as Text IDEs highlight important syntax. More importantly, it gives you a visual cue in regards to spacing. YAML files are sensitive to spacing (similar to Python) so this is a necessity. Here are some recommended free IDEs you can download right now!

  • Notepad++ (https://notepad-plus-plus.org/)
    • A free source code editor and Notepad replacement that supports several languages. It is a lot more involved and it’s not easy to install extensions unlike VSCode or Atom.

Starting from Scratch

If you don’t have a project yet, just simply copy the Luna Engine Base Folder and rename it to whatever you’d like. This will be your main project folder and doesn’t require any additional set up.

Adding to an existing Project

If you have an existing project then you will need to do the following:

  • Open your index.html with a Text IDE and add the following just below the lz-string.js entry. When in doubt, check the Luna Engine Base’s index.html to be safe.
<script type="text/javascript" src="js/libs/js-yaml.min.js"></script>
<script type="text/javascript" src="js/libs/tween.js"></script>
  • Copy the following files from the Luna Engine Base’s js/libs folder to your project’s js/libs folder.
Js-yaml-master folder
Js-yaml.min.js
Tween.js
  • Copy the following files from the Luna Engine Base’s js/plugins folder to your project’s js/plugins folder.
LunaEngine.js
LunaEngine.js.map
  • Copy the luna folder from the Luna Engine Base folder to your project’s root folder. It should look something like this.

  • Open your project in RPG Maker, go to Plugin Manager and add Luna Engine to the plugin list. It must be below all the other scripts like this:

Yanfly Battle Engine Core Note:

If you are using Yanfly's Battle Engine core, you must use a pre-existing template (eg. Sideview Template) SceneBattle.yml. Otherwise, it will throw an offset error. We apologize for the inconvenience.

Getting Started

All customization in Luna is done through yaml files (file extension: .yml) stored in the project’s main folder under a folder labeled “luna”.


Opening the folder will yield all the yaml files and should look something like below:


These files are where all configuration and customization of Luna happens.

If Luna is installed correctly, any changes made to these files should be reflected both test plays and published versions of the project. To refresh the playtest to see these changes in action, simply press F5 to restart the game. It’s not necessary to reopen the playtest like with plugin changes. It’s highly recommended to save often and to test newly changed or implemented configurations to ensure that no unintended errors have appeared and to narrow down ones that have appeared quickly.

Using Luna Engine

Now that you have gotten a copy of all the configuration files, you can now start customizing your UI! However, it's important to know what you need to customize. Please refer to these individual pages to get started:

Individual Scene Window Guide

A breakdown of RPG Maker's UI components. Go to this page, Individual Scene Window Guide, to read the full details.

Luna Engine Configuration Guide

A guide on how to use Luna Engine to customize your game. Go to this page, Luna Engine Configuration Guide, to read the full details.

Luna Engine Limitations

A quick rundown of what you can't do with Luna Engine. Go to this page, Luna Engine Limitations, to read the full details.

Video Tutorials

Official Tutorial Videos

Still under construction

User-Submitted Tutorials Playlist

Frequently Asked Questions

Can this make new menus from scratch?

  • No, it can't. It only edits preexisting windows. That means, you can find a script that has something you need and modify it with Luna Engine when necessary.

Can this remove menus?

  • No, it can't. Removing whole windows is just not possible without touching the base code. Our recommendation is just to move the undesired window off-screen. This is standard practice for RPG Maker coding.

I am getting a SafeLoad undefined error!

  • Make sure to properly follow the instructions in the installation section. This means that YAML js is missing and is not set properly in your index.html

My image won't show up the first time unless I reopen the menu or something similar

Are you planning to do Video Tutorials?

  • It’s something we are considering.