• Доступ к сайту с VPN ограничен. Ваш аккаунт может быть забанен. Access to the site with a VPN is limited. Your account may be banned.

Coin 5.3 BP ‌‌‍‍‎ Update RPG Inventory and Interaction System v1.9.1

**Update 1.9.1 CHANGELOG**


**Player Character:**
- Player is now Interactable to the other Players (in a Multiplayer mode), added Interactable Component, Interactable Interface, Interactable Area, Interaction Widget and Interaction Events Graph. Upon Interaction the Trading Window will pop-up for both of the players.
- Added new Multiplayer Trading Component, this will handle Trading of Items and Gold between the two players in a multiplayer mode.
- The Event Update Equipment Mesh now uses a Soft Reference of a Skeletal Mesh as a parameter. The Mesh is then Loaded Asynchronously.
**Player Controller:**
- The Enhanced Input Mapping Context is now added on Possessed, for multiplayer reasons it requires to be called after Client Add Mapping Context Event.
- Current Interactable is now stored in a variable, handled by Interaction Component Event Dispatchers (On New Interactable Assigned and On Removed Current Interactable).
- Added new PlayerCapture Graph that contains new Blueprint Interface Events to handle communication between the controller and the player capture actor in the level.
- Gamepad Controls are now handled in a separate GamepadControls Component.
- Main Widgets and Tabs are now handled in a separate WidgetManager Component.
- Added new Blueprint Interface BPI_Components Manager, each Component attached to the Controller is now connected inside of appropriate interface getter function.
- Added new Component - StationsManager Component, handles toggling the Crafting Widget, Setting the Current Crafting Station, Crafting major events: i.e. Initializing and Crafting the Item.

**Player Inventory Component:**
- Added new function Modify Item Durability (moved from the Function Library to the Component).
- LootBag Class variable is now a soft Actor reference.
**Inventory Core Component:**
- Added new utility function Add Item with Specified Quantity, this will now handle adding the Item to the Inventory, either to a Stack or to an Empty Slot.
**Interaction Component:**
- Controlled Pawn Reference is now assigned as Ignored actor for both Capsule Traces.
**Consumable Buffs Component:**
- Buffs are now managed by a Stack system, stored in a map variable [BuffClass | BuffRef].
- Added new function Is Buff Already in Stack? currently used inside the Try to Use Consumable From Equipment Slot function.
**Crafting System:**
- Re-arranged Crafting System components - now every Crafting Station Component inherits from the CraftingStation_Abstract Class.
- Added 2 Station Components (derived from the Crafting Station Abstract), named Crafting Station and Upgrading Station.
- Stations Components are now using the Stations Manager Component to handle major multiplayer events, i.e. Initializing and Crafting the Item.
- Crafting and Upgrading Stations can be added to the Interactable Actors, upon interaction requires specifying the Crafting Widget Class to open from the StationsManager.
- Added new Forge Interactable Actors, can be found inside the Interactable/Crafting folder, the functionality can be tested inside the ShowcaseLevel.

**User Interface:**
- The Crafting Widgets are now separated into: ForgeStationWindow, PlayerCraftingWindow, CraftingUpgradingWindow, UpgradingWindow. Each derives from the CraftingWindow Abstract Class.
- Crafting / Upgrading Lists are now automatically populated with Items of specific Category
- Added Crafting Sorting Bar, which adds ability to sort items by Rarity, Type, Subcategory, Value, Weight. Additionally the sorting can be inversed.
- Added Multiplayer Trading widgets under the /UI/MultiplayerTrading folder.
- Player Inventory Widget now uses the BPI Widget Slot Listener events to handle: Focus, Hover, Click, Press, Release Events.
**Items:**
- The BP_MainItem class has been changed to instead of hard references to the assets use soft ones. This will greatly reduce the memory usage as the specific assets will only be loaded in certain situations, i.e. Equipping an Item.
**Optimization:**
- Reduced Texture Sizes for all the included 3D models, Normal Maps are now 512x512, the same goes for Roughness/Metallic textures.
- Reduced project size by half (now around 150MB).
- Drastically reduced MainItem Class memory size to a minimum (around 30kB).
- Project now uses Abstract Classes for certain Actor Blueprints: BaseEquippable, BaseConsumable.
**Misc:**
- Changed the method of Sorting the Items, now it's automatized, no longer need of adding new variables inside the Function Library.
- Function Get Gamepad Icon from function library now outputs a soft reference to an Icon.
- Enhanced Input is now the default input class (from UE5 and up).
- Added new utility macros to the BML_InventoryUtility.
Update 1.8 Unreal 5 CHANGELOG
Supported Engine Versions: 5.0

Fixed:
- Fixed a validation issue that occured upon closing the game while certain widgets was still open
- Fixed a compilation error for Dedicated Server, by moving Cancel Drag Drop node into the InventoryWindow widget
- Fixed an issue that prevented widget tooltip from being properly displayed when game was paused [Gamepad only]
Changed:
- Changed the method of capturing the scene upon saving, now it is done as async task
- Changed the Save Render Target format to decrease the size and possibility to open output image as a basic PNG file
- Changed method of clothing simulation to Chaos Clothing Simulation Factory
Update 1.8 CHANGELOG
Supported Engine Versions: 4.26+

Player Character:
- All of the attached Components and Widget Management logic were moved to the Player Controller.
(Player Character is no longer need to be possessed all the time, this will help when switching between the different pawns, vehicles, etc.)
- 'CanJump' inherited function is no longer overriden, instead function 'Can Jump?' was created and it's being used on Input Action Jump (Pressed)
- Added new Event 'Server Update Equipment Mesh', which sets the currently equipped armor Mesh using 'OnRep' function
Player Controller:
- Now handles all of the logic for: Gamepad, Widget Management, Action Inputs, Object Interaction
- It is now also responsible for Player Capture Events [Initialize, Stat/Stop Capture]
- Added new Blueprint Interface 'Object Interaction', which now handles Initialize Interaction with Object
(Pre-Interaction), Start Interaction with Object, End Interaction with Object and Remove Interaction from Object
HUD:
- Added new Class 'RPGInventory_HUD', which creates itself on Begin Play (default ZOrder = 0)
- It also handles Events for Show/Hide LootBar (which was added to the WB_HUD)
Player Capture:
- Now is not Initialized on Begin Play, instead uses 'Initialize Player Capture' Event called from the Player Controller (On possessed)
- No longer uses Event Dispatchers to Stat/Stop the Capture, instead events are directly called from the Player Controller
- 'T_PlayerCapture' render target resolution has been reduced to 1420x1420
- In order to have Player Capture working in Multiplayer uncheck 'Run under One Process' in the Editor Preferences/Multiplayer Options
Multiplayer:
- System is now Network Replicated, and should be working on both Client as Server and Dedicated Server architecture
- Added special replicated Events and separate Graphs to the: InventoryCore, PlayerInventory, PlayerEquipment, Stats, Leveling, Crafting, Interactable Component
- Saving and Loading is currently not working in Multiplayer
Inventory Function Library:
- Getter functions now need the Target as an Input (Instead Player Controller [0], this change was necessary to make SplitScreen working with the system)
User Interface:
- LootBar Widget is now part of the WB_HUD (you can now easily change the position of it, as well as the initial Mouse Position)
- 'Open Message Widget' is now called by an Interface function 'Display Message Notify' (executed in Player Controller / Widget Management)
Misc:
- Added native support for 'Split-Screen'
- 'BPI_Inventory' is no longer being used, instead calling the functions directly in InventoryCore (Split Items in Inventory, Confirmation Popup Accepted)
- 'Freeze/Unfreeze' Game is no longer used, pausing the game is now up to personal preference
- Interaction no longer ticks every frame, instead it's using a timer with [0.1] sec loop
- Added Crafting Station Enum, instead of using bool 'Is Player near a forge?'. Currently containg only [None|Forge]
- Inventory Failure Messages (Invenotry full, etc.) can now be set individually for each Component
- Save System now correctly retrieves Player Level and Exp on Level Transition
Update 1.7.1 CHANGELOG Supported Engine Versions: 4.25+
- Added: New Loot Pop-up Widgets(Greater Loot displayed with Image and additional text)
- Added: Additional Interaction Trace for First Person
- Added: On Item Looted Event Dispatcher (each time an Item is Picked up this Event will fire giving Item Data as a parameter)
- Improved: Main Widgets Classes can now be changed inside the Player Inventory Component
- Improved: Added 'Try to Transfer Items' function to BP_BaseInteractable as default
- Improved: Inventories now display sample slots in design time
- Improved: Item Data Input in function 'Transfer Item from Inventory' is now assigned as 'Pass by ref'
- Improved: Interaction Text is now Bold and Outlined
- Changed: 'End Interaction' to 'Remove Interaction' Event inside the WB_LootBar/Take Item & Take All Items
- Changed: Removed 'Get UI Background Color' from BFL_Inventory, it will be easier to change the BG color inside individual Widgets
- Changed: Inventory Slots now have 'Slot Index' variable assigned instead of using Data Structure Index
- Changed: Player Character is now responsible for Opening/Closing Pop-up Widgets (like SplitStack, Confirmation Pop-up, TextDocument)
- Fixed: LootBar Slots are now properly capturing on mouse click events
- Fixed: An issue with keeping Focus on LootBar Slots
- Fixed: An issue that prevented player from moving when closing Storage/Vendor widgets
- Fixed: Several Validation Issues encountered on certain Widget Destruct Events
- Fixed: Level Up Pop-up now does not overlap itself when leveling 2 or more times at once
- Fixed: Issues with keeping the Keyboard Focus when Split Stack or other Interactable Pop-up is created








Update 1.7 CHANGELOG Supported Engine Versions: 4.25+ Not yet available! Item Structure: - Due to it's unreliability and issues with modifying the Struct has been reformed. Most of the members was moved to the Object Class Reference. - Members that are being modified at the runtime (like Slot Index) are still part of the Item Data structure - 'BP_MainItem' is now the base object that stores Item Data, all the Items are a child classes of it - Instead of spawning the Object, Data is being retrieved by getting Class defaults - Added new Struct member: 'Value modifier(float)' (to manipulate Item Values, e.g. increasing it in Vendor Inventory) - Added new ItemClass variable: 'Weapon Type(E_WeaponType)' (to support One-Hand, Two-Hand and Off-Hand Weapons) - Renamed 'Weapon Category' to 'Weapon Subtype' - Changed 'Equippable Static Mesh' to 'Equippable Class' (allowing to have Static or Skeletal Weapons and attached Particles) - Changed 'Consumable Action' Struct to 'Consumable Class' (now using Actor Class, providing more customization to the certain Buffs) - Renamed 'ItemClass' to 'Interactable Class' (Items can be spawned in form of Interactable Class instead of LootBag when dropping on the ground)


Components: - Due to having many dependencies 'AC_Inventory' has been split into: - 'AC_InventoryCore', which now handles all of the major Inventory logic. It can now be added to any Actor, and Items can be transferred between two Inventories. - 'AC_PlayerInventory', child of InventoryCore, attached to Player Character. Has more functionality and handle major inputs - 'AC_PlayerEquipment', attached to PlayerCharacter, handles Equipping and Unequipping Item transferred from InventoryCore or it's children - 'AC_Stats', attached to Player Character, handles Player Statistics - 'AC_Saving', attached to Player Character, handles part of Saving and Loading - Added BPI_Inventory to handle logic after accepting Splitting or Confirming - Inventory Transfer function has been simplified, now contains only 2: for transferring Item from other Inventory, and transferring Item from Equipment - Components are now fully comunicating with UI using Event Dispatchers - Interaction and Interactable Objects are now more independent (removed InventoryComponent dependencies) - Renamed 'AC_ActionConsumables' to 'AC_ConsumableBuffs' - Major logic inside AC_ConsumableBuffs was moved to the 'BP_BaseConsumableBuff' Actor Class


Player Character: - Inputs are now assigned to Action Mappings - Now controls freezing / unfreezing the game - Added Widget Management (BPI_WidgetManager - Interface) - Function 'CanJumpInternal' was modified to prevent Jumping when using Gamepad and Interactable Object is valid - PlayerCharacter BP was moved to the 'Blueprints' folder
Player Controller & Gamepad: - Player Controller is now independent (without any references to Components) - Now fully responsible for handling Gamepad Input (Added BPI_GamepadControls Interface) - Fixed issue that caused Item to be clicked if input wasn't released right after opening the widget - Inventory widgets now support scrolling when using a Gamepad
Player Capture: - Removed Consumable Buffs dependencies - Now handles Capturing through event dispatchers - Now can be added in any place in the World
Saving and Loading: - Cross-level Saving/Loading is now possible! - Transition between the Levels is now possible! (Parameters are now stored inside the Game Instance) - Added Slot limit for Save Slots (default: 30) - Added ability to overwrite Save Slot (using specified name) - Added ability to toggle Capture on Saving - Added Manual Save (when Load Game Widget is open)
Interaction: - 'BP_LootBox' has been renamed to 'BP_TreasureChest' - Opening the widgets are now being handled inside Interactable Actors - On Interaction - Removing / Ending the Interaction now causes the Widget to be removed from viewport - Added switch to bypass using the 'LootBar' widget - 'Associated Interactable Actors' Array was changed to a Map (now requires the Target Interactable Value to be specified) - Items logic was removed, now uses InventoryCore Component to handle it


Consumables: - Added Cooldown for Consumables - Added On Used Sound variable for Consumables - Each ConsumableBuff is now child of 'BP_BaseConsumableBuff' (to simplify the logic and allow more customization)


User Interface: - 'ItemsBar' has been renamed to 'LootBar' - 'Inventory' has been renamed to 'InventoryWindow', 'PlayerInventory', 'PlayerInventorySlot' - Added new widget 'WB_InventoryPanelButton' to handle switching between the Inventory Panels - Vendor and Storage has been split into independent widgets - Added new widget 'WB_CraftingListSwitch' to handle switching between the Crafting Lists - Added new widget 'WB_ItemAddedPopup' to show which Item was added to the Inventory after Crafting it

Optimization: - Increased performance in the Editor (preventing any significant hitches from happening, by reducing the Structure size)
Miscellaneous: - Added new function 'Get Rarity Color' inside BFL_Inventory (Rairty Colors can be modified in there) - Dual Wielding, Two-Hand, Off-Hand Weapons are now initially supported - Added Debug Menu Widget (you can now customize Items Durability, Player Level&Exp, Player Stats in there as well as using some default debugging tools and Teleportation) - Loot Randomization logic is now more simplified, Item Class variations can be specified
Сверху