oosyrag's Forum Posts

  • I'm not understanding what exactly you're aiming for here, but maybe just use a subevent and make it an "or" block?

  • Your function has a parameter called "x", so you need to give it that parameter when calling it.

    If you didn't mean to do that, get rid of the parameter.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • If you mean by checking if there is a sprite objects on top of the tilemap -

    Use an invisible helper sprite that is the same size as your tile. Use loops to move it to each tile in your tilemap, check overlap with objects, and set the tile if it is/isn't overlapping.

  • A "for each" will repeat an event for each instance of an object or family, separately. If your movement doesn't happen over time, this can be used to move all the enemies without conflict, as movement for each instance will get resolved individually in order. If movement is animated or takes time, use a timer behavior to trigger subsequent moves as dop described.

  • I haven't looked at the project yet, but from what I can understand, you simply need to run your phases even if there are no actual actions to run. Account for that so that the blocks phase runs no matter what and does nothing except trigger the next phase if no one selected a block action.

    A little more complex, but you can also build a "stack" of actions to take in an array for a phase. Push them to an array, and delete them out of the the array when run. When the array size is 0, proceed to next phase.

  • I don't suppose you've tried reading construct.net/en/tutorials/learn-javascript-construct-2800

  • To round to the nearest 'n',

    round(value/n)*n

  • Try using a tiled background for the sectioned life bar.

  • I'd recommend sticking with JSON for flexible amounts of data - arrays are (generally) better for fixed sets, without getting into strings and tokens which could potentially make things even messier (but it is an option).

    If you want to add me on Discord (Risuga) I don't mind working on this directly through DM, since there will probably be a lot of little things that need addressing or changing for these kinds of systems. (Love your art style BTW!)

  • Nothing.

  • I remember working on this with you, and I'm reminded I had meant to do a clean version with just arrays but I forgot! Sorry about that. It did get a little complicated, I think you had a JSON structure in place that I had been modifying and working around.

    Anyways for your specific question, trigger the function by On Touched Button in event 3, then pick items overlapping combiner in event 4 (as the first condition, you have it as the second - order matters in this case).

    dropbox.com/scl/fi/07suxzt788i2at8ntquu2/breadbird.c3p

    It does get more complicated when you want to use more than two ingredients. Did you have an idea how many different ingredients a recipe might have up to? Or how to handle conflicts if a+b=1 and a+b+c=2? You can prioritize the most ingredients, simplest ingredients, or simply design your recipes not to have conflicts. Do you allow a+b+c+d to result in a "2", with the d just ignored? Or would that be invalid? Having the details ready helps when putting together a system like this.

  • Determine the "slope" by saving targetZ/targetDistance to an instance variable, and setting the bullet z to distancefromorigin*slope every tick.

  • Yes.

    Download it ahead of time and play offline. construct.net/en/tutorials/offline-games-construct-8

    Run a web server on the local device and access via localhost.

    Run it on a web server on the local network and access by local IP or local DNS.

  • Local storage is data saved in the browser cache on the device.

    The issue previously discussed is how the game itself gets downloaded to the device from the server, and how it gets updated and replaced. That should have nothing to do with local storage.

  • construct.net/en/tutorials/offline-games-construct-8

    Basically it should always update, unless your web server is serving cached pages/data. This can be configured on your web server.