Hey, glad you figured out how to get it working. Putting it into SetupFromUnit makes sense here. As for having it update during the game, changing your health number from the part of the code of the puppet that would normally lead to a change in the health bar also makes sense. However, displaying AP changing would have to be called from somewhere else, as you will probably want to change AP at times when Health does not also change. I recommend first watching the action system tutorials and then following the line of breadcrumbs from where the health bar is changed back to when the actions that lead to them are called. See if that gets you to the finish line, and if not let me know and Iāll give you a detailed rundown when I have the time.
Iām using the latest version available to unreal 4.26, the initial bug I reported I realized I was on an older Unreal and was thus working with an older version but now Iām all updated and should be on the latest version. Iām trying to get the enemy range displayed when you click on them, Iāve been able to do it by following through break points but I donāt think Iāve added it in the right place because there is this strange delay before it shows the enemy tiles but has no problem immediately showing the players move tiles which has a lot more tiles so I donāt think the delay is because of processing.
Ah, I see. Thanks for making me aware of it. The move and range display stuff got broken during my recent big refactor. I was aware of this and thought I had disabled accessing it, but it seems I forgot to do so in BP_AbilityBase_Idle. Iām guessing youāre using the strategy game mode, which would let you use this ability? I intend to reimplement this feature in the future when Iāve found a solution Iām more happy with, but at the moment I recommend just disabling it like so:
https://i.imgur.com/wO7OWfS.png
Apologies for the inconvenience. This feature should not be enabled currently, but Iāll bump up reimplementing it on my list of priorities.
New tutorial video is up! This is the first of three videos in which I show how to implement a combat system similar to Heroes of Might and Magic or Kingās Bounty. I will cover many different topics in the topics, most of which will be of use in a number of different projects, so Iād recommend watching even if you are not making this type of game. In this first video I show how to modify the health bar to allow for displaying the number of units in a stack. This video is the result of me investigating a request by @ser.man94. Enjoy!
Second part of the HoMM tutorial is up. Here I go into how to set up the gameplay logic behind using stack sizes as a separate type of health. Check it out!
Thank you vary much for video. How to download the version wath you use for editin? i wach firs video and make all steps. on second script are diferit. on description is version 3.02 but i try to do from epic but is the same version?
Iām back with a curiosity question - Is there a way to make the path system try to move around certain tiles but still allow players through without movement reduction? Like say a lava tile that going through would hurt the player so youād want to stay away from but they can still move through if they really need to reach a certain tile but take damage doing so.
Hmm, it seems that you are right. I sent an update to Epic and got a confirmation, but downloading it from the launcher it seems like it didnāt update after all. Thanks for letting me know. Iāll send them a new version.
This is a tough one, and one I have tried to solve previously. I have not really found a great way to do this. Best I have been able to do so far is to run pathfinding twice. First with all ābad tilesā blocked and then again with nothing blocked. I store both pathfinding results and when trying to get to a tile I first look at the blocked one. If the tile cannot be reached from it I check the unblocked. Works okay if all bad tiles can be considered equally bad and if there are few enough of them that you are unlikely to pass through multiple ones. For something more complex you could do multiple iterations with various types and numbers of tiles blocked etc., but it will quickly become expensive. If you find a better solution to this problem, please let me know. It is something I have thought quite a bit about, but unsure what the best solution would be.
[quote=ā, post:3750, topic:21930ā]
Hmm, it seems that you are right. I sent an update to Epic and got a confirmation, but downloading it from the launcher it seems like it didnāt update after all. Thanks for letting me know. Iāll send them a new version.
i try to mace a chieldo of BP_UNit but is not lice a video no accesto pupet and other setings.
It is posible to download te projectfrom video?
[quote=āser.man94, post:3751, topic:21930ā]
Do you mean that there is no actor called BP_Actor_Puppet in your ATBTT project? If so then you are not just missing a hotfix. The newest version of ATBTT that includes puppets etc. is the 4.26 version. You need to use UE4.26 and create a new ATBTT project with that version selected from the launcher.
[quote=ā, post:3752, topic:21930ā]
i use the version 4.26 also clear local cache and download it again.
https://drive.google.com/file/d/1KCwZbdlstG_W-rP6PmpnLUKkFoqxBjD_/view?usp=sharing
maibi is posible to donload the projekt from video or only cheanget files?
[quote=āser.man94, post:3753, topic:21930ā]
Puppets should be there in the version you have. Iām guessing youāre not seeing the puppet variable because you havenāt enabled ShowInheritedVariables in your child blueprint:
https://i.imgur.com/wamz36k.png
HI,Forgive my poor English. I am your fans and I appreciate your job in ATBTT3.0 . There are many changes in the new version so that I canāt understand that quickly.
The first struggle: Why does the puppet has the BP_PuppetComponent? I donāt undersantd the meaning and necessity of the BP_PuppetComponent since I open that blueprint and find there are few codes in there except an interface BPI_Puppet.
The second : How does the unit receive the damage and play hurt animation? Letās follow the process : run the Play Action in BP_Action_Attack ,then run the Animate Puppet in BP_Actor_Puppet, then run the attack animation in ABP_Unit, then run the Notify ActionHit , then run the OnAnimationEvent in BP_PuppetComponent ?? I knew there is a binding event AttackHit on OnAnimationEvent, but this event just run EndAction ??How does the target receive the damage ?? And there is an another dispatcher OnAnimationEnd in BP_PuppetComponent ,Running ActionEnd will trigger that, but I canāt find anything which is binding on that ??
Obviously I missed something in the whole ATBTT ,So please forgive my ignorance.
But the new version is really more difficult to understand than the last version
I think I find how the unit receive damage and play hurt animation. Itās triggered by the BP_Ability_MoveAttack.Itās a great job for me, isnāt it ?? hahahā¦
But I canāt understand the dipatcher OnAnimationEnd stll. I try to break(disconnect) the white line between the OnAnimationEnd and the SignalAnimationEnd , and the game is still working since there is nothing bingding on the OnAnimationEnd. So I think the AnimNotify ActionEnd and HitEnd are not necessary during the game because the EndAction is not triggered by both of them. Am I right or wrong?
Hi ē®ē®č, sorry to hear that youāre struggling with the new puppet system, but good that you are making progress. Iāll readily admit that the new system of using puppets instead of just having everything inside units is more complicated, but the benefits greatly outweigh the drawbacks, I feel. Iāll start by explaining my rationale for making this system.
So in the older versions of ATBTT BP_Unit actors were responsible both for game logic (keeping track of health, moving references to BP_Unit across GridUnits etc.) and for animation. The action system of ATBTT is designed to keep game logic and what is shown to the player separate, and BP_Unit was always an awkward in-between blueprint. An example of a problem this could casue was that you might want to destroy a unit (if it is killed), but you cannot simply destroy it, because the unit might still be needed for Actions that show the unit being shot and dying, for instance. So ATBTT had to put the unit into an array and periodically check if it was still used in any actions and destroy it if it was not. That is just one example.
Another problem was that the visual actor representing a unit would always have to be a child of BP_Unit. This meant that it was impossible to for example to have units be of the Character class (which many developers wanted to use for the included movement code). It also meant that you could easily end up with very deep class hierarchies.
So to solve both these problems I decided to split units into Units (invisible and just for handling game logic) and Puppets (just for visualizing stuff. No impact on game logic). Doing this makes ATBTT much more modular, meaning you donāt have to make big changes to any core blueprints because you need a unit that is visualized in a different way. However, this came with some difficulties. I want to be able to communicate between the unit and its Puppet, but since the Puppet can be any type of class I have to use interface events.
Another problem is that I want to use even dispatchers in the puppet, in order to communicate with actions when animations are done etc. Actions referencing puppets do not know the class of the puppet (which could be anything), so I cannot bind any events in an action to an event dispatcher within the puppet (without lots of awkward casting), so my solution was to add a Puppet Component, whose only purpose is to hold event dispatchers. Now actions can communicate through event dispatcher with any Puppet of any class provided it implements the Puppet Component.
Regarding OnAnimationEnd, you are correct that they are not used in the included actions. They are there for you if you need them for some other action. They are not used because the attack animation uses OnAnimationHit instead, proceeding when the attack animation hits instead of when it is done. For the hurt animation I do not wait for it to stop before I proceed by default. So yes, neither of those are currently used, but are included to make things simpler if you want to add actions that wait for the attack or hurt animation to end before proceeding with the next action.
Thank you so much for answering my questions !!!
How can I make a map with an irregular shape without placing a bunch of no entry tiles everywhere (I imagine that would bog down the computer). I want to make a map that is actually in a hexagon shape but the grid manager makes hex maps in a āsquareā shape.
āāāāāāGlad I could help ![]()
So generally you then want to turn off ShowDefaultTile and then create your map in whatever way you want within the grid bounds (using meshes, lanscapes, ISMs, whatever), but for your specific requirements I actually added just that a couple of updates ago. In your GridManager set bHexShapedGrid to true and you should get the result you are after.
Hey, so I just grabbed this toolkit because it seems to have a pretty extensive grid system written. Iām looking to get the specific tile under the cursor, and then search an array of specific nearby tiles (think like tangrams or tetriminos) that will also be effected once the player places an actor. Is there a specific video in your playlist that might go over that type of thing, or is there somewhere in the blueprints that would be relevant?