dop2000's Forum Posts

  • Without the rest of your project it's impossible to help you.

    Test with only 1 or 2 cards, run in debug mode, check all instances, variables and the contents of the dictionary. And you will probably figure it out.

  • I imagine if there were an issue with AJAX, it would've been reported a long time ago. Can you post a screenshot of your code?

  • You can't put that directly in the text box. Use an action:

    TextBox Set text to "[outline=#ffffff]" & Dictionary.Get("key") & "[/outline]" & ...

  • Check InDeck variable of all cards in the debugger. Maybe it's 0 for some cards.

    As I mentioned before, referencing cards by UID in the dictionary is a bad idea. Their UIDs may change if you switch to another layout, or restart the layout.

  • Set the Fullscreen mode to Scale Outer in project properties.

    Set the scale of the background sprite to:

    max(ViewportWidth(layer)/Sprite.Width, ViewportHeight(layer)/Sprite.Height)

  • You can use the ternary operator:

    (BallNumberVar=1 ? Ball.AnimationName : Ball_2.AnimationName)=BallFamily.AnimationName

  • As I explained in another post, you need to pick that second card instance. If you want to do this in the same event, you have to use "Pick all" condition. Another option is to call a function.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Can you explain what are you trying to do? Do you want to save all cards in the dictionary? Then you need a For Each loop.

    Pick all Cards
    For Each Cards : Dictionary add key....
    
  • Use Pathfinding behavior, there are plenty of examples.

    Here is the easiest method:

    Every 0.5 seconds
    Enemy Pathfinding is NOT moving
    System For Each Enemy
    ... Enemy find path to (random(layoutWidth), random(layoutHeight))
    
    Enemy On Path found
    ... Enemy Move along path
    
  • is there literally any way to interact with other copies of the same object in a family? Like if I click on an object it'll change the variable of another of the same object?

    Everything is possible. You just need to pick that other instance of the same object or family. You can use "System Pick All":

    On Card clicked
    Card compare variable code="A"
    ... Pick all Card
    ... Card compare variable code="B" : Card set variable price to 100
    

    or call a function:

    On Card clicked
    Card compare variable code="A" : Call function UpdateAnotherCard(Code: "B")
    
    On Function UpdateAnotherCard
    .....
    
    
  • If I use the start of the layout for turret targeting, units won't change targets after a kill. Am I wrong?

    Yes. You are confusing "Add target" and "Acquire target" actions. You only need to add a target once. Then all knights will fire at instances of Army_Undead_R whenever they are in range.

    But if you want, you can disable automatic targeting, and use "Acquire target" action instead. For example, pick all undead enemies in range, then pick the one with the lowest HP, and acquire it as a target.

  • I'm surprised there's no mention of this in the documentation.

    Also, unlike a sprite, TiledBackground "forgets" its new texture when the layout is restarted.

  • How is it that you can load different images into multiple instances of the same TiledBackground object, and they each display their own image? But with a Sprite, loading a new image replaces it in all other instances.

    Does each TiledBackground instance have its own texture?

  • You can use a single array to store all these JSONs.

  • Well, yes, if you have two nested For Each loops, then you can use "System evaluate expression". Because inside of these loops you already have a single instance of Cards and a single instance of CardFamily picked.

    Here's my code now and it seems to be working perfectly. Do you see any issues?

    It looks good to me!