Notifications
Clear all

[Sticky] Support – Modern Survival Horror Framework

613 Posts
40 Users
214 Reactions
24.3 K Views
criss1818
(@criss1818)
Patreon Supporter
Joined: 3 months ago
Posts: 34
 

@farshad thanks it works! Yes I was using an asset healthbar pack and I also Tried passing the values on both function,now with the unreal one it works! Maybe I will customize directly from there.

Just a last question about the stamina,where I need to put the function that reduce my stamina and fill it when player is not attacking? I cant find the close weapons handled graph insider the metahuman blueprint.

Edit: where I can create the stamina variable as component so I can also do the same for a second progress bar about it? 

I have found E_Component and added the stamina,now I need to create a new component blueprint class and create the stamina and max stamina from there? Can I also use the gethealth and sethealth or setmaxhealth functions from the AC_health? Of course I also need to create a function that it reduces it but directly inside the metahuman graph?


This post was modified 2 weeks ago 5 times by criss1818

   
ReplyQuote
B56c20ecf128d61ecd421d8ec6f1cb89ec05628f36d095ae26b8faa41a84594d?s=80&d=mm&r=g
(@iamry4ndee)
Active Member
Joined: 4 weeks ago
Posts: 14
 

@farshad Hi! I hope it’s not too early to ask, but will the v0.5 update include any major changes to the Character BP or ABP? I’m planning to add a few custom Motion Matching States and other major integrations to my character, so I wanted to check before I start making extensive changes.

Is the v0.5 update mainly focused on the widgets/settings menu and other separate Blueprints that can be swapped over into an existing project without affecting the Character BP/ABP? 

Just want to make sure I can safely move forward with my character modifications without having to redo a lot of work once v0.5 is released. Thanks!



   
ReplyQuote
6f43f0156e2e3cbee8213015e3458701
(@fabio)
Active Member
Joined: 1 month ago
Posts: 12
 

Hello @farshad,

Please forgive my lack of knowledge. I've been using Unreal Engine for about three years, but I'm still learning, and I'm not very good at programming yet. Could you help me with a question?

I'd like to know how I can change the Zombie's Blend Space. For example, I have a creature, but I need to change its Blend Space.

I'd also like to create a quadruped monster, but I'm not sure what the best way to do this would be.

I would like to use the Zombie's AI as a base for creating my own monsters and zombies. I'm currently using the Monster AI Kit, but I want to build everything directly within the project and focus mainly on the models themselves.

What would be the best way to approach this?

Thank you!



   
ReplyQuote
Farshad
(@farshad)
DEVELOPER Admin
Joined: 7 months ago
Posts: 395
Topic starter  

@criss1818 For stamina, if you only need a single stamina value, you can simply write it directly inside the AC_Combat. But having a separate component for it is also completely fine.

You’ll need to create two Float variables, one for Stamina and one for Max Stamina, and implement the system using the same technique as the Health system.

For the stamina cost, you can call the stamina function you create in the Melee Attack section, right after the Play Montage function.


This post was modified 5 days ago by Farshad

   
ReplyQuote
Farshad
(@farshad)
DEVELOPER Admin
Joined: 7 months ago
Posts: 395
Topic starter  

@iamry4ndee Hey! Not at all; it is a good question.

There will be some minor changes and polish to the Character BP, mainly to improve and refine some of its existing functionality. The AnimBP will also receive some minor changes, mainly related to the system for holding the flashlight in the left hand.

Other than that, most of the changes in v0.5 will be related to the widgets, UI, and some of the BP actors.

So overall, there shouldn’t be any major changes to the Character BP or ABP.

That said, when a new version is released, our recommended approach is to download a fresh copy of the new version and then manually transfer your own custom changes and integrations into the updated version. This is generally the safest way to make sure you’re working with the latest version while keeping your custom work.



   
iamry4ndee reacted
ReplyQuote
Farshad
(@farshad)
DEVELOPER Admin
Joined: 7 months ago
Posts: 395
Topic starter  

@fabio Hey, thank you for your question. We all learn these things along the way, and I’m happy to help.

For the Blend Space, you don’t necessarily need to modify the Zombie’s existing Blend Space directly. For a new creature, I would recommend creating a Blend Space that matches its own skeleton and animations, and then setting it up in its Animation Blueprint. The existing Zombie can be used as a simple reference for how the movement system is structured.

For humanoid monsters, for example, you can create a 1D Blend Space similar to the one used by the existing Zombie and then follow the structure and logic of BP_AIZombie for your own monster. Of course, you can then add different behaviors and unique features depending on what makes each monster different.

We also tried to keep most of the AI behavior logic inside AC_AIBehavior. For example, you can create a child of BP_AIMaster and, by studying how this component works, extend and improve it for your own monsters and create new behaviors on top of the existing system.

We also have plans to add a second and third enemy to the framework in the future, and they will also be built as children of BP_AIMaster. So I think once those enemies are added, this approach and the way the system can be extended for different types of enemies will become much clearer.

For a quadruped monster, if you have animations covering movement in different directions, you can use a 2D Blend Space and build the movement system around it. You can then create unique behaviors specifically for that creature as well.

Hopefully, this gives you a good direction for how to approach creating your own monsters using the framework as a starting point.



   
ReplyQuote
6f43f0156e2e3cbee8213015e3458701
(@fabio)
Active Member
Joined: 1 month ago
Posts: 12
 

@farshad Thank you very much for the detailed explanation! This helped me understand much better how I should approach creating my own monsters.

I understand now that I should create a new Blend Space according to each creature's skeleton and animations, instead of trying to modify the existing Zombie Blend Space. I'll also use BP_AIZombie as a reference for humanoid monsters and study BP_AIMaster and AC_AIBehavior to understand how I can extend the AI system and create new behaviors.

For the quadruped monster, I'll try using a 2D Blend Space with the directional movement animations and build its movement system around it.

I have one more question. I understand how the AI movement and behavior system works now, but I'm still not sure where the logic for receiving damage is located.

For example, when the player shoots the Zombie, where is the logic that handles the enemy receiving damage, reacting to the hit, and applying the damage to its health?

Is this logic inside BP_AIMaster, AC_AIBehavior, or another Blueprint/component?

I also have some enemies of my own that I would like to use in this project. Which logic should I use to make these enemies receive and take damage correctly?

I would like to understand this part so I can make my own monsters react correctly when they are shot or attacked.

Could you point me to where this logic is located and explain what I should study or modify?



   
ReplyQuote
Farshad
(@farshad)
DEVELOPER Admin
Joined: 7 months ago
Posts: 395
Topic starter  

@fabio You are very welcome. I am glad it was helpful.

The damage receiving system is located in AC_AIBehavior and the custom ReceiveDamage event, so you can follow the damage flow from there.

If you plan to make your enemies children of BP_AIMaster, no special setup is required, and the damage system will automatically be applied to its child classes as well.

However, if you have a separate/custom class, you can use the implementation in BP_AIMaster as a reference. There, Event AnyDamage leads to the ReceiveDamage function, where the damage is received, and the rest of the related logic is handled. You can implement a similar setup in your new class and define how the enemy should react to the damage.

There is also dedicated logic implemented in BP_AIMaster to react to damage based on the bones that were hit. If you create your enemies as children of this class, you can take advantage of this functionality as well.


This post was modified 4 days ago by Farshad

   
Fabio reacted
ReplyQuote
6f43f0156e2e3cbee8213015e3458701
(@fabio)
Active Member
Joined: 1 month ago
Posts: 12
 

@farshad

Thank you for the explanation! I understand that if my enemy is a child of BP_AIMaster, the damage system will work automatically.

However, I have some enemies with a different/custom class that I would like to use with the framework. I'm still not sure how I should implement the damage system in this case.

Could you explain the exact steps I need to follow to make my custom enemy receive damage from the player's weapons?

Should I create an AnyDamage event in my custom enemy and then call ReceiveDamage from AC_AIBehavior? Or is there another component or function that I need to add or connect?

I would also like to use the hit reaction and bone-based damage logic from BP_AIMaster if possible. How could I implement or connect that system to my custom enemy?

If you could show me which parts of BP_AIMaster I need to replicate or reference in my custom class, that would help me a lot.

Thank you again for your patience and for helping me understand the framework!



   
ReplyQuote
criss1818
(@criss1818)
Patreon Supporter
Joined: 3 months ago
Posts: 34
 

@farshad Hello! It's possible to change the camera movement between the walk and running movement? Also,I have done a question on the 4th august,maybe you didn't saw it since the support was not possible on 5//10th august,it's mostly on how I can create another component (already added in E_components and on the player) but was wondering,where I need to add a function that reduce my stamina when I do a close attack on the bp? Of course it also check how Much stamina I have.

For the qte system,only the gamepad seems to work,I also tried to change it at the minimun pressed but Nothing,it seems like the Left mouse button doesent work inside the qte. 

I also saw the new flashlight system,looks really good! I will also try to add a lantern if will be possible,looking forward for 0.5 as always!


This post was modified 4 days ago 2 times by criss1818

   
ReplyQuote
Ede9c9e085744d5f1aad99aec885abeb4f29bb5103dcf3c276c4a3b2e310e5a1?s=80&d=mm&r=g
(@rozhkovskyproduction)
Trusted Member
Joined: 4 months ago
Posts: 37
 

@farshad Could you tell us in more detail how the flashlight system will be implemented?
How will the character hold the flashlight and the shotgun at the same time?
And will it be possible to use the original version of the flashlight, which is attached to the clothing and allows turning in place?



   
ReplyQuote
Farshad
(@farshad)
DEVELOPER Admin
Joined: 7 months ago
Posts: 395
Topic starter  

@criss1818 Hey! I answered your question here,(8 posts above). Is that for your question?

Regarding the QTEs, by default they work with the mouse, and the Left Mouse Button should be pressed when using keyboard and mouse. With a gamepad, it uses A. What exactly is the issue you're having with the mouse?


This post was modified 3 days ago 2 times by Farshad

   
ReplyQuote
Farshad
(@farshad)
DEVELOPER Admin
Joined: 7 months ago
Posts: 395
Topic starter  

@fabio Of course! And as long as you have questions or anything is still unclear, don’t worry at all. We’re here to help.

Since you want to create a custom enemy system that doesn’t inherit from the default AI master class, you’ll need to handle Event Any Damage directly in your custom enemy class.

Also, add the BPI_Enemy interface to your class. You can get the BoneImpactData from the mesh when the enemy is hit. And don’t forget to add the Enemy tag to your class.

I made a video for you showing the whole process step by step. Watch it here. Hopefully, it helps! I’ll also add this to the documentation so it can help anyone else who has the same question 🙂



   
ReplyQuote
Farshad
(@farshad)
DEVELOPER Admin
Joined: 7 months ago
Posts: 395
Topic starter  

@rozhkovskyproduction The handheld flashlight is completely optional. There is a Boolean variable to choose between the original chest-mounted flashlight system and the new left-hand flashlight system.

For the new handheld system, we took some inspiration from Resident Evil 2 Remake. The flashlight is available when the character is unarmed or using a handgun. When using a larger two-handed weapon, such as a shotgun or rifle, the handheld flashlight is disabled, since it would not be practical to hold both at the same time.

So, if you prefer the original chest-mounted flashlight, you can simply keep the original system enabled. The new handheld system is an optional alternative. Hope you like it! 😉 



   
ReplyQuote
Ede9c9e085744d5f1aad99aec885abeb4f29bb5103dcf3c276c4a3b2e310e5a1?s=80&d=mm&r=g
(@rozhkovskyproduction)
Trusted Member
Joined: 4 months ago
Posts: 37
 

@farshad Great news! It’s really great that you’re adding optional features. Please tell me, do you plan to include the ability to rotate in place while the chest‑mounted flashlight is on in the update, so that it’s possible to look around and illuminate the location using the camera?


This post was modified 3 days ago by RozhkovskyProduction

   
ReplyQuote
Page 40 / 41
Share: