Crafting System Plugin Manual†
Version 2.0.4 (For Bakin v1.15+)
By Jagonz
Crafting System Manual (2.0.4 PDF English)
Introduction†
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†
- Please purchase “RPG_Developer Bakin Crafting System” on the Steam Store.
Steam Store 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†
Automatically create default variables†
- 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†
- Plugin menu → Craftable items.
- Left panel bottom: "+" to create new craftable item.
Adding Materials (Ingredients)†
- Right panel → Materials section.
- Click "+" to add
- Select from dropdown
- Set required amount
- Click Save
In-game usage†
Item Learning†
- 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†
- Switch open crafting = ON → UI opens.
- Default 1080p layout used.
- Switch need not be turned OFF.
- See Layout section for details.
Functions†
Main Functions†
- 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†
- Icon size (pre-2.0.4)
- Icon X/Y offset
ID Generation and Update buttons†
- Overwrite current IDs (checkbox)
- Generate IDs (button)
- Layouts (button)
- Script (button)
Debug Functions†
- Learn all items
- Show item IDs
- Free items
- Advanced logs
- Disable layout motions
- Disable sound
Glossary†
- Customize in-game text of crafting interface
- Translate, theme-adapt, rename labels
Default Categories†
- Items / Weapons / Armor / Everything
Titles†
- 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†
- Rename stat labels (Attack, Defense, HP, etc.)
- Toggle visibility with Use checkbox
Messages†
- Item Crafted ($1=item, $2=amount)
- Can’t carry more ($1=item, $2=amount)
- Inventory full
- Fail result
Bakin variables†
#note(warn){{
Do not change unless you fully understand. Incorrect edits may break the system.
}}
Main variables†
- 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†
- csOpenSound, csCloseSound, csCraftSound, csPageSound, csCategorySound, csDecideSound, csCancelSound, csFailSound
Experimental variables†
- craftResult (-1=fail, 0=normal, 1=best quality)
- waitForSwitch (pauses until OFF)
- commonToWait (event executed before crafting resumes)
Layout section†
Layout controls†
- Up/Down → navigate list
- Left/Right → page change
- Dash → change category
- Action → craft/select amount
- Cancel → back/close
How to use a specific layout†
- Set string variable layout to use = layout name (case-sensitive)
- Open with open crafting switch
- Reset on exit
Set layout sounds†
- csOpenSound, csCloseSound, csCraftSound, etc.
- Must match audio resource names in project
- Reset on exit
How to create custom layouts†
- 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†
- [LayoutName] - stack → stack selection
- [LayoutName] - msg → toast message
C# Functions†
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†
- LearnEveryItem()
- ForgetEveryItem()
- GetAllItems(amount)
Craftable Items Interface Breakdown†
Craftable Item Fields†
- ID (auto, don’t modify)
- Price (optional)
- Category
- Event (common event on craft)
- Level (requirement)
- Color (hex code for name)
Advanced Material Settings†
- 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†
- Items only
- Use tag $money(100) for currency rewards
Advanced item fields (2.0.2)†
- Wait for common event (with craftResult)
- Do not obtain item
Information variables (2.0.2)†
Strings: curCraftID, curCraftName, curCraftPrice, curCraftDescription, curCraftCategory, curCraftAmount
Arrays: curCraftMaterials, curCraftMaterialsAmount, curCraftRewards, curCraftRewardsAmount