nidh0gg's Forum Posts

  • There is no limit imposed by Construct.

    I have been having some project export issues (project file size is about 1.2gb), when I try to export my project at the moment via nw.js desktop build i get a "out of memory" error at the end of the project export (my computer has 32gb of ram) and if i try to export an android cordova project I get a "Build Failed" with no errors. Would you by any chance know what may be causing this? I assumed it was file size as it was working fine before the project was over 1gb

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hello,

    I just wanted to know if there is an actual file size limit for Construct 3 as I don't really see any mention of it at all. I have been having some troubles exporting my project and am thinking it may be because of the file size.

  • This is for a fairly large mobile game project using Construct 3 as the engine and PlayFab for the backend, please message for additional details.

  • I just also tested this in a new project and the same issue happens. Can't bring the depth of an array past 100 on the array editor

  • Hello,

    I checked the documentation and their doesn't seem to be any limit for the depth (z axis) on an array however the array editor seems to not let me go past 100 which I require. Is there something I am doing incorrectly here or is it just the editor that won't let me past 100?

    I am able to go past 100 on width and length.

    If I set the depth to 100 and change the sheet # to go past 100 it will work in a fairly buggy manner, but it will save. However once you launch the game/compile the data, the data past sheet 100 disappears (although still appears in editor).

  • Don't break up the event. Check for touch then as a sub-event check your condition and use Else for the alternative.

    Thanks, that worked!

  • I'm having troubles figuring out how to stop this double input for this event, changing the trigger to on hold for one of the condition fixes the issue but i want it to be a seamless tap once to do this, then tap again and it will save.

    As it currently stands, when you tap the button then "moveUnits" is set to true, however when you try to tap it again it stays true but all the functions are being executed and it gets turned off but then immediately back on by a double input by just clicking or tapping the button.

  • Why don't you just search for zeroes and delete the row?

    thats a... very good question

    I thought the delete function just sets the values to 0 but after looking into the documentation for it, for 2D arrays it just deletes that whole row so that will definitely work and I'll probably just do that instead.

    Any idea why the sorting function is acting that way though?

  • Essentially I'm loading in data into an array and some data will be skipped, causing there to be some rows with 0's as values and I'm trying to get rid of those. Everything seems to be working fine aside from the array sorting function.

    The code im using

    The Array's data after loaded into array

    I Pop the data from the Y axis to remove the categories (which i add back at the end)

    I then sort by Y axis which -almost- works in that the 0's are properly pushed to the top however the values in column 2 and 3 are now mixed up.

    From the array documentation page it says that its suppose to preserve the contents of the column but it doesn't seem to be doing that here?

  • You need to remove "Else" from event 17. Leave the condition part empty.

    Also, your project is crashing because While loop becomes infinite. If there is even a small chance to create an infinite loop, you should always include an "safeguard" exit condition to it! So add condition "loopindex<1000" to the while loop. It will stop the loop after 1000 iterations.

    Ahh interesting, I'm assuming the issue was caused then because the function under else only will be triggered if the last function is false?

    Thanks for the help!

  • I'm not sure how to explain this issue but with the following function below:

    And this is the array data:

    Now, if i try to call this function and search by parameter name "Level" on the LAST array in the list it will crash the layout.

    However, if i search by the first parameter in the array, "Name", this does not crash.

    And if I search by the third parameter in the array, "Prestige", it crashes.

    NOW

    If I MOVE this to the top of the function it runs without issue

    So at this point I thought maybe there was a limit to this while loop? So I created a duplicate function and removed all checks for other arrays

    This crashes the layout still.

    HOWEVER if i add a "dummy" check for any other DB below it, it will function

    Note that this function works perfectly fine with every other array, only specifically the FIFTH.

    Does anyone have any idea why this is happening?

    Link to a demo project file: dropbox.com/s/j6xfe23eb2etlyn/c3WeirdIssue.c3p

  • Your events work correctly. However, the Adventurer is only destroyed at the end of the tick. So even if you destroy it in event 59, for all remaining events it will still exist. So in event 78 enemies re-acquire it as a target.

    You can add another condition to event 78 "Adventurer health>0" to fix this. Also, it will be a good idea to disable adventurer's collisions when destroying, it may prevent other similar issues.

    By the way, you don't need to use "System pick by evaluate" and "For each" in this case. You can simplify your events like this:

    Thanks so much for the help! That seems to have been the cause of the issue, Ill be sure to be more careful with events conflicting with each other.

    And thanks for showing me how to simplify those events, I think with that I can actually simplify a lot of the events I've created.

  • I have two identical events but each for a different type of object [Adventurer] and [enemyUnits] (latter is a family but I don' think this should be an issue). One is functioning exactly the way I want it to:

    When the object instance variable reaches 0 health

    -->Destroy all instances of dummyAttack that targets the object

    -->Destroy all instances of dummyAttack created by the object (that has no health)

    *-->Set the variable of "target" to 0 for all instances of the object Adventurer

    -->Destroy all objects related to the instance with 0 health

    So this works perfectly fine when the enemyUnits object reaches 0 health and almost perfectly for when the Adventurer object reaches 0 health except one specific trigger.

    The specific trigger that is not working properly is the part for setting the "target" variable to 0, I tested using debug and when splitting up the units like displayed below, Once the top Adventurer dies only ONE of the enemyUnits object has their target variable reset to 0 however the rest are unchanged.

    I tested the adventurer death trigger for when the object enemyUnits die by creating a mass of Adventurers and when one enemyUnits dies it properly resets all referenced Adventurer's target variable back to 0.

    Events for the Working death of enemyUnits objects

    Events for the Not-Working death of Adventurer objects

    .c3p Project File: dropbox.com/s/f6b1nsic787hpqu/triggerIssue.c3p

    > what would the proper way to stop them from stacking/fusing on top of each other?

    Unfortunately, there is no proper way. There are many methods, but none of them work 100% correctly. You can search this forum for something like "pathfinding no overlapping". Also, I have two demos which are a bit complex, but may give you some ideas:

    https://howtoconstructdemos.com/avoid-overlapping-while-moving-with-pathfinding/

    Ill look into those demos, thanks again for all your help!

    > made the event and log but what am I suppose to enter for the message?

    Whatever you want. For example, Log "Adventurer "&Adventurer.UID&" FIND PATH"

    Then open browser console in preview and watch for this message.

    .

    The problem is Turret behavior, it somehow prevents Pathfinding from moving. I'm guessing it tries to change the angle.. If you disable Turret immediately after "Find path", then the adventurer moves correctly. Try using a different sprite for turret behavior, pinned to the Adventurer sprite.

    Also, using Solid on the same Adventurer sprite can cause problems, don't do this. Same with adding Adventurer sprite to obstacles.. If you want to prevent multiple adventurers from bumping into each other, this is not the right way to do it.

    Thanks that looks like it fixed it, I guess ill have to create a third sprite for each adventurer... but I guess theres not much i can really do about it. Also, you said that making each adventurer sprite a solid is not the right way to stop them from bumping into each other, what would the proper way to stop them from stacking/fusing on top of each other?

    Check your cell size, reduce it if necessary. Check the cell padding as well, I believe it defaults to -1, which could allow your object to move into a wall and have overlapping problems. If you're using move along path to move your object, try increasing your rotation speed from 100 to 1000 or even higher - this will let you get more direct movement between nodes, depending on the scale of your project and speeds involved.

    Yup, looks like the cell padding was set to -1, changing it seems to have fixed that overlapping issue. Thanks!