Javascript-Powered Notes - No more messy note fields + Extra features possible!
NoteFieldsFromJS.js - v1.2Introduction
If you're using Yanfly plugins or many other popular plugins that let you define complex behaviors through Note tags, you're probably aware that it's a bit of a mess, especially if you're embedding Javascript code in your note through Yanfly's Lunatic Mode and so on. Really this is an abuse of the note field - it was never designed for this much text, and the only way to manage it is to write everything in a separate text editor and copy and paste it into the field, which is annoying if you want to make changes.
This is meant to be used with plugins that allow complicated features to be coded up in note fields, and though a basic knowledge of Javascript will be useful for understanding how this works and coding your own special features, I've set things up so you technically can get by with no Javascript knowledge.
Features
This script provides two notetags to use:
<JSNote:functionName> (where functionName is the name of a Javascript function that returns your note text)
<JSNoteParams:param1,param2> (where param1,...paramN is a comma-separated list of parameters to pass to the function. Commas can be escaped with \, (backslash-comma).
Because now you are running Javascript to retrieve your note field, you can use all its power to add more dynamic features to your game. You could store some properties in a settings file and read it through Javascript, make certain behaviors change based on whether you start the game when the system clock says it's day or night, and so on. The sky's the limit if you're proficient in Javascript (or copy and pasting
data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 ). Of course, basically no knowledge is required to achieve the easiest feature of letting you edit and store complicated note fields.
Screenshots
I've referenced Yanfly's tutorial on Adapting Armorhere as an example of how this cleans up complicated note fields.
Spoiler: Screenshots
How to Use
Put NoteFieldsFromJs.js into your plugin folder and enable it. If you have any plugins that modify how the database loads its data, place this plugin below those. It should be fully compatible. Once enabled, use the tags referenced above as needed.
You can organize your functions however you like, but in case you're hesitant due tolittle or no coding knowledge that's fine too - I've included a template called NoteFields.js, a template plugin that can serve as a place to put all your note field functions. Follow the examples inside that plugin to create your own functions easily.
Changelog
Code:
v1.2
===
- Re-include NoteFields.js template plugin
- Include more detailed documentation on how to use the NoteFields.js template plugin
v1.1
===
- Change notetag parsing logic so you can now reference info from values from the $data* objects like $dataArmors, etc.
- Compatability patch for Eli'sFindNameById (Database Organizer)
- Compatability patch for Yanfly's Doodads
v1.0
===
Initial release
Terms of Use: You are free to use this code in any project you like, including commercial projects. You may also modify or distribute this code with only the following restriction: Leave my name attached somewhere to the code, be it in the plugin author field or attribution added in the code itself.
本贴来自国际rpgmaker官方论坛作者:ItsMeJohnC处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/javascript-powered-notes-no-more-messy-note-fields-extra-features-possible.123878/
页:
[1]