quackgyver's Recent Forum Activity

  • This is possibly a bug with the JSON object.

    If you run in to a bug or issue in Construct 3, please post it to the GitHub issue tracker here:

    https://github.com/Scirra/Construct-3-bugs

    You must follow the bug report guidelines or your issue will be closed without investigation.

    Construct is a great product, but as far as the bug reporting goes the customer experience is not so great.

    Customers shouldn't be expected to deal with issue creation, refinement, maintenance and demanding responses from engineers who think that issues needs further refinement or be split up into additional issues.

    And like, threatening with "having my issue closed without investigation" unless I jump through all these hoops is not exactly going to entice me to want to submit bugs.

    > You need to remove "Append JSON.Get("books.title") (i.e. line #3) for the "Else"-case (i.e. line #4) to fire.

    Nope, without this action it still works correctly for me. The Else event is not fired if the key exists in JSON.

    https://www.dropbox.com/s/2x9jtliyiud772n/JSON_HasKey.c3p?dl=0

    Sorry, I just noticed that you had an AJAX-related trigger. It needs to be a continuous loop that checks for "Has key" on every loop.

    If you put your two sub-conditions on root level so that they run on every loop then it should work. :-)

    Thank you very much for the help so far!

  • quackgyver Could you share a sample project or JSON string? I tested this just now and it works correctly - only one event fires.

    You need to remove "Append JSON.Get("books.title") (i.e. line #3) for the "Else"-case (i.e. line #4) to fire.

    I think if you give that a try, you'll be able to reproduce the issue.

  • as far as I know the "Has Key" is basically a loop, so the else will almost always get triggered.

    by inverting the first condition you get the "else" effect when the key is not present, and the the actual else will trigger properly when the key is present...

    I haven't actually tested that.

    I'm not sure I'm following the logic.

    Regardless of whether it's inverted, it should be either hard true or hard false, unless something is happening in the application loop that causes some loops to return true and some to return false (for instance in case "Has Key" is asynchronous), but as far as I know that's not the case here.

  • Did you try to invert that condition?

    Why would I do that?

  • For some reason, putting "Else" after "Has key" will cause both "Has key" and "Else" to fire, if "Has key" points to an object that is one level down from the path's root.

    See example:

    However, putting the two events inside another "Has key"-condition that checks the path's root will cause only the "Has key"-element to fire.

    See example:

    I'm having a hard time seeing the logic behind both conditions firing unless they're placed inside another condition. I feel like the loop should iterate through them the same way in both scenarios since the "Has key"- and "Else"-events are siblings.

    Can someone shed some light on this?

    Thanks in advance.

    EDIT:

    For clarification, the JSON data is loaded in many seconds before these events are run, so I don't think it's a lag- or synchrony-related issue.

  • Bump.

    This still hasn't been fixed.

  • I have a function that needs to be able to pick objects by combing strings (e.g. variable_foo&"bar"&variable_baz).

    I don't want to have to copy over object names into instance variables since that's going to increase the manual work significantly, so I'd like to be able to pick objects by names specifically.

    Is this possible to do, and if so, how can I achieve this?

    I feel like this should work:

    But for some reason it doesn't.

    Would appreciate some help on this.

    Thanks in advance.

    EDIT:

    I should probably mention that it's the picking object-aspect that's important, because I also need to know when it returns false (so that I can insert an "else" case to determine whether any objects matching the name exists). Otherwise I would've just used a foreach loop on a family and compared the ObjecTypeName.

  • have you tried right clicking on a blank area of the eventsheet, choose "Event Sheet" (at the bottom of the pop-up menu), choose "Font Size" and then click Reset.

    That worked. Thank you. :-)

  • Are on a laptop? I keep accidentally shrinking the type by holding Command/Ctrl and scrolling on the trackpad (2-finger on Mac). You could try that shortcut to scale things back up.

    I've tried scrolling to zoom, as well as holding CTRL, ALT, SHIFT etc. while both scrolling and pressing + and -. Nothing happens, except for when I do CTRL+ and - to zoom the browser's view, but that still doesn't fix the problem of UI elements shrinking in Construct.

  • When I load my project, the event editor is zoomed out while everything else in the project looks normal.

    The browser view's zoom is at 100%, but the event editor is still barely readable.

    How can I restore the event editor to normal?

    See attached image.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • So apparently the issue is that Debug Layout has suddenly broken for my project specifically.

    How do I fix this?

  • I can't click on "Debug layout" anymore. I've tried it in both Safari and Firefox, and it's not working in either browser.

    I've tried clearing cookies, resetting the Ui, resetting the local storage and other basic troubleshooting steps, but none seem to work.

    Is anyone having the same issue?

quackgyver's avatar

quackgyver

Member since 18 Sep, 2014

None one is following quackgyver yet!

Connect with quackgyver

Trophy Case

  • 10-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

14/44
How to earn trophies