#author("2024-09-05T20:42:35+09:00","default:admin","admin") #author("2024-09-06T10:52:57+09:00","default:admin","admin") *''What are Plug-ins?'' [#a3a17c8a] Plug-ins are features that extend the functionality of Bakin's tools and engine programmatically using C#. There are two main types of plug-ins: - ''Tool Plug-ins (.dll format)'' - ''Engine Plug-ins (.cs format)'' As of August 2024, only engine plug-ins have been released for the creation environment. **Plug-in Types [#g95890dc] //ここは記載しない可能性があります。 //- Tool plug-ins are used to extend Bakin's editor. //Tool plug-ins are further subdivided into the following three types: //-- ''Data Extension'': Add more optional specifiers to data such as casts and items. //-- ''Class Extension'': Add new data types separate from casts, items, etc. //-- ''Tool Extension'': Add new tools to the editor's main menu or edit menu //(The Sprite Tool included with the main unit uses this mechanism.) //ここは記載しない可能性があります。 - Engine plug-ins are used to extend the operation of the Bakin engine. The engine plug-in currently has the following two types of functions: --''Event Scripts'': Extend the functionality of events by assigning C# programs to them -- ''Battle Plug-ins'': Replace Bakin's battle system with a C# program **How to Use Plug-ins [#f559cc12] - For engine plug-ins, create the folder specified in the description below directly under the project folder you are editing and store plug-ins in it. -- ''Event Scripts'' ---First create a 'script' folder and add the .cs file to it. ---After launching Bakin, click the arrow in the "C# Program Assignment" field on the lower left of the event sheet. ---Select the script you wish to assign from the list that opens. #ref(./EventEditor_UsePlugin.png,50%) ---Plug-ins with multiple methods can use the event panel to specify which method to apply. See [[Control]] for the "Call C# Program" panel. ---''Notes'' cs files can also be stored in subfolders. Note that the dll file must be placed directly under the script. -- ''Battle Plug-ins'' ---Create a 'battlescript' folder and add a set of .cs files to it. ---It is applied automatically when the project is launched, and no tool operation is required. //ここは記載しない可能性があります。 //- The tool plugin (currently not yet created environment) adds a DLL file to the 'plugins' folder of the Bakin installed destination. //Then, new entries will be added to the Database or Main Menu. //ここは記載しない可能性があります。 *** Delete Plug-ins [#rdb1a566] //ここは記載しない可能性があります。 //- For tool plug-ins, remove the dll file from the 'plugins' folder. //ここは記載しない可能性があります。 - ''Event Scripts'': Delete the .cs file you wish to remove from the 'script' folder. - ''Battle Plug-ins'': Delete the entire 'battlescript' folder. You can also use "Remove Battle-Related Scripts from Game File" in the Map Editor's top menu > Functions > Expanded Features. **How to Create Plug-ins [#hf249d00] ''&color(red){(!)Bakin updates may affect the operation of plug-ins created in the past. Please check the differences each time an update occurs.};'' - ''Event Scripts'' After launching Bakin, click the arrow in the "C# Program Assignment" field on the lower left of the event sheet. Press the "Create New" button at the top to start the editor (the editor associated with .cs). #ref(./EventEditor_Plugin.png,50%) --It is recommended that Visual Studio (Community version is acceptable) be installed with C# development ready. --You can also use other editors to create .cs files and put them in the 'script' folder without going through Bakin. - ''Battle Plug-Ins'' Execute "Copy Battle-Related Scripts to Game File" in the Map Editor's top menu > Functions > Expanded Features. See [[Map Editor Overview]] for more information on this feature. When executed, a 'battlescript' folder will be created in the project folder currently being edited, and a battle plug-in template (the same as the default battle process) will be created in that folder. Edit the created file with your editor. //ここは記載しません。 //- Tool Plug-ins //You will find various tool plug-in templates (zip files) in the "SDK" folder of your Bakin installed destination. //Unzip the Zip file and edit it with your editor. //Open the .sln file in Visual Studio 2019 (install C# desktop development). //References to SharpKmyCore, Common, Yukar Editor, Yukar Engine, SBControl, etc. will have their paths broken, so delete them and reconnect the references from the Bakin installed destination folder. //Now all that is left is to build for x64 and the tool plug-in (.dll) is ready. //ここは記載しません。 - ''Metadata Settings'' -- No metadata in event scripts. -- For battle plug-ins, replace // @@version xx.xx.xx.xx.xx at the beginning of BattlePluginDef.cs with the corresponding Bakin version. //ここは記載しません。 //-- For tool plug-ins, edit PluginDef.cs to change the plug-in name, icon, description, etc. that appear in the editor's Version information. //ここは記載しません。 - ''Plug-in Help'' If you distribute plug-ins and need to explain the contents, please create and include a readme.txt file. - ''Plug-in Settings'' There is currently no ability to specify plug-in preferences. ***Key Points When Creating Plug-ins [#fbdaae55] - ''Link Any DLL'' By making the following statement at the beginning of a C# program, you can link and use any DLL file in the script folder. Please refer to "Introduce Steam "Achievements" into the Game" in [[Plug-in Samples]]. // @@link xxx.dll - ''Import Another cs File'' You can import another cs file by making the following statement: // @@include xxx.cs Please use this option when a large process is divided into multiple cs files. Refer to the battle plug-ins in "Battle Plug-In Samples". By inserting the above description into BattlePluginDef.cs in various places and incorporating the processing of branches and leaves, all battle processing is made the target of the build. - ''Resources Referenced Only from Plug-ins'' If you have a resource that is referenced only from a plug-in, you must specify that resource as the target for export. To specify, right-click on the resource you wish to export in the tree of entries in the “Resources” menu, and then select “Be Sure to Include in Published Work Export”. **Plug-in Distribution [#gb975bfd] - ''Event Scripts'': Distribute the created cs files in any way you wish. - ''Battle Plug-ins'': Zip the entire 'battlescript' folder and distribute it in any way you wish. //ここは記載しません。 //- For tool plug-ins: Distribute the dll file in any way you wish. //ここは記載しません。 ***Distribution as .csrbr Files [#m0d8bccc] Compressing the event script .cs files and related files into a Zip file and rewriting the extension to .csrbr will make distribution and importing into Bakin easier. -They can distribute through the [[Steam Workshop]]. -In the event sheet "C# Program Assignment", click the Add button to select the .csrbr file. Once added, the .csrbr file will be automatically decompressed and extracted. ---Battle plug-ins cannot be distributed in .csrbr format. **Plug-in Reference [#df2f4fe2] References to currently available classes can be found at the following URL. RPG Developer Bakin Plug-in Reference:https://rpgbakin.com/csreference/ As of September 2023, the classes used in the creation of event scripts and battle plug-ins are available to the public. **Plug-in Samples [#a9104cdd] See [[Plug-in Samples]] for sample codes of the plug-ins. Explanations of the sample codes published on the Steam Workshop are available.