calminthenight's Forum Posts

  • Your event 3 is a top level event with no dependencies on other events. It will run every tick and will check for every enemies health value and return them all to 0 if there are any that are greater than 0.

    If there were continuously enemies with health greater than 0 you would see 1 added to kill count every tick.

  • A simple way is to create a boolean instance variable on your player object called "dash_ready". Make sure it is set to false initially.

    You can then use on player collision with trigger object - Set player "dash_ready" true.

    In your event 12 add the condition at the top "Player Dash=true". This means that the events will only occur if the player has picked up the dash ability.

    I would also add the timer behaviour to your player and on the b button pressed event, start the timer once for X seconds and call it "dash_cooldown". Then add the condition: player is timer "dash_cooldown" running (inverted) to the top event.

    This will stop the player from being able to infinitely dash.

    As for your other events you could improve them by moving your disable bullet action to the top level else event and delete the two sub conditions of the else event.

    The else will trigger if the platform object isn't jumping or falling so there is no need for the is on floor condition.

    I would also not disable the bullet behaviour on the b button released unless you intend for the player to have to hold the b button while dashing? otherwise it will cancel the dash as soon as it is released.

  • 1drv.ms/u/s!AkmrWgxeuxlKhIg-7JoGEwomBLceSg

    Play around with that.

  • You do not have permission to view this post

  • You can use containers. When you pick the individual objects, the correct text object will also be picked, allowing you to represent the objects variables in that text box.

    construct.net/en/make-games/manuals/construct-3/project-primitives/objects/containers

    small example: 1drv.ms/u/s!AkmrWgxeuxlKhIg8UvAoM26luu6kUw

  • Your events are telling it to do that.

    You are saying:

    For Every Turner every two seconds, spawn gloop object.

    Every X seconds is a global condition and not individual to each object instance, and "For Each" is specifying that you want those actions to be applied to every instance.

    In your events there is no dependency on the turner being hit for it to continue firing.

    It's difficult to understand what you are trying to do because you haven't explained it clearly. Your initial question was about the passing of a variable on collision. This is working.

    If you want to understand how to do something else create a new topic or explain it clearly.

    construct.net/en/make-games/manuals/construct-3/project-primitives/events/how-events-work

  • Use a function instead of using the boolean. If your condition is met on a tick then the function will be called and the events that you place in the function will run. If your conditions are not met then the function will not be called.

  • Another method is to add an instance variable to each car called "var_X".

    For each Car

    set Car.var_X to car.X

    Then use Car "pick highest/lowest" to pick the car with the highest X value.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You do not have permission to view this post

  • It is clearly passing the variable to the object that it is colliding with.

  • Your file shows it working correctly. The variable from the gloop object is being passed to the gloop turner object and then reset to 0.

    Is that not what you wanted to achieve?

  • If you use the 3rd method in my image it works for all instances.

    On Family Frame Changed

    family.animation.frame=X - Create object

  • lionz Can confirm that it does not work. Both instances are true at the same time but only one object is created.

    1drv.ms/u/s!AkmrWgxeuxlKhIg5Is2xK4KVxFZJ5w

  • In your add to variable action use canister."var_items" (replace with your variable name) as the amount. This will take the value from the variable of the canister that has collided with the target and add it to the target's variable.

  • post your project file