winstreak's Recent Forum Activity

  • You can create a sprite, make it small 3x3 or so. Set the properties initially visible to unchecked (so it isnt visible). For the sake of this we will call them spawnLocation.

    Now just copy paste these to each spot you want to be an option for randomly summoning.

    System > Pick Random Instance will allow you to choose spawnLocation object.

    Then Create Object (Whatever you want spawned) at spawnLocation.x spawnLocation.y

    If you want multiple spawned and don't want them overlapped - add a boolean type instance variable to your spawnLocations set to false. Simply check for spawnLocations that are showing false when you pick your random spawnLocation.

  • Sure you can, you just need to make sure you call the specific instance you want with UID.

    On the time of collision I grab the UID of the auto attack as well as the Enemy I need to target. My enemies all have different health amounts.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • No worries, you'll continue to make foolish mistakes as long as you keep Dev'ing :)

  • Add a boolean variable to your objects: Stuck = False

    Anytime you could potentially have two objects that overlap, check which one is lower and set Stuck to True

    Anytime you could potentially have two objects that no longer overlap, set both Stuck to False

    When ever you try to click an object, verify Stuck = False

  • The most correct way to handle everything would be how dop2000 mentioned, but it gets very complicated if you try to start doing it after you already have a full game created (atleast I thought so).

    Only altering existing objects messes up save states. Since you are setting a property, the game yesays 'roger', then the load comes in to set the properties to the old values, and again the game says 'roger'.

    Newly created objects will appear in a game with a save state already in place. You can design a whole new map and will need to do nothing new.

    • If you are creating something new on an already existing map - sometimes you need to push objects to the correct place on the Z order map with your events

    You will definitely need a saved value on your game that you can load to verify you changes came in right. If they don't you add the extra events.

  • You have your Player Object set to Default Controls which moves your character with your arrow keys.

    But the whole purpose of the player box is to move your playerbox with platform and set your character to the position of your box with your every tick set position action.

    Not sure if this could break the movement in some way or not, just seems like as good as any area to start. :-p

  • We would need to see more of your code to know for sure.

    Here's 2 things to check to get you started though:

    You could have Enable Collision unchecked.

    Could be on a layer with interactions off.

  • Looks like you have platform enabled and default set on your Player Object.

    You are using a playerbox and setting the position of your Player every tick so you dont need to move your character with Platform, just need to move your box.

  • A function would be the easiest way. Add it right into your current event sheet. If the version the player is on is lower you would call the new version's function so you can have a whole list of changes at once.

    Lets say we had a patch were we moved the first boss to a new position and buffed the players attack speed by 5. On your player characer you would add 5 to attack speed and you would go to the boss and move it to the new position (like normal).

    Then in the events

    If UserVersion = 1.01 || call function 1.02

    If UserVersion = 1.02 || call function 1.03

    The events you would have in there would be all of the changes:

    1.02:

    UserVersion set 1.02

    Player.AttackSpeed Add 5

    Set Position Enemy.Boss1 (154,100)

    1.03:

    Do all this other stuff

    And for each patch you would change the initial value of the UserVersion to the newest. If someone had a saved version it would mean they get the updates - new people would all have the newest already.

  • If you have the paid version you'll want to use families like oosy suggested.

    Otherwise you will need an event for each type of enemy. I suggest creating a Group for damage enemies. Then you can throw all your gross code into there and minimize the group so it takes up next to no room. Every time you add a new enemy you will have to pop open your damage enemies group and add the new enemy.

  • The answer to your question will change depending on what content is to be changed. But you will need to make the fixes in your Event sheet to effect users who have a save.

    I recommend a new Group of code for each patch you release. This will have all of your fixes - and you will call it one time for each person on load, if they don't already have this.

    Using a Global Variable 'UserVersion', track the version that the user is on. Let's say 1.01 is in that global.

    Time goes by with that user not playing and your game is on 1.04. In your event sheet on game Load complete check 'UserVersion' < 1.04. If it is you call each version they missed - 'UserVersion' = 1.01 call 1.02

    1.02 will set all the changes from that patch one time then change the users version to 1.02 and recall a version check doing this until they reach 1.04

  • You would want to make your own function.

    On the bottom of the event sheet click on 'Add' (NOT Add Event) then select add function.

    Inside the function you would create all your objects.

    Each Time that function needs to happen you simply call it.

    Let's say:

    I have a square room and a door on the top center for my starting map. Once I walk into the door my character is at the bottom center of a new blank page - this is where my function would be called. I would create an exit right where my character is - and the next time I walk into it that will bring me to my previous screen. Create a random amount of enemy objects and place them randomly around the map. Set there stats based on hero level or room level. Create atleast 1 random door to move deeper. Randomly place that on an edge of the screen.

    Now each time I bump into a new room door I will create a new but also random room, and I can walk back to my previous rooms.

    It will be a lot of work to get the base down, but once you have it where you want it you can scale it infinitely

winstreak's avatar

winstreak

Member since 4 Dec, 2019

Twitter
winstreak has 11 followers

Connect with winstreak