konjak's Forum Posts

  • I would like a more efficient condition where I check the amount of a specific Sprite there is in the layout. Right now I use the "Compare" expression from System to create this condition, because it's the only way. I use this to determine if some event groups should turn off if there are zero of a certain sprite in the layout.

    Problem is, whenever I compare that and the answer is "zero", the debugger feels the need to tell me that, and it gets frustrating starting up a debugging session only to have to click a bunch of OK-buttons to get started.

    Maybe there is already a work-around? I tried setting a variable to the amounts of a sprite but it still happens.

  • The new runtime plugin file looks like it puts a cap on the length of the SpriteFont string. But then the plugins folder file was called SuperSprite and maybe then SpriteFont in the plugins folder didn't match the one in runtime correctly.

  • Hm, I got it working because I had strangely placed a conflicting Action in one place.

    My engine I basically always have it to "Show Text" and then have it appear letter by letter by use of Left() and a variable. Would you deem this inefficient? I seem to recall thinking Write not having the ability to write faster, say, two letters at a time.

    And also, I did remove my crashes by not destroying any SpriteFonts in my menu code, so I worry once I do introduce this engine into a layout with the menu, hell will come to visit!

    EDIT: WHy is the new plugin file called SuperSprite?

  • I can't answer the first part as I have done both before going back to my dialogue engine.

    As for the last question, I set by range.

  • I avoided crashing by never destroying any SpriteFonts, but I will sort of rely on being able to do that once I start having dialogue bubbles, as I said...

    Hopefully you can get stuff going, you're a very hard worker! Do you have any clue as to why my engine that could have several of the same SpriteFont all show text before, but now they seem to only show in one? I know you did something like prevent it from redrawing every tick.

  • I can set a text object to the same array source and it doesn't look strange, as it can with SpriteFont.

  • Has there been some recent issue about this plugin where having several SpriteFont objects at once crashes the app (and maybe issues with destroying SpriteFonts).

    I had a well-working dialog engine that I returned to recently and now it's messed and doesn't work. Like it seems two SpriteFont objects that are copies of each other can't both show text, which I was relying on for my speech-bubble system (and not having to be limited to one bubble or so). It was working just fine before.

    Right now I am getting a non-event crash from SpriteFont in relation to different place I'm using it. It's in a menu, and two different (not copies) SpriteFonts are displaying text, and after I've done it the first time, one of them can either start displaying text wrong, or crash the application.... I can't really show a CAP as I can't nail down where this happens, and since it's a non-event crash.

    It relates to how MUCH text the other SpriteFont object (the one not causing the crash) has displayed earlier, but that SpriteFont has always been destroy and doesn't exist when the game crashes.

    EDIT: The text it writes relates to getting text from an array, I have no idea if that is messing things up somehow.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Can you compare/retrieve variable names? If you can't, that would be a nice addition!

  • I think you're looking for the hash table object . For now you can get some basic encryption with the crc32 plugin.

    How could you use the crc32 plugin for that?

  • I assume you mean you have to create a key before you can set it, whereas AssArray created one if you set a key that didn't exist?

  • Pffffttt, calling me unattentive, are you?

  • I'd love for there to be some sort of plugin that lets you give it variables with names, much like MMF's Associative Array (referencing that damn program again), that you then can save to encrypted external files. Basically just variables for that object that are save-able.

    With an Array you can save and all, but everything is reached through the array positions. You'd make some sort of documentation of what goes where, but I think what makes an associative array easier is that you get a variable by its name. With an array you have to reserve spaces in it, and if you want to change maybe the amount of items a list can hold it would be a giant hassle to extend it if the list's values are stored in the middle of the whole thing. I guess multiple save files for one "save slot" helps, BUT STILL!

    It's an easy way to handle saving. I don't know if you can replicate that already, maybe with an INI, but are you able to encrypt anything in Construct?

    EDIT: I suppose one could make a Sprite and make its variables save to an array, and then you call for an array position's string to compare with the name of the variable of that sprite, somehow. Not sure if that would be slow though? And can an array store both strings and variables?

  • Yeah, but it has the ability to copy the mask of one frame to all others, I was fooled!!

  • It seems the crash I had was the same everyone else is pointing out in the 0.99.5 thread.

  • It doesn't work in a way where if you pick to make a frame's collision mask apply to all frames, it would act with that frames hotspot through all frames.

    Instead it does this strange pasting of that frame's mask into the size of the other frames' canvas, I think related to the top-left. The only way to make this work proper would be to make all frames the same canvas size, which seems like a lot of rules and guidelines (and waste of VRAM for frames that can be smaller) for something that could be as simple as "this animation frame (or animation) is the collision mask, hotspot and all" and collisions are checked against that frame's dimensions and hotspot each time.