DiegoM's Forum Posts

  • This is one way of cycling through lines of text defined in an array.

    dropbox.com/s/nepxo6gicsdbegn/CycleTextFromFile.c3p

    The good thing of doing something like this, is that you don't need to modify the event sheet if you later decide you want to add more lines of dialog.

    Even if you aren't familiar with the AJAX or Array plugins, the example is short enough to be able to go through the events one by one. The important bits are commented.

    Of course this is just one way of doing it, it's the kind of thing that 10 different people would give you 10 different answers.

  • Contact support.

    supportvdg@construct.net

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It's cool, it was a rather old and subtle issue. I guess that people encountering it either could never reproduce it or just thought they were doing something wrong because it's hard to make it happen twice in a row if you don't know it is there.

  • Are you seeing this problem in the latest beta?

    An issue very similar to what you describe was reported and fixed on r289.

  • I took a quick look. You were just misusing the Wait action.

    Here is something more like what I think you want.

    dropbox.com/s/3i129jqgxbnbeia/Zeltronics%20VOZ%20%281%29.c3p

    Check out the part using the Every X seconds action. I also added a little change to the main layout so the game could start without going through the intro, so be careful if you just copy and paste stuff.

    Here is a short tutorial explaining the Wait action better.

    construct.net/en/tutorials/system-wait-action-63

  • I think what is happening is that you are calling the Spawn action on a Sprite instance, expecting for a single Sprite to take the action.

    What is likely happening though, is that all the sprites picked in the corresponding condition are doing the Spawn action.

    You need to make sure you only pick the instances you need. That depends on what you are doing.

  • It's difficult to tell exactly what is happening, but since you said you are using some javascript, is it possible that some of those snippets are using the await keyword?

    If that is the case, the javascript is asynchronous and needs to be waited for before continuing if you want to keep things running sequentially.

    construct.net/en/make-games/manuals/construct-3/scripting/using-scripting/scripts-in-event-sheets

  • I think the problem is that "On key release" is a trigger, you can tell by the little green arrow next to it.

    Triggers are only executed when they actually happen, in this case when the key is released. This is in contrast to regular conditions, like "Key is down", which are checked continually.

    In your case you can use an inverted "Key is down" event. This will continually check if the chosen key is NOT pressed. Then you can do what you need while the key is not pressed.

  • This is a rather simple example showing how you could organize the steps to start and complete a quest.

    dropbox.com/s/yp6skx37lr0uvky/SimpleQuestSystem.c3p

    There are comments for all the important parts, so hopefully you can use it as a building block for something bigger.

    Not too sure what the best way be to handle multiple quests on the same layout would be... I'll leave that to you :)

  • There is a relatively new Tilemap action, called "Set tile with brush" which basically does the same as the editor.

    The action just needs the coordinates and a brush to be set in the editor.

    This is a very simple example on how to use it to set a patch of 3x3. Try it out with the pre-configured brushes for the default tile set.

    + Mouse: On Left button Clicked
    ----+ System: For "x" from 0 to 2
    --------+ System: For "y" from 0 to 2
    ---------> Tilemap: Set tile (LoopIndex("x") + Mouse.X ÷ 32, LoopIndex("y") + Mouse.Y ÷ 32) with brush Brush 1
    
  • Sounds like you already tried storing the coordinates and they seem to not be useful, but you can make them useful.

    Try turning the absolute coordinates into relative coordinates, that way you will be able to use them for different instances.

    After you store all the player positions into an array, you can then create a new array with the corresponding relative coordinates.

    The first element of the relatives coordinates array will be 0,0 because that is the starting position. Each subsequent element is the difference between itself and the previous element.

    Ej.

    absolute coordinates: 100;100, 200;100, 300;300, 400;500

    relative coordinates: 0;0, (200-100);(100-100), (300-200);(300-100), (400-300);(500-300)

    You can then use the relative coordinates to tell any instance to follow the same path but from their own position. So the first place is 0;0, so they stay in place, then you add the following offset to your current position. You continue moving by the offsets until you reach the end.

  • This feature is still not supported. Can't really tell when it will, but it is in the TODO list. I wouldn't suggest waiting for it though.

    In the mean time you'll need to rely on doing any kind of mesh animations using events, which is less than ideal, but I can't think of anything better.

  • WackyToaster That note was for the editor only. I meant that in the editor, adding or removing children from a template will not be reflected in the corresponding replicas. I'll update the original post to make it clearer.

  • I would try setting up an endpoint on your website so that you can ask for the information from it by using the AJAX plugin and making a GET request from your game.

    That means that your website could have something like this

    https://www.your-website.com/my-end-point

    When you make a request to that URL, it should return the information you want.

    You would need to make sure this endpoint, asides from responding with the data you want in the body of the response, also responds with the header Access-Control-Allow-Origin: *, so your game can request the cross origin content.

    That last bit is important because AJAX requests to a domain different to the one the game is hosted in, will be blocked by default.

    Not sure how familiar you are with anything of that. It shouldn't be too difficult... as long as you know what you are doing.

  • LetTheMiceFree

    Right now they are independent features.

    If an instance is set to be a template, even if it is on a family with other object types, it will only affect other instances of the same object type.

    We went with just working with instances of the same type to simplify the initial implementation.

    Maybe this can be added in the future if more people think it's useful.