oosyrag's Recent Forum Activity

  • Oh sorry you're right, you can't make a global variable boolean. In that case just make it a number and add 1 to it.

    Variable = 0
    
    On Start Layout   |  Action - Do Something
    If Variable = 0   |  Add 1 to Variable[/code:8nymgku8]
    
    Now that Variable is 1, that event will no longer run again even if you come back to your layout a second time. Unless you reset Variable to 0.
  • Did you download the capx I linked to in my previous post?

  • Even if you have scroll to on your main character, you can add additional scroll to actions that run conditionally after that one.

  • Global variables are persistent and can be referred to in any layout.

    The persist behavior can be used to save or keep track of objects' information while switching back and forth between layouts.

    Arrays are also persistent through layout changes and are an excellent way to keep track of structured data.

    On start of layout will occur any time that layout loads. If you want it to run once only, use a variable (for example a boolean called "FirstLoaded"), add a second condition to your start of layout event to check if "FirstLoaded" is false, and add an action in that event to set "FirstLoaded" to true. After running the first time, the variable will be true and that event will never run again even if the layout start triggers again.

  • (On Event) - Set Variable to round(random(100))

    (Sub-Events) -

    If Variable < %chance - Do Thing1

    Else if Variable < %chance - Do Thing2

    Else if Variable < %chance - Do Thing3

    ect...

  • Try using a bullet behavior on the sprite, default 0 speed/gravity.

    Condition: Sprite on collide with Player

    Actions: Set Sprite bullet angle of motion to angle(player.x, player.y, sprite.x, sprite.y) //Maybe +180, I forgot if this will angle towards the player or away from the player off the top of my head.

    Set Sprite bullet speed to 200 //Or whatever initial speed

    Decay bullet speed:

    Condition: Sprite bullet compare speed > 0

    Action: Set Sprite Bullet speed to floor(sprite.bullet.speed/2) //Eased out deceleration, you can use sprite.bullet.speed-20 for linear deceleration for example. Best practice might be to add max(0,x) expression to constrain the speed so it does not go below 0.

  • Has copying/viewing the event sheet as plain text been brought up? I think it would be nice to copy pseudocode for discussion via messaging, email, or forums. The current method of taking a screenshot, uploading to a file host, then hot linking seems rather cumbersome to me.

    On the other hand it might disincentivise people from uploading their capx when asking for help, but that happens all the time now anyways. There are a fair amount of legitimate reasons people don't want to share their capx.

  • If you have access to families, put all the spawn items in one family -

    System - For Each PointObject |  PointObject - Spawn ItemFamily
    System - Every X seconds      |
     [/code:2fc0th7q]
    
    If you don't have access to families, create a variable SpawnItem=0 -
    
    [code:2fc0th7q]
    System - For Each PointObject | Set SpawnItem to choose(1,2,3,ect...)
    System - Every X seconds      |
           If SpawnItem = 1          | Create SpawnObject1 at PointObject.X, PointObject.Y
           If SpawnItem = 2          | Create SpawnObject2 at PointObject.X, PointObject.Y
           If SpawnItem = 3          | Create SpawnObject3 at PointObject.X, PointObject.Y
           ect....
    [/code:2fc0th7q]
  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You want the condition "distance travelled > x" and the action "set bullet speed to 0" or "destroy bullet"

    Distance travelled is always kept track of automatically. The action "set distance travelled" is for resetting it to 0, for example.

  • You have given a very general description of your system. There are many ways you can go about it. Have you tried any approach yet? Are you having any problems with anything specific?

    In general, I can only give you the advice that everything is up to you to define Conditions (IF THIS), Actions (THEN DO THIS), and Variables (data storage). For example, you could have an event that says "if your current quest amount is less than 5, then accept quest". Then if the current quest amount is 5 , then this event won't run and the player won't be able to accept the quest.

  • There are many threads regarding this, try running a search. Have you checked in the stickied FAQ thread? how-do-i-frequently-asked-questions_t63692 - Specifically in the section "Monetizing".

    Try also https://www.scirra.com/tutorials/4848/h ... -crosswalk

    EDIT: My apologies, missed the web browser game part >< See below.

  • If all four players have the same amounts/types of information, I would just use a single array. But that depends on how comfortable you are using arrays and their expressions I suppose. It could compact your event sheet significantly, but at the same time make it harder to read or understand.

oosyrag's avatar

oosyrag

Online Now

Member since 20 Feb, 2013
Last online 29 Nov, 2024

Twitter
oosyrag has 38 followers

Trophy Case

  • 11-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • Enduring Visitor Visited Construct.net 90 days in a row
  • Unrelenting Visitor Visited Construct.net 180 days in a row
  • Continuous Visitor Visited Construct.net 365 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

21/44
How to earn trophies