oosyrag's Forum Posts

  • 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

  • When a return type (when creating the function) and value (return value action) is set, the function can be used as an expression, where it will return the return value when used.

    = 5!

    = 5 * 4 * 3 * 2 * 1

    = (5-0) * (5-1) * (5-2) * (5-3) * (5-4)

    Where n=5 and loopindex is the number of times the loop has repeated, starting from 0. Each iteration of the loop is multiplied by the result of the previous one, stored in output. We're starting with output=1, so the first iteration of the loop is 1*(5-0) (1*n-loopindex), which results in 5. The next loop will be 5*(5-1), and so on.

    Once the loop is complete, it then takes output and makes it the return. The return is then returned to the expression that we typed earlier and inserts it into the parameter parenthesis, so that it basically says "Set result to Function.Factorial(120)". return is then set to whatever is inside the parenthesis.

    To clarify, it doesn't really replace and insert into the parenthesis. The number in the parenthesis is the parameter used to run the function. The entire "Function.Factorial(5)" function, as an expression, equals (or is replaced by, if you want to use that wording) whatever is set as the return value inside the function.

    So in the end that action is in effect "Set result to 120". Note this is different than "Set result to Function.Factorial(120)", which would be... a very big number.

  • That's what layers are for. There are system conditions to help you handle and manage layers.

    You can even use a dedicated event sheet for ui that is included on other event sheets for other layouts.

    Global layers can be used so that you don't have to recreate them in multiple layouts, and only need to edit the base one once to make changes.

    Otherwise I'm still not quite sure what the problem you're trying to address here is.

  • You use as many layouts as you need that makes sense, and you put your ui on global layer(s).

  • My problem is I can't seem to find a system option for if the boolean hungry is true or false to add the follow up commands.

    You have found the system condition already, as it is being used in event 30 to test if true. So what's your question? If it's how to test false, right click the condition and select invert.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • construct.net/en/make-games/manuals/construct-3/system-reference/system-conditions

    Is boolean set

    Test if a boolean event variable is set to true. To test if it is false, invert the condition.

  • Of course it depends on your target device, but modern devices will generally cache graphics memory into storage now so there's not much of a hard limitation for overall memory use. Generally speaking, the lower the better for performance, as much as possible. There is the 4000ish pixel limit to width and height for any given sprite enough.

  • No, the list box is a browser element, which uses rasterized text.

    You can try to recreate the listbox functionality with sprite/spritefont objects instead.

    Edit: There may be a way, to export the entire list item/word as an image, and use that as a css background image for the list item.

  • If you don't want to destroy/remove the button after fading, add a condition to the button on clicked event to check if opacity is greater than 0.

  • The manual pretty clearly states "If different objects use different values, then the Pathfinding behavior must generate multiple obstacle grids in memory, and pathfind along them separately."

    For starters, the cell border size (what I'm assuming you're talking about regarding padding), does not have any affect on the actual pathfinding grid itself at all. So if you take that out of the equation, it should be clear enough that a 32 grid size is not going to be the the same as a 31 grid size.

    As for which grid used when finding a path for a particular object, its simply one that is defined by the pathfinding behavior properties that are attached to that same object.

    While I'm not sure if rewriting the manual entry would help someone understand these things any more than it already does, I do think an in editor visualization sure would help a lot.