dop2000's Forum Posts

  • Make a copy of your project file. Rename its extension to .ZIP, unpack it to an empty folder. Check if "In eCena De Luta.xml" file exists and try to open it with notepad. Maybe it's slightly corrupted or the filename is wrong and you will be able to fix it.

  • OP is referring to this issue:

    construct.net/en/forum/construct-3/general-discussion-7/pinning-issues-147318

    Danwood Yes, Pin has the same problems in C3. You can use hierarchy instead, it's better in every way.

  • Moonstone Island is now available on Steam!

    Subscribe to Construct videos now
  • I don't know. "Pick all children" condition will definitely be useful. But it may not be feasible in Construct, because normally you need to specify particular objects/families for picking.

  • Well, there are no other options. With a family you can optimize some of the code. For example, if you want to rotate only limbs, you can add an instance variable to the family and after picking all family children, pick all limbs among them.

    Body Pick all FamilyParts
    FamilyParts type="limb"
    .. FamilyParts rotate
    
  • If you pick family instances in a condition, you are supposed to use the same family in all actions and sub-events.

    Body Pick all FamilyParts
    .. FamilyParts rotate
    

    Here the LeftHand instances are not picked, so all LeftHands on the layout will rotate:

    Body Pick all FamilyParts
    .. LeftHand rotate
    
  • I believe what you are looking for is families. You can add all body parts to a family and use "Body pick all BodyPartsFamily".

  • You can import CSV files into the project, there are addons that can convert them to C3 array. You will need to re-import the file every time it's changed though. Or save your project as a folder, then you can open/save CSV file directly in project folder.

    Another option is to simply copy/paste data from Excel into C3 array editor. This may be the easiest solution.

  • The more effort you take to do things to obscure it the longer it would take someone to figure it out.

    Yeah, but still any half-experienced hacker would probably spend considerably less time breaking the encryption system than I spend developing it.

    So.. it's not worth it.

  • You can store not the key itself, but the hash of the key. Then the attacker will have to brute force the key.

    I need to encrypt/decrypt game saves. How do I do this without the encryption key?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I understand that when encryption key is stored in the game, it's not really possible to protect it from hackers. I'd like at least to obfuscate it, make the task of finding it a bit more difficult.

    I can obviously break the key into multiple parts, store them in separate variables, do some string manipulations - replace characters etc. But I assume this won't make much difference. Are there better methods?

    Tagged:

  • I still need to run "trigger once" or it wont work

    It's ok to use it with global variables. Just never use it inside of loops, triggers and with objects that have multiple instances. For example, this code is wrong and will often work incorrectly:

    Enemy health=0
    Trigger once
    ... Enemy play "death" animation
    
  • Functions.Dialogue("text here")

  • The only other thing I can think of is that the Inspector is struggling with all the variables added by the event sheets even though none of them are running/changing/updating.

    You may be on the right track, although I tried making a blank project with thousands of global variables and couldn't reproduce it. Can you try this?

    There was a bug report about a very similar issue - on layouts with many layers the System tab in Debug Mode was updating very slowly causing severe lags. Maybe it's something similar, but specific to your machine or your project.

    Check out all comments:

    github.com/Scirra/Construct-bugs/issues/5926

    construct.net/en/forum/construct-3/general-discussion-7/debug-view-extremely-slow-171386

  • Use "Compare tile at" condition, or Tilemap.TileAt() expression.

    -1 means an empty tile.