Super Bugfix Roundup Deluxe!

  • Any idea on the pause during pathfinding? It's cosmetic, so not a showstopper, but yea.

    Pathfinding is one of the more intensive operations in coding, so calculating a path can take a few ticks.

    The path in your example image doesn't look particularly long, so instead of breaking it up into multiple chained paths you could do just one pathfinding call and only have the pause at the start.

  • Another one...

    Why doesn't this work?

    I want the customers BEHIND the furniture when it's facing up, and in FRONT of it when it's facing any other direction.

    It kinda just freaks out right now.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I assume that you have some Seating with direction=1, some with 2 and some with 4. (read this twice, because it is as simple as that)

    You read the conditions wrong.

    Look at event 424. It does not state 'IF seating.direction = 1 THEN do those actions".

    It states: 'Make a picklist containing all the seating with seating.direction = 1', apply the actions on the picked seating, or do not run the actions at all when the condition is not true (in the case of picking, the condition is untrue when the constructed picklist is empty)

    Construct is mainly about picking.

    'Or' is a logical thing. It does not work work as you expect it to work with picking items. (read the first line again). Use it only if you intend to use only the logical part of the conditions. (until you understand picking)

    Else is a a logical thing. It runs when its parent condition did not run (is untrue). So when there is at least 1 seating with seating.Direction = 1, the else will just not run.

    All together now. Why is this totally weird construction not working ?

    Event 423.

    Make a picklist that contains all customers that overlap any seating, plus containing all the Seating that overlap any customer. De picklist now contains some customers and some Seating.

    For all following sub events, this is the picklist where they start picking from (their previous picked list).

    Event 424

    Pick from the previous picked list those Seating with Seating.Direction = 1

    Move those (actions only address to picked items) to the top of their layer.

    Since the picklist for the customers is not refined, the picklist still contains all Customers picked in the previous made pick list.

    So the action moves all the Customers (those that overlap a Seating) to the bottom of another layer.

    Event 425

    When its parent condition ran, the else will not run. One can safely assume that there is at least one Seating with Seating.Direction = 1. So, in fact, we dont even need to investigate event 426.

    Event 425, again.

    But say, there is not ONE Seating with Seating.Direction = 1. Then 424 is untrue, hence it will not run. And the else will run.

    At this moment we start again with the picklist as picked in event 423.

    Event 426

    IF (OR = LOGIC) there is at least 1 Seating with Seating.Direction = 2,3 OR 4, this OR-construction will run.

    The picking in this event starts then picking from the previous picked list (in 423) and picks from that previous picked list the Seating with Seating.Direction= 2 AND 3 AND 4.

    The actions move those to the bottom of the layer.

    Since the picklist for the customers is not refined, the picklist still contains all Customers picked in the previous made pick list.

    So the action moves all the Customers (those that overlap a Seating) to the top of another layer.

    So as you see, there are two BIG errors in this construction.

    1/The else will just not run in most cases.

    2/And the picking for the customers is just not refined.

    Do this.

    Seating.Direction = 1 ? (pick those Seating)

    Customers = overlapping seating (pick the customers that overlap the previous picked Seating)

    _____ Actions ... do that thing with layers and stuff

    Seating.Direction not= 1 ? (pick those Seating with Direction not equal to 1)

    Customers = overlapping seating (pick the customers that overlap the previous picked Seating)

    _____ Actions ... do that thing with layers and stuff

    Wish you had read 2 of the links that i provided you for your first problem. You would have understood 'picking'.

    Dissapointed greetings.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)