WackyToaster's Recent Forum Activity

  • You keep in mind what you changed recently. Then try to disable certain events and see if the error vanishes. If it does, the event you disabled likely causes the issue.

    The error can also sometimes give some hints. E.g. maximum call stack size usually means there was an infinite loop of some kind.

  • Can you post an example? Because it seems to work just fine on my end. Maybe it's a browser specific thing?

  • Me too.

    But my game really need progress bar&logo

    how to solve it?

    It will likely be fixed very soon. Just use a different loader until the patch drops and then switch back.

  • Most likely that means it has been deprecated aka no longer needed. It still exists to ensure backwards compatibility and that's why you can copy it, but it doesn't show up anymore since it's considered redundant. I'd wager almost all devices support multiplayer at this point.

  • Newts solution is interesting. I've also found this bit of js that appears to work from my brief testing.

    if(window.matchMedia("(any-pointer: coarse)").matches) {
     runtime.objects.Sprite.getFirstInstance().x += 10;
    } else {
    	runtime.objects.Sprite.getFirstInstance().x -= 10;
    }

    There's probably some caveats to this so beware and check this article

    css-tricks.com/interaction-media-features-and-their-potential-for-incorrect-assumptions

    Seems to be fairly well supported too with 97%+ coverage

    caniuse.com/css-media-interaction

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I've never used the API myself so I can't really show any example. And making an example would mean a lot of reading and trying etc... so I'd put that task on you.

    Scour the manual for AJAX construct.net/en/make-games/manuals/construct-3/plugin-reference/ajax

    The rough outline will be

    1. Send an AJAX GET (request URL) request to the API with the correct keys/userid etc.

    2. Load the response into a JSON object (parse AJAX.lastData)

    3. Validate it. If it only contains "errors": ["invalid download key"] or similar you know the user does not own the game

    There's also this itch.io/api/1/KEY/game/GAME_ID/purchases which probably is useful for your case since it requests to check a users purchases and you can verify it includes your game/dlc/extra download.

    Note that you have to replace certain parts of the API urls with your data

    itch.io/api/1/KEY/game/GAME_ID/purchases

    KEY = API key you can generate somewhere in your profile

    GAME_ID is the game id you can get from a different API call (or maybe somewhere from your page too? Not sure)

    Just try around and if you cannot figure something out you can always come ask again. But I do recommend banging your head against it at least a little bit, it's a good learning experience.

  • Yeah I've tried it myself and it happens every time. It does sound somewhat unintended but then again the objects technically do get destroyed when the layout changes so yeah.

  • There's also the platform info plugin which could help here. That's what I'm using, although it does warn that it is not a surefire way.

    construct.net/en/make-games/manuals/construct-3/plugin-reference/platform-info

    But pair that with an additional check like so (that's the scirra recommended method)

    editor.construct.net

    And it should probably cover like 99% of the cases.

  • The more involved solution would be to use the itch.io api.

    itch.io/docs/api/serverside

    Specifically

    itch.io/api/1/KEY/game/GAME_ID/download_keys

    You can use this API call to verify that someone has a valid download key to download the game.

    I don't think it needs any 3rd party addons. You can just send AJAX requests and validate the results.

  • Not much different. You just don't put the odds as a global variable and instead use an instance variable that you then compare/subtract from/...

  • Not quite. Try it like this. Odds start out at 100% so the first click will always result in success. After 10 clicks the odds are at 0% so a click will always result in failure.

    Think of it like a dice roll. You need a 6 which means the odds are at ~16.67%. You roll the dice, if it lands on 6 it's success (1) if it lands on anything else it's fail (0)

  • Interesting, I've never noticed this.

    How exactly do you call for the layout transition? If it's also within js, it should be easy to do by removing the event listener before transitioning. Or worst case, briefly muting all audio.

    But it is a little bit odd that the object destroyed triggers when the layout changes, although it also makes sense in a way.

WackyToaster's avatar

WackyToaster

Member since 18 Feb, 2014

Twitter
WackyToaster has 26 followers

Connect with WackyToaster

Blogs