dop2000's Forum Posts

  • I'm making an antivirus in construct

    Wow! What's next - an OS in Construct? :)

    You may be able to intercept win.close event according to the documentation:

    docs.nwjs.io/en/latest/References/Window

  • Instead of changing the font size, add the text to a hierarchy with a sprite — this could be the book page or an invisible sprite. The text should be a child in the hierarchy.

    Then, when you scale the sprite, the text should scale smoothly with it while preserving the line structure.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Ah, you need to load the array from AJAX.LastData, not from "Test"

  • Did you move "Set text" action into "AJAX on completed" event?

    If that doesn't help, please share your project file.

  • Remove quotation marks from all strings in the array, they are not needed.

    After loading it, you should be able to access any line using Array.at(0,y) expression.

    For example, Array.at(0,3) will return: hello!

  • Array width=1 means that it only has one row on X axis. And array indices are zero-based, so array.at(1,1) expression is wrong - row #1 doesn't exist.

    Can you explain what are you trying to achieve? I see you are loading the array from a file, can you show a screenshot of that file?

    Also, move the "Text3 set text" action to event #2.

  • Say, if there are 20 frames in the animation, I would put 20 sprite instances on the layout - 4 in their places and 16 off-screen. Then assign them random frames:

    For each sprite order by random(1) : Set frame to loopindex

    Then destroy off-screen sprites. This is the shortest and easiest solution.

  • Btw I over-complicated it, you don't need a function or an array to achieve the shuffle, try this :

    With your code, if there are four instances of the sprite, they will receive frames 0–3. As I understand it, there are more than four frames in the animation, and OP wants to assign random frames without repeats.

    Yeah, there are many ways to do this, even in C2, but none of them are very straightforward.

  • I don't think you need an array here. If there are only 4 frames, then it's very easy:

    For each Sprite order by random(1) -> Sprite set frame to loopindex
    

    If there are more than 4 frames in the animation, you can use the Advanced Random object.

    AdvancedRandom create permutation table with size Sprite.animationFrameCount
    Sprite set frame to AdvancedRandom.permutation(self.IID)
    
  • You can't use "Get" action without checking if the item exists first. Here is how to fix your code:

  • You can right-click the project name in the Project bar -> Tools -> View used addons, to make sure. If you really removed all references of it from the project, then you can safely uninstall it.

  • Ok, please email me what you can. I can't promise you I'll find the issue, but it will be a lot more useful than the guessing work with screenshots.

  • Where and how often do you call the Salvar function? What is the parent event for the "LocalStorage check item exist" action? How often is it called? What happens when the item doesn't exist?

    It would be a lot easier if you could email me the project file. Debugging by screenshots is very unproductive.

  • For me, what doesn't make sense is that the game works perfectly in the tests and when exporting it has this type of problem when saving.

    No, this happens often and I've seen it many times in other people's projects! For example: you save something in Local Storage and immediately switch to another layout. On start of that other layout you read the same data from Local Storage. This may work in preview, but will fail in an exported game or on a slightly slower PC, because LS operations are asynchronous. The write request may not be completed before the read request, and the data in LS may become overwritten with default values.

    That's why I'm asking you to share the complete screenshots of all relevant events, or a project file.