oosyrag's Forum Posts

  • +1 for online backups.

    Recovery wasn't even an option for me... laptop got stolen ><

  • Describe your glitch?

    The realtime multiplayer tutorial is very basic and concise, you really need to do your best and understand each part of it. While the multiplayer plugin automatically handles a ton of basic net code principles for you, it is still flexible enough to allow for different implementations in terms of multiplayer logic and updates.

    Basically, most projects/examples will be even more complicated than the tutorial example. If you don't understand all the ideas presented in the multiplayer tutorial, it will be very difficult to proceed or troubleshoot problems.

  • See if adding "For Each - Enemy" and see if that helps.

    Actions by default run "For All"... if you add for each, your actions will be done separately for each instance of the obect.

  • Array.at(floor(random(array.width-1) will give you the value at a random position in the array.

    I recommend learning how to parse a text file to work with a large list of words. You can import the list as a project file, read it with AJAX, and parse out each word with tokenat and the newline expression as your token separator.

  • You can enable and disable the platform and 8-direction behaviors as needed with actions.

  • Firebase is SaaS, basically a hosted database for its simplest use.

    I'm not familiar with the other services you linked, but generally speaking you'll need a plugin for C2 that will let you authenticate/log in to those hosted services and manipulate the data.

    If you are putting up your own server, I'd say again that Parse was very popular, and there are tutorials online about how to build your own parse server. Then you can use the Parse plugins that exist on the Construct 2 side.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Try utilizing spritefont. Either have a system where the user can enter text into the spritefont directly (custom textbox) or create a spritefont with the textbox contents upon taking a snapshot.

  • System Pick Nth Instance of Family

    Use the expression floor(random(family.count)

  • Try using a "System-Wait" action in between 5 seperate spawn projectile actions. Don't use repeat.

    Remember the entire event sheet is run once per frame. Repeats will all be processed within the same frame.

  • You can use the timer behavior, or set up your own timer/counter variable.

    Instance Variables:

    Duration=1.5

    IsMoving=false

    (On Trigger, Object IsMoving=false)

    Start timer for Self.Duration seconds

    Set Object.IsMoving=true

    (Object IsMoving=true)

    Set Object Y position to lerp(270, 80, Self.Timer.CurrentTime/Self.Duration)

    (Object OnTimer)

    Set Object.IsMoving=false

    Set Object Y position to 80

    This does take 3 events though. Recommend also having start position and end position as instance variables, which you set upon triggering the first event

  • Should be able to.

    Although I think there were some platform specific issues a bit ago regarding precision timing for playing sounds, but I'm pretty sure that got patched out.

  • Without plugins: https://www.scirra.com/tutorials/940/ho ... -a-project

    Advanced: Convert each part of the date/time to an integer (total time in seconds). You can then store or compare this value upon startup or save.

    Dependent on system time, so can be cheated by adjusting date/time on system.

    There may be a way to get the current date/time from a time server, but I am not familiar with the method.

  • Parse was a popular method before it became discontinued as a service (you can still set up your own parse server), and I believe Firebase has the same basic functionality. You can get plugins for these platforms.

    I don't have much experience with them myself so maybe someone else can give you more info or other suggestions.

  • I generally store the associated peerid in an insurance variable for the object that can be owned. To disassociate, pick the object by comparing the correct peerid instance variable, and clear the variable.

    You don't necessarily NEED to do this, but it keeps things logically clean. It depends on how you set up your events. Usually peerid is the most used form of picking the correct insurance in multiplayer, so I'd say it would be good practice.

  • Conditions

    Compare two values ExpVariable > CertainAmount

    Run Once

    Actions

    Create PopupTextObject at x, y

    Set Text to "LEVEL UP"

    Optional - Add Fade Behavior to PopupTextObject