Download

my ai behaviour isn't working

sorry for posting too often, i’m working on this tutorial series since the beginning of this year, but sadly, this is my last year in my engineer career and it’s been a heavy year, full of stuff to do, so i just recently picked this project that i’m working on, i had to start all over again but this time, with 4.14.1 version, and as of now, this is my current problem

845b2110f31888e159256e626f69506caaf56431.png

this is the most basic ai you’ve seen, and is not working, i set up the nav mesh, i set up this bp into the enemy character, and still not working

You’re telling the player to move to the player?

That’s because the pawn needs to be your AI pawn not player pawn.

right click in the graph and write “self”…get a reference to self, and plug that into PAWN…problem solved. also increase that acceptable radius (50-100) unless you have stickmen enemies :smiley:

Pawn and character are nearly the same thing. they are both classes, and are both referencing whats being controlled by the controller.

i can’t plug self reference into pawn

nvm guys, i had to set a timer and call the event every time, it was the only way to make it work, thank you all

You cant use SELF only because you don’t get the reference first and drag off the AIMOVETO from that SELF. the aimoveto node is dynamic. I have a twin shooter that does this and i use self. Given that I have a master AI and thats where this code is…and all the children use it auto-magically.

“player pawn” and “player character” may be different node but they are basically still the main character…

true but it did work that way

If you are using an enum system, in which case I know the tutorial, you may be headed for a great deal of problems. Behavior tree is in fact the better and more flexible way to go with your AI.

All the loose ends off the ai moveto (exec, success, failed) and on your true false branches…if any of them are not plugged in to something, you may end up with brain dead ai. trying to fix those dead ends may end up in infinite loops…its a very touchy way to do things.