@vepure : This is likely caused by you removing an index from the pawn array. The pawn array is an array the size of the grid (GridSizeX*GridSizeY). If you use the remove index node you are actually removing that entire tile from the array, meaning that every unit on the map on an index higher than the one on your map is moved one tile westward. Instead use the SetArrayElement node without an input.
In the upcoming update I’ve changed the unit array from an array to a map, which will make it possible to simply remove an element, but for the time being that is how you would fix it. Try chaning the remove node to a SetArrayElement node and let me know how it goes.
I try to make destrucible walls, so if they are broken the pathfinding goes through it. But I dont get it done. Here, its firing the event as intented but does not add the edges to make it passable. I have no idea what I´m doing, what is required for the edge node in the function? I just made a “promote to variable”. I made this within the standard tile BP.
It is very close now. I plan to send it out this week. I just want to make one new tutorial video first so I do not get swarmed by support requests immediately. I’m in the midtst of recording it right now,
Heh, yeah those inputs are there for a reason. So to give you an explanation of what indexes and edges are, the grid manager contains a grid represented by index values, one for each tile. These start at 0 and increase by 1 eastward (UE4 X-axis direction) and by GridSizeX southward (UE4 Y-axis direction). So if you have a square grid of 3*3 tiles, the indexes would look as follows:
0 ] 1 ] 2 ]
3 ] 4 ] 5 ]
6 ] 7 ] 8 ]
In the grid manager there is an array called the edge array (in next update called GridEdges). This array defines what tile indexes a unit can move to when standing on a specific tile. By default all the tiles in the grid above would be connected to their neightbors. So if you looked at the edge array at index 2 you would find an array containing three values: 1, 4 and 5.
But say you placed a wall between index 2 and 5 at the start of the game. If so, only the values 1 and 4 will be at the edge array index 2. If you later destroy the wall mesh or actor, but do not change the underlying edge array units will still not be able to pass between the tiles.
To fix this, after destroying the wall we use the AddTileBothWays function to add edge 5 to index 2 and edge 2 to index 5. To do this you would set TileIndex to either 2 and edge index to 5 (or the opposite. Does not madder since we’re adding edges both ways). Cost would define the movement cost you want for passing between the tiles. Default is 1 unless you want some sort of difficult terrain.
Hope that helps you understand what is going on under the hood here. Of course, hard coding the specific indexes for each wall is not an ideal solution, so what you probably want to do is add a function to your wall which destroys it and adds the correct edge programmatically. If your wall is based on the BP_Tile actor it becomes pretty easy. Use the variable Index as input for TileIndex and use Index+1 for an eastern wall, Index-1 for western, Index - GridSizeX for north and Index + GridSizeX for south.
“If your wall is based on the BP_Tile actor it becomes pretty easy. Use the variable Index as input for TileIndex and use Index+1 for an eastern wall, Index-1 for western, Index - GridSizeX for north and Index + GridSizeX for south.”
Works perfect! Thank you very much!
Here in case someone needs it in the future. destructible wall
Glad it worked like you wanted! FYI you do not need to cast to the SciFi grid manager here as the regular grid manager contains the AddGridBothWays function and it is not modified by the SciFi child blueprint.
Now, everything is fine if the pawn moves after they respawn (which will mostly be the case since the spawns will be on opposite sides of the map). That being said, the following issues occur:
In the picture above, the green pawn has just respawned after being killed. The tile it respawned on became purple (as if the tile would be both red and blue).
I also get the following error in the message log:
“Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item3 from function: ‘Spawn Tiles In Sight Range’ from node: Branch in graph: Spawn Tiles In Sight Range in object: BP_Grid_Manager with description: Accessed None trying to read property CallFunc_Array_Get_Item3”
Anyway, I’m much closer now to my intended original effect, thanks to you!
@vepure : Glad to see it working As for your error, might it be that you are not adding the unit back into the unit array when it respawns? You would again have to use SetArrayElement and input a reference to the actor. If this is not the case, could you paste a screenshot of your respawn function?
“Glad it worked like you wanted! FYI you do not need to cast to the SciFi grid manager here as the regular grid manager contains the AddGridBothWays function and it is not modified by the SciFi child blueprint.”
Oh okay I thought I have to because Im using this specific Grid manager in the scene. Thanks for the hint. Im pretty new to your toolkit and you have done so much stuff that its hard to follow sometimes. But it´s great thank you for your service!
Sidenote, in your tutorialvideo you use the impact damage within the apex plugin, you should not use this because it means it enables impact damage of the chunks themselves. For example you make a house of the walls then one broken wall can tear done all other walls around like a domino-effect. Without it only the walls within the radial damage will break.
Now that is very strange. So basically the toolkit is broken for you. It is hard to know what has happened here as I have not seen this issue before. You used the Create Project button in the vault and chose 4.18? Are you using a Windows machine? If you have added the toolkit the regular way and you do not have some weird software setup I have no idea what has happened here. If you cannot fix it, perhaps you can send me the content and config folders and project file so I can take a look at it? My email is knuteiliv@gmail.com.
Thanks for letting me know about the apex plugin stuff. I have not looked at that in ages, but if I return to it some time I will heed your advice.
I think the issue is at where you add the unit back into the array. You do not need to get the value from the PathIndexArray. The path index array holds the indexes of the last path a unit moved, and since I doubt any paths in your map is longer than 217 tiles that will always return -1. Instead, simply set the array element at the index the unit is now occupying (which due to your nodes is stored in the variable Index)
Good news, everyone! Version 1.8 of ATBTT is finally done! It has been almost a year of work and I hope you are all going to like it. It is still being processed by Epic at the moment, but it should be live soon.
This has been a complete refactoring of the toolkit, so I’m afraid that converting old ATBTT projects to this new version will be difficult. Also, my tutorial videos are now all somewhat outdated (I’m making new ones, though. See below). For all of you who have put a lot of work into projects using earlier version of the toolkit, do not fear. I will continue to provide support for these versions, and will help if any issues arise when converting to newer versions of Unreal Engine.
I have spent the last few weeks extensively bug-testing, but because of the huge change this update represents the toolkit is likely to be less stable for a while, If any of you encounter any issues, please let me know and I will try to fix them promptly.
It is worth noting that some features present in earlier versions are not present in the new update. This is mostly because I was not happy with their current implementation, but overhauling them would be very time consuming and thus delay the update release date further. However, I will be adding these features back later. Most notable missing features are the 2D game example, displaying all possible tiles in sight range (accounting for movement) and displaying tiles in range as a frame.
As mentioned I’ve made and am making new tutorial videos. So far I’ve made three videos describing one of the biggest new features of the toolkit, which is the Action System, a collection of blueprints that handles animating actions in sequence. Here the first of these three videos.
@ , Thanks for the hard work you have done on this.
@ Cirkabis, I remember having this problem, go to the player controller BP, at the event tick find “SetMarkerLocation” where it says “UseIndex” make sure it is Unchecked…Hope this helps.
Thanks! It has indeed been hard work, but hopefully it will all be worth it.
I thought the same thing at first, but from his description this does not just seem to be an issue with the current unit marker, but with input in general. Hopefully the new update might fix it.
My pleasure! It is often said that you should never attempt to add multiplayer to something you have already made, and now I know why. I had to upend so many things in the toolkit to get it working, but I think in the end the toolkit is all the better for it, even for single player games.
Hope the new tutorials were relatively easy to follow and that they will be sufficient to understand the action system when the update is live. The action system is the new addition that will take the most getting used to, I think, so I felt I had to get a tutorial out quick. You might be right that GDC is slowing down marketplace approvals. Since it was not approved today I doubt it will be until at least Monday, but hopefully that will be enough time for Epic.
Hello Cirkabis, sorry your having problems with this. What version of 4.18 are you using?. I did a install of this with ue4.18.3 and had no problems, and did you verify the install of your version(click arrow beside version to verify)?. If you did go to the Advanced turn base tool kit and click on that arrow and “Remove Local Content” then start a new project to re download the tool kit and see if it works. I hope this will help, Let us know.
Hi @ , have a question about status for your recent update. Is this updated version will be compatible with 4.19 version of the Engine? Do you know when this may be available for work? And If I’m already own this pack can I contact you directly to get updated version in nearest time?
Thanks,
Thanks for the input, ! @Cirkabis : are the problems fixed if you follow the steps given by ?
Hi PanAtoman. The update was sent to Epic on Thursday night. They are generally quick to upload file updates, but they might understandably be slowed down due to GDC. Hopefully they will upload it on Monday, though. In any case, it should not be long. I prefer not to send updates through other means than the UE4 launcher. The problem is that I need to contact Epic to verify the purchase and if I started doing this I would have to continously spam Epic marketplace support, something I want to avoid. I hope you understand. But like I said, updates are generally uploaded quickly. It is out of my hands at this time, but I’m almost certain you’ll have it in your hands early next week.
Edit: Oh wait, you’re a marketplace creator, of course. So you already know the time updates take