#author("2025-08-27T15:23:30+09:00","default:admin","admin") #author("2025-08-27T15:26:35+09:00","default:admin","admin") *''Crafting System Plugin Manual'' [#sa2fc2db] Version 2.0.4 (For Bakin v1.15+) By Jagonz #contents **Introduction [#b318cbf5] This plugin allows you to create craftable items with customizable parameters, giving you full control over your crafting system in RPG Bakin. Key features include: - Automatic generation of a unique ID for each item - Definition of required materials - Support for custom item categories - Customizable price values - Execution of specific events when crafting - Setting required player level for certain items - User-friendly GUI to manage craftable items In-game, craftable items can display: - Icon, name, description, stats, resistances, recovery effects, required materials - Customizable layout (with required tags preserved) - Glossary system for translation ---- **Installation [#y55ca4b7] - Please purchase “RPG_Developer Bakin Crafting System” on the Steam Store. [[''&size(20){Steam Store Crafting System};'':https://store.steampowered.com/app/3921180/RPG_Developer_Bakin_Crafting_System/]] - After Steam installs the plugin, it appears in RPG Bakin under ''Expanded Features''. - Navigate to: ''Functions → Expanded Features → Crafting System''. At first launch, the following will be auto-installed: - Script + common event with crafting logic - Default layouts - Item IDs for craftables Save the project → Installation complete. ---- **Basic configuration [#df1ef895] ***Automatically create default variables [#ad773ef4] - Bottom-right of plugin menu → ''Create vars'' button. - Creates all variables the system may use. - Variables defined in “Bakin Variables” section. #note(warn){{ If you want custom variable names, configure them in ''Bakin Variables'' before pressing this button. Changing names without understanding may break the system. }} ---- ***Creating a Craftable item [#nd7f9529] - Plugin menu → ''Craftable items''. - Left panel bottom: "+" to create new craftable item. ***Adding Materials (Ingredients) [#efdd97ac] - Right panel → ''Materials'' section. -- Click "+" to add -- Select from dropdown -- Set required amount -- Click ''Save'' ---- **In-game usage [#vfcd8be5] ***Item Learning [#k1d41003] - Assign IDs to string variable ''items to learn'' (comma-separated). - Turn ON switch ''execute learn''. Example: Potion(ID:3), Magic Potion(ID:5) → items to learn = "3,5" System processes and registers them as known recipes. ***Opening the crafting UI [#p0611c1b] - Switch ''open crafting'' = ON → UI opens. - Default 1080p layout used. - Switch need not be turned OFF. - See ''Layout section'' for details. ---- *Functions [#gfb76a13] **Main Functions [#h126746f] - Direct Crafting → craft instantly - Disable default categories → hide weapons/armor - Hide unknown items → fully invisible instead of "?????" - Hide normal stats (Legacy) - Hide dynamic stats (Legacy) - Hide resistances - Disable toast msg **Visual Settings [#l8c190aa] - Icon size (pre-2.0.4) - Icon X/Y offset **ID Generation and Update buttons [#u523a940] - Overwrite current IDs (checkbox) - Generate IDs (button) - Layouts (button) - Script (button) **Debug Functions [#bdce2fc4] - Learn all items - Show item IDs - Free items - Advanced logs - Disable layout motions - Disable sound ---- *Glossary [#q4f89f5a] - Customize in-game text of crafting interface - Translate, theme-adapt, rename labels **Default Categories [#ea9cb916] - Items / Weapons / Armor / Everything **Titles [#h159132e] - Unknown item (?????) - Stats title - Materials title - Amount label ($1 replaced by value) - Price label ($1 replaced by price) - Items Held ($1 replaced by number) - HP Recovery / MP Recovery - Required Level ($1 replaced by level) **Static Stats [#x8010b5b] - Rename stat labels (Attack, Defense, HP, etc.) - Toggle visibility with ''Use'' checkbox **Messages [#wc87fc3b] - Item Crafted ($1=item, $2=amount) - Can’t carry more ($1=item, $2=amount) - Inventory full - Fail result ---- *Bakin variables [#e6ff2f6f] #note(warn){{ Do not change unless you fully understand. Incorrect edits may break the system. }} **Main variables [#l8b53a85] - items to learn (string) - execute learn (switch) - execute forget (switch) - custom category (string) - open crafting (switch) - layout to use (string, case-sensitive) - close crafting (switch) - disable craftMsg (switch) - direct craft (switch) **Sound Variables [#tb520d02] - csOpenSound, csCloseSound, csCraftSound, csPageSound, csCategorySound, csDecideSound, csCancelSound, csFailSound **Experimental variables [#lae99593] - craftResult (-1=fail, 0=normal, 1=best quality) - waitForSwitch (pauses until OFF) - commonToWait (event executed before crafting resumes) ---- *Layout section [#a03a24f4] **Layout controls [#zc6384cc] - Up/Down → navigate list - Left/Right → page change - Dash → change category - Action → craft/select amount - Cancel → back/close **How to use a specific layout [#uf7f1fa6] - Set string variable ''layout to use'' = layout name (case-sensitive) - Open with ''open crafting'' switch - Reset on exit **Set layout sounds [#o0b041e7] - csOpenSound, csCloseSound, csCraftSound, etc. - Must match audio resource names in project - Reset on exit **How to create custom layouts [#r3ad0f69] - Copy default as base - Do not delete functional tags - Hide/delete/move UI as needed - Static labels allowed (without $n special char) **Layout-Specific Panels [#gbedf149] - [LayoutName] - stack → stack selection - [LayoutName] - msg → toast message ---- *C# Functions [#r2e0f03a] Attach ''CraftingSystem.cs'' to an event (not multiple common events). - OpenCraftingPanel("layout") - LearnItems("1,2,3") - ForgetItems("4,5") - SetCustomCategories("potions,herbs,food") - ForceClose() - UseDirectCraft(1/0) - DisableToastMsg(1/0) **Debug C# Functions [#lf722676] - LearnEveryItem() - ForgetEveryItem() - GetAllItems(amount) ---- *Craftable Items Interface Breakdown [#qfce497c] **Craftable Item Fields [#h55bb8dc] - ID (auto, don’t modify) - Price (optional) - Category - Event (common event on craft) - Level (requirement) - Color (hex code for name) **Advanced Material Settings [#bef8601a] - Is Variable → check variable ID instead of DB - Is Cast → depends on cast member - Keep Item (2.0.2) → retain material after crafting **Reward list [#pfc5c88e] - Items only - Use tag $money(100) for currency rewards **Advanced item fields (2.0.2) [#m80b7c6d] - Wait for common event (with craftResult) - Do not obtain item **Information variables (2.0.2) [#v8afe5a0] Strings: curCraftID, curCraftName, curCraftPrice, curCraftDescription, curCraftCategory, curCraftAmount Arrays: curCraftMaterials, curCraftMaterialsAmount, curCraftRewards, curCraftRewardsAmount