Giter Site home page Giter Site logo

lucoiso / ueelementusinventory Goto Github PK

View Code? Open in Web Editor NEW
79.0 3.0 17.0 203 KB

Unreal Engine plugin that provides a Data-Driven Inventory & Items system.

Home Page: https://forums.unrealengine.com/t/free-elementus-inventory-plugin-data-driven-inventory-system/617474

License: MIT License

C# 1.11% C++ 98.36% C 0.53%
unreal-engine unreal-engine-plugin ue5 unreal unreal-engine-5 unreal-5 plugin

ueelementusinventory's People

Contributors

lucoiso avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ueelementusinventory's Issues

Weight not updating correctly when trading multiple items

In functions GetItemsFrom_Implementation and GiveItemsTo_Implementation, in loop:

Algo::CopyIf(Items, TradeableItems, [this, &OtherInventory](const FElementusItemInfo& Item)

If we give array which exceeds the other inventory max weight, trade still succeeds. I made an simple fix that it updates current weight constantly in loop, so CanGiveItem and CanReceiveItem-methods check weight correctly, but I think it is not the best solution.

Fix Search Items function

Functionality isn't occurring as expected.

Changes:

  1. Rename function to SearchElementusItems
  2. Adjust function comment
  3. Move some editor functions to BP function library
  4. Adapt plugin's code to last changes
  5. Add a way to load item datas via FPrimaryAssetId and/or FPrimaryElementusItemId

Weapon random stats and Item class customization

Hello, I would like to know how I can create weapons with additional random stats.
I have a base object that stores information about the weapon mesh and its effects (very similar to the one you have in the example).
image

But I also want each weapon in the inventory to have 1-2 additional bonuses that are generated when an item spawns in the world (from enemies or from chests). How can I create and store such information in the inventory?
(the value of the stats and what kind of stats are taken randomly from the table)

Also, I customize plugin by my own - change class name and item data (by adding item rarity). If I update plugin to last version all my changes will be missed.
image
image_2023-04-19_13-42-38

It`s possible to create the ability to customize the names of item classes? And Item class name will display as Primary Type

Allow empty slots in inventory

Hello, the problem is described in the picture.
Is it possible to implement the option to resize the Inventory Component Array with empty slots? I don't know if this is a plugin problem or a similar task can be solved already, but I don't understand the functionality of the plugin and how it works to do it

coment

5.3 version missing

Please continue to update this as UE evolves. 5.3.1 is now out. thank you

UE5.1+: Implement the base support for IRIS replication for upcoming updates in the engine

Include headers if IRIS is enabled && if necessary:

#if UE_WITH_IRIS
#include "Iris/ReplicationSystem/ReplicationFragmentUtil.h"
#endif // UE_WITH_IRIS

Register the fragments:

#if UE_WITH_IRIS
void OWNINGCLASS::RegisterReplicationFragments(UE::Net::FFragmentRegistrationContext& Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags)
{
	Super::RegisterReplicationFragments(Context, RegistrationFlags);

	// Build descriptors and allocate PropertyReplicationFragments for this object
	UE::Net::FReplicationFragmentUtil::CreateAndRegisterFragmentsForObject(this, Context, RegistrationFlags);
}
#endif // UE_WITH_IRIS

Add support in .Build.cs:

SetupIrisSupport(Target);

Reference: https://dev.epicgames.com/community/learning/tutorials/Xexv/unreal-engine-experimental-getting-started-with-iris

UE5.1 Feature: UE_INLINE_GENERATED_CPP_BY_NAME

Include the new macro in source files.

// Used to inline generated cpp files from UObject headers
#define UE_INLINE_STRINGIFY(name) #name
#if UE_DISABLE_INLINE_GEN_CPP
	#define UE_INLINE_GENERATED_CPP_BY_NAME(name) UE_INLINE_STRINGIFY(CoreTypes.h)
#else
	#define UE_INLINE_GENERATED_CPP_BY_NAME(name) UE_INLINE_STRINGIFY(name.gen.cpp)
#endif

Error with class types disappering on editor restart.

So i was trying out the plugin today and it was working great. However after a restart of the editor nodes got removed and all my bp broke.
I also redid all the graphing and it was working fine again until another restart of the editor which broke it again. There is a screen of the compiler issues.

This is the error message on restart
The following member variables in blueprint 'WidgetBlueprint /Game/InventoryDemo/Widgets/WB_Inventory_ListItem.WB_Inventory_ListItem' have invalid type. Would you like to remove them?

Item Info

and the compiler errors:

error messages

Refactor the editor tool

The code is currently disorganized.

  • Organize the code structure
  • Adjust the control creations
  • Add a better focus to functional patterns

As it's an editor module with small code pieces, there's no need to focus on POO concepts. I'll organize the code to try improve the readability, modularity and reduce compilation impacts, also trying to find a way to turn better/easier to customize.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.