Say guys I have a really strange issue and I have no clue what’s causing it, my line trace will only grab every other box off my assembly line for life of me I can’t figure out why my IsHolding? Variable is returning true every other time because it’s being reset every-time it drops the box. If anyone is willing to take the time to look over it that would be great.
Here are the blueprints in the order their called:
I’d put some print strings in there. Where is the trace bunking out?
Is it on the bool? Is the line trace always hitting something? Etc…
Yeah so it is set on ‘Set Timer By Function Name’ and it gets called 4 times a second after the button is pressed. Basically I will press the space bar the character will play a button pressing animation, the mechanical arm will then go into motion it will detect boxes as it’s swinging down and then it will grab one and the isHolding? will be set too true. The animation will then send an AnimNotify which tells the Mechanical arm to release the box at a point in the animation and then it will set isHolding? to false. But for some reason when I press the button again the arm will swing down but isHolding? will almost always be true which prevents it from running the linetrace to pick up the box so it will do nothing. When It finished with that animation I can press it again and this time it will be false and it will pick up the box.
I figured it out, so the issue had something to do with timing and how I was letting it trace from the start to the end of the animation. I was only using an AnimNotify to drop the box, the fix was actually pretty simple. I didn’t need to check if the StartAnim was true because that was only for the animation blueprint. I added two notifies for the start and stop area I wanted it to search inside of during the animation motion. I then turned around and changed by two checks into one so that if it was inside of the tracing range and not holding a box it would execute the trace/grab/drop logic.