oosyrag's Forum Posts

  • Functions have been migrated from a plugin to being built in to event sheets. They have the same or more functionality than the old plugin functions, but old example projects may not have been updated.

    To use the new construct 3 built in functions, refer to the manual. construct.net/en/make-games/manuals/construct-3/project-primitives/events/functions

  • Regarding the timing, you need a way to keep track of each tween and determine which one is the last one, before changing the state of your game (by global variable, or group enabling as you're doing).

    Personally, I'd probably use (and recommend) a queue array. I would push all my tweens to a single array. As each one finishes, delete the 0th index (the one that just played), and start the next tween based on whatever is newly at the front of the line, until there are no more. All the information needed for each tween should be contained in whatever information you decide to push to the back of that array, and you wouldn't need to differentiate between types of array. They would all just go one after another until there are none left.

    Example relevant data might include what to push (UID), duration of the tween, and the target. For a pause, perhaps you could add a tween of anything for the duration you want, that doesn't actually move anything, just to keep the flow of the same system.

  • If you want a more efficient save, you'll need to consider and define only what you absolutely need to save, and do so manually. If it's still taking too long, you might consider changing the format and contents of the data you're saving to something smaller or more simple. Depends on your game really.

  • It shifts the viewport to a second players point of view and "pastes" it onto the canvas, then moves the viewport back. This happens every tick, so the canvas shows the offset view. For 4 players, you would need to reposition 4 times and paste to 3 separate canvas objects. I'm not certain this will actually work though, since there were some odd quirks with paste timing iirc.

  • The way I see it, a For Each condition simply copies/repeats the event once for each instance of the object, while picking that instance per each copy.

    If you don't use For Each, all instances are picked by default (notwithstanding other conditions).

    This generally comes up when an instance refers to itself in an expression or variable.

    However, as Dop mentioned above, there are several "crutches" where Construct tries to be smart about it, by picking/referring to the correct instance in expressions automatically without a for each. So a lot of times you can get away without using it.

  • Sure, the folder name works fine. I was wanting the path.

  • + Mouse: On any click
    -> FileSystem: Show folder picker tag "setSource" mode Read-only (ID "", start in (default))
    -> System: Wait for previous actions to complete
    -> System: Set source to FileSystem.FolderPath
    -> debug: Set text to source
    

    Filesystem.FolderPath returns an empty string.

    I've also tried using the expression in a seperate event with "On picker complete" instead of using wait for previous action to complete, same result. The action runs, since it overwrites whatever was in the variable/text previously. Also tried using the list contents action and completed trigger after picking the folder, but same result.

    Preview on chrom/win10. dropbox.com/scl/fi/hgtsq5dfcsjrm2b1l3314/filesystemtest.c3p

  • GridTargetX

    GridTargetY

    Return the grid cell the object is currently moving towards, by its column and row.

    construct.net/en/make-games/manuals/construct-3/behavior-reference/tile-movement

  • I don't remember if gridtargetx and gridtargetx are preserved after arriving, but try a combination of

    Is moving (inverted)

    And gridtargetx = gridx

    And gridtargety = gridy

    If they aren't, you can use a variable to keep track of them instead.

    Limiting movement can be done as a condition on input checking a variable that keeps track of available moves, which can be updated upon inputting a movement.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Allowing CORS is part of the configuration on the web server of the resource you are trying to request from.

    Imagine if each domain is a house, and the data you're requesting is inside the house. CORS is the lock on the front door.

    If the host you're running your app from is on the same domain you're already inside the house and you can get to the data in the house no problem.

    If you're coming from outside (different house/domain, such as when you're previewing from localhost or construct.net), CORS will block your AJAX data request.

    So the owner of the server has to disable CORS on their webserver by setting it in their config, basically leaving the door unlocked. This will allow requests from outside domains through.

  • A minimal example project would be really helpful here.

    I'd guess you were building up rounding errors from your various loops, but you said you also reset the tween based on the audio trigger so that doesn't track. That's what I would have recommended, rather than looping and timing everything separately so that they align, pick one thing to base/sync everything else to.

  • You do realize AI queries don't actually do any thinking or reasoning for you right? They basically just aggregating whatever relevant responses they can find that sound about right and dress them up to be presented as an answer.

    Just makes it harder for people who have no idea to recognize their search result is mostly nonsense but they can't tell because it sounds kinda right.

    I find it extra hilarious when some helpful person offers an AI answer to someone else's question, when they aren't familiar with the topic enough to even realize that the help they are regurgitating doesn't make any sense at all in the first place.

  • It works fine for me. It is likely you have a network routing issue that can probably be resolved by adding a TURN server to the ICE list. The chat room demo does not utilize this by default.

  • A local variable/number/value is not normally held in memory outside of the event block it is used in, so yes it resets to 1 each time. This is a key property of how local variables work as opposed to global variables. Note that this can be overwritten with the "static" option set, as described in the manual.

    construct.net/en/make-games/manuals/construct-3/interface/dialogs/event-variable