MarkusBordihn / BOs-Easy-NPC

Create easily NPC for your world or for your mod.
Other
15 stars 5 forks source link

[Feature Request] Dialog Memory? #82

Open tonicheddar opened 4 months ago

tonicheddar commented 4 months ago

Hi, I'm making a server with a friend and I was wondering if there is Dialog Memory, if it's planned, or if it would be ok to do a feature request for it. I think it's essential to have Dialog memory so that a proper story can be told with the NPC.

For example, I'm trying to do an easter egg quest with the character of Morgana from Persona 5. I'm trying to make it where players go get him food but it just restarts the Dialog from the beginning every time I exit which if we're doing a proper questline would be very immersion-breaking.

So if this isn't implemented please consider doing so and if it is, please point me in the right direction of how to do it

ajioe1111 commented 4 months ago

I fully support this idea. I would like to have the ability to add conditions. This will enable the creation of entire quest lines. For instance, for a player to interact with NPC-2, they must first speak with NPC-1 and have a record of this interaction stored somewhere. I am also currently working on a large RPG server, and there simply isn't the capability to create comprehensive quest branches using NPCs.

MarkusBordihn commented 4 months ago

The main question in this case is, to focus on an existing solution and their integration like FTB Quest, ... or if you really want some custom light way features with limited functionality.

I will not be able to offer / reproduce the same functionality like a full feature set quest mod. However I will be able to offer a limited base set, like dialog dependency or other simple features.

ajioe1111 commented 4 months ago

Creating a full-fledged quest system is unnecessary. It's sufficient to implement something akin to variables with values. For example, if a player talks to NPC-1, we could record a conditional variable like DialogNPC1 = True. Then, when the player approaches NPC-2, we could unlock a dialogue branch for them if we check this variable; otherwise, the dialogue remains hidden. We can also check the scoreboard to see if it's assigned and, if so, its value. Usage example: A quest to kill hypothetical bandits is created, and a scoreboard is added for the player with a counter, where the death of a bandit would increment this counter. Additionally, the ability to work with FTB quests would also be useful.

MarkusBordihn commented 4 months ago

Thanks for the detailed feedback. I like the idea with the player based variables.

I will start with boolean (true and false) and numbers (-2,147,483,648 to 2,147,483,647) together simple operators like "equals", "unequal", "greater", "lower".