DarkViGaCi's Forum Posts

  • Hello everyone! I've created the template for an inventory and crafting system.

    I've used a visual dictionary editor for storing recipes. The dictionary key is the item ID (the animation frame of the item sprite), and the dictionary value is the recipe itself.

    Try it on Arcade

    Download c3p

  • I don't understand why in this case there's a freeze for a few seconds:

    I expected that enabling the "asynchronous" option would allow the function to run in parallel with the main thread. Similar to how the "Find path" action works with the "Pathfinding" behavior. That is, the action starts the pathfinding process in parallel with the main thread, which avoids performance loss.

    What should I do if I need to create a heavy function that can run for several seconds and I don't want to get the game process frozen for that time while the function is running?

  • I've added weapons upgrade tree for each tank. To unlock weapon, players need to gather materials for crafting.

  • Battle Gameplay video

    Subscribe to Construct videos now

    youtu.be/2BTjdoxi78w

  • > Is there a way to pick the last destroyed instance of an object? For example, in one tick I destroy several instances and I need to pick the instance that was destroyed last.

    >

    > Is there any equivalent to "System > Pick last created", only for destroyed objects?

    Hi.

    You can destroy in an enumeration loop. Then the last one will name the smallest IID or the largest depending on the loop settings.

    Thank you!

  • One idea will be to keep track manually.

    Here is one example:

    It will Pick and destroy all the black sprites and show who was the last one destroyed.

    https://www.dropbox.com/scl/fi/c3tp5wgwqhlmqpgst6fns/Pick-Last-Destroyed1.c3p?rlkey=3cklxpd1fmm8kww7icj6ntnng&dl=0

    Thanks! It seems like using a global variable is the only working way to pick the last destroyed object.

  • I need a trigger that allows picking the last destroyed instance of an object. There's an option where upon destroying an object, the expression "Sprite.Count = 1" is checked. However, there might be a situation where several objects are destroyed in one tick. In that case, the On destroyed event with the expression "Sprite.Count = 1" won't trigger.

  • The "Destroy" action it is just a request to destroy the object. The object becomes destroyed only after the event sheet processing is finished (only on the next tick).

    For example, if you destroy objects, the "Object Count" expression will still consider the objects existing until the end of the current tick.

  • Is there a way to pick the last destroyed instance of an object? For example, in one tick I destroy several instances and I need to pick the instance that was destroyed last.

    Is there any equivalent to "System > Pick last created", only for destroyed objects?

    Tagged:

  • You can use a Dictionary object, which you will save in LocalStorage as Dictionary.AsJSON.

    Next, save the state of your boxes in this dictionary. The key name for the dictionary is "Box."&Box.IID.

    The key value for the dictionary is Box.AsJSON.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I added an inventory with items:

    - Items can be installed on the tank to get stat bonuses.

    - Items come in different rarities.

    - Items of the same rarity and type can be combined to level them up.

    - Unneeded items can be sold.

  • Maybe you want to create map like this?

  • What do you mean? You have to set a size for the layout, don't you?

    You can set "Unbounded scrolling" option. After that "scroll to" can follow object outside the Layout.

  • Imagine a grid that covers the entire map. Each cell in this grid can only hold one unit at a time. When a unit moves from one cell to another, it marks the cell it's going to as "occupied" so that other units can't take it. When a unit leaves a cell, it marks it as "free".

    There are two types of obstacles: temporary (like another unit occupying a cell) and permanent (like a river that the unit will have to go around).

    Every time a unit moves to an adjacent cell, it checks if it's occupied by another unit. If the cell is occupied, the unit tries to find a way to go around it.

  • It's possible. I made this on Construct 3: