dop2000's Forum Posts

  • Add "Else" to the "CurRound=2" condition:

    CurRound=1 : Function Call CreateEnemies
    
    Else
    CurRound=2 : Function Call Boss1
    

    Also, you are making the same mistake most beginners make in Construct - using "Trigger once" where it's not needed, which can cause all kinds of bugs. Remove it from functions and try not to use it in your code until you fully understand how it works.

  • I did this by using an invisible flat tilemap and invisible enemies on it. The player character was also invisible and walking on the same tilemap. So under the hood the whole game was actually played on a flat 2D grid.

    I then translated their coordinates to the visible sprites on visible isometric grid. Here is my game:

    dropbox.com/scl/fi/aqiyoqg1907ghew482g0m/GreenShadow-eng.c3p

  • I've seen many people mentioning the same problem. You can disable hardware acceleration in browser settings, but it will run slow.

    Another option is to revert to the previous version of C3 - r317.2. If the browser keeps loading the current version instead, try clearing browser data/cache.

  • Yeah, I've been using Construct for many years, and I still keep forgetting that each layout remembers layer visibility when you return to it. I don't think there's a setting to disable this.

  • Use Audio "Fade volume" action.

  • Don't use "Trigger once" condition if there are many copies (instances) of Chest sprite. It will not work correctly!

    You can simply move "Chest spawn Reward" action into event #3.

  • Check "Export file structure" in project properties. If it's set to "flat", you don't need to specify subfolder name.

  • It's not possible to answer your question without seeing your event sheet. Can you post a screenshot of the events, or share your project file?

  • Yes, use "Request URL" and put the filename testft.srt into the text variable.

    Or you can use something like this:

    Variable lang = Fr
    
    AJAX Request URL "test" & lang & ".srt"
    

    If the file is in a sub-folder, you need to include it too, for example:

    AJAX Request URL "Subtitles/testFr.srt"
    
  • I do something similar in my projects. All texts are added to a single Texts family. It has a "tag" instance variable defined on it. I can specify unique tags for each text object on the layout, for example "player_score", "game_over" etc.

    There is an array containing all these tags with strings translated to different languages.

    And I have a single "Texts On Created" event, which looks up the string in the current language for each text by its tag.

    I chose to use an array because it's easy to edit, but this can be a dictionary or JSON.

    Here is a (paid) template with this and a few other useful mechanics for game localization:

    construct.net/en/game-assets/game-templates/multi-language-support-c3-2407

  • The only issue with Tween is that it will choose the shortest way. For example if you tell it to rotate from 0 to 270, it will rotate 90 degrees counter-clockwise.

    If you want to rotate 270 degrees clockwise, you need to use "Tween Value" action and set the angle to Sprite.Tween.Value("tag") while the tween is playing.

  • So a web game? Use Browser.QueryParam and Browser.QueryString expressions

  • Oof..

    I would suggest parsing the entire works of Shakespeare into a list of unique words first. This task itself is going to be tricky. You need to remove all punctuation, line breaks and other non-letter characters, replace them with spaces. Then extract every word using tokencount/tokenat. I suggest writing these words to a dictionary as keys, this is the easiest way to get rid of duplicates.

    Then you can start generating that continuous string, and after adding each letter loop through all dictionary keys and check if the string contain such key.

    For Each key in Dictionary
    find(LongString, Dictionary.currentKey)>=0
    ... // word found!
    ... Dictionary delete Dictionary.currentKey
    

    You'll need to use expressions like tokenat, tokencount, find, trim, replace etc. See this link:

    construct.net/en/make-games/manuals/construct-3/system-reference/system-expressions

    Oh, and the string doesn't need to be endless. If no words were found, you can safely trim the string, leaving only the last 20 or so characters. This should help with the performance.

  • I think it should be something like this. But it won't work in preview, you'll have to export it to NWJS to test.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • What do you mean by "directly" - without prompting the user? You can only do this in NWJS export. Use NWJS action Write Binary File. I guess you'll have to load CanvasSnapshot into the BinaryData object first.