oosyrag's Forum Posts

  • So event number 9 is not running at all. Multiplayer.ListRoomCount cannot return a value until the room list has been received, but you call the request in that event. The second event will also never run because the request is never sent in the first place.

    Try using another trigger to first request the room list.

    Then, on room list received, repeat Multiplayer.ListroomCount times

    RoomList Append text Multiplayer.ListRoomName(loopindex) & " - "Multiplayer.ListRoomPeerCount(loopindex) & newline

  • The manual is pretty clear... Which part don't you get?

    You'll need an ”on room list" event, then you can get all the room information by expressions.

    [quote:3qv3qd8b]ListRoomCount

    After On room list, the number of rooms in the received list.

    ListRoomName(index)

    ListRoomPeerCount(index)

    ListRoomMaxPeerCount(index)

    ListRoomState(index)

    After On room list, retrieve information for a room at an index in the received list. The state can be one of "available", "locked" or "full".

    You can use a loop for loopindex from 0 to multiplayer.listroomcount to go through each room by index.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Pick all FireSprite

    FireSprite compare instance variable = fireID

    System compare FireSprite.pickedcount = 0

    Make sure this is a sub event of whatever destroys your fire in the first place. Otherwise, you may need to add a trigger once while true condition.

  • != means not equal to

    Is the blank space always at the front/back? Are you sure your array is default width 0?

  • Ok I get what you are trying to do I think.

    In your case, if you don't need a specific route name, you can just use the x index as your "route number", starting with 0 (If you do, you can use the indexof() expression).

    Your conditions would include:

    Array for each XY

    System Compare two values Array.CurY = routeNumber

    Array Compare Current Value !=0 (because you don't have the same number of monsters per route, some cells will be empty, or 0 - you don't want those)

    The action would be:

    randomizerArray - Push back Array.CurValue

    (You only need one action because you are only pushing one value to the new array. The randomizer array should start out as 0 width, 1 height, 1 depth)

    Then use floor(random(randomizerArray.Width)) to pick a random index from the randomizerArray, and reset the array by setting it back to 0 width.

  • Oh I was replying to gearworkdragon actually.

    But basically you do a for each x/y on an array, which will run through each cell, and you can add conditions to specify which row or what content you are looking for.

  • I'm not sure I understand what you are going for... could you clarify? Here is an example of the method I described in my post.

    https://www.dropbox.com/s/osqgnnq4voogt ... .capx?dl=0

  • I thought DT already took time scale into account.

  • Thought you meant just automatically.

    In that case, the simplest way is a set of actions. You'll want to set your angle via your controls. Then, every tick, set your player to the planet's x and y, and then use the move forward at angle action together to place it in the right place. The distance is how high you want your orbit, and the angle would be angle(planet.x,planet.y,touch.x,touch.y) (or mouse.x and y if you're using mouse). If you're using keyboard arrows, you'll want an angle variable that gets modified by your arrow keys.

  • You can use a combination of a horizontal and vertical sine movement to create an orbit.

  • Updated capx, with comments, same link.

    https://www.dropbox.com/s/mz3e0ys26mfo5 ... .capx?dl=0

  • New approach for perpendicular tracking of mouse as requested. Simpler too.

    https://www.dropbox.com/s/y373s7br405fk ... .capx?dl=0

  • See if this helps. https://www.dropbox.com/s/dkqrwnwdz75qh ... .capx?dl=0

    Basically use a global variable to keep track of where you came from, and have multiple spawn locations based on that variable.

  • That's up to your own style or workflow. If you need to randomize your enemies or generate then dynamically, I would create them via events.

    Or if you like/need to place them in the layout editor for level design purposes, then just set the variables manually then copy and paste.

    You can also just set a single instance variable "monster type" when placing on the layout editor, and adjust all the other variables based on that by event on start of layout similar to how i described with a function. This will make it easier to make changes and adjustments later.

    Really is up to your own preference and what is most suitable for your game.