dop2000's Forum Posts

  • I don't recommend applying state-machine approach for everything, this often results in incredibly entangled code. Instead of checking variables on every tick and using "trigger once" condition, it's much easier to create a function. Call the function from the event where the state changes (for example when the target is selected). This way you can be certain that it will be executed once only. You can add console logging to see if and when the event is executed.

    What is the correct way to use "Trigger Once"?

    I can tell you where you shouldn't use it - inside of loops, triggers, functions, and with objects that have multiple instances. It's often difficult to predict how it will work in these situations. For example, this code seems so convenient, but it will glitch if there is more than one enemy instance with HP=0

    Enemy HP=0
    Trigger once: Enemy play "death" animation
    
  • Awesome, we'll try these options, thanks!

  • It's difficult to tell from these screenshot and your project file is inaccessible. But I would change the way the whole thing is triggered. That "Else Trigger once" event probably won't work correctly because numberMagic is a local non-static variable, it gets reset at the end of every tick. (unless it's inside a function)

    Be very careful with Trigger Once condition, it can cause all kinds of problems when used incorrectly.

    Also instead of "waits" I suggest using Timer behavior - it gives you much better control, you can pause/cancel it, run different timers per each instance, and you can use "On timer" event to schedule the next action.

  • Sir LoLz Try different versions from recent comments in this post.

    For example:

    construct.net/en/forum/construct-2/addons-29/behavior-easystar-js-96215/page-12

  • There are several ways you can combine multiple objects in C3. The easiest is to create a hierarchy. They won't become a single object, but it will be easier to deal with them as a group - you can create/destroy all objects in the hierarchy with a single action, move/rotate/resize/fade them all at once etc.

    Also check out the templates feature:

    construct.net/en/make-games/manuals/construct-3/project-primitives/objects/templates

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It turned out Steam does not allow to upload two separate Mac builds - one for Intel and another for Apple Silicon devices. We can only use one build and it must be Intel, because it's compatible with all macs.

    Will it be possible to create a universal "fat" build which includes both Intel+ARM NWjs exports? There is a discussion in this post (scroll to the end), but I don't see a solution.

    Tagged:

  • You do not have permission to view this post

  • You do not have permission to view this post

  • What I usually do is switch to Desktop mode on the deck, right-click on the executable, Add to Steam. Return to gaming mode, the game should be in the library under "Non-steam" tab.

  • Use "Tween value" action and "Is tween playing" condition:

    Sprite Is tween "tag" playing: Sprite set effect parameter 0 to Self.Tween.value("tag")

  • I have to ask, what are you logging that possibly requires that many events?

    Well, last time I checked our project had about 10K events..

    Most of console logging actions are disabled of course. But there are still hundreds of active ones.

  • I just released a Greenworks plugin update for v0.82.0 using Greenworks v0.15.0, which supports a universal binary for macOS.

    Thank you, this is awesome!

    If only this addon had a method to check for installed DLC..

  • I suggest you create a small project to test the gamepad. Add two large text objects and this event:

  • I had 1070 "browser log" actions in the project. Replaced them all with a function call today. Took me several hours even with a fair bit of hacking.

  • This post got me worried. I always thought that if you disable DevTools on export, then all "browser log" actions will be automatically skipped/disabled too. But turns out this is not the case, they are still executed and still very much affect the performance.

    I will have to replace "browser log" actions with a function in hundreds of events, and remember to disable the function before exporting.