dop2000's Forum Posts

  • Your mistake is that you think X is the horizontal axis, but in 2D arrays it's vertical. So rows are X or Width, and columns are Y or Height.

    You need to update your code like this:

    Note that XValue should start with -1

  • You can save the ID and UID of the first door in local variables, then pick all doors, and then pick a door with same ID and a different UID. Something like this:

    Player on collision with Door
     variable doorID=0
     variable sourceDoorUID=0
     
     -> Set doorID to Door.ID
     -> Set sourceDoorUID to Door.UID
    
     System Pick all Door
    
     Door compare variable ID=doorID
     Door pick by unique ID NOT equal to sourceDoorUID
     ----> Player set position to Door
    
    
    
  • You can set animation frame for each instance in the layout editor (on the left panel). No code is required.

    If you need to change frames during runtime, you can identify each instance by IID/UID as Maverick1912 suggested. Or add some instance variable, for example "Type". Then you can use an event like

    System For each Sprite 
     Sprite.Type=1 -> set animation frame to 5
     Sprite.Type=2 -> set animation frame to 10
    
  • Your JSON data is intended for an array, so you need to load it into an array.

    Dictionary JSON should look like this:

    {"c2dictionary":true,"data":{"a":123,"b":456,"c":789}}

  • Oh, you mean remove item from the layout? Then yes, you are right, your code will not work, because as Kyatric mentioned, "Item is NOT on-screen" condition actually picks all items that are not on-screen. So when there are no item instances at all, this event will not be triggered.

    You need to change your code like this:

  • Zebbi, there is a working link to capx in the comment right above yours.

  • I tested your game and everything works fine. The dog goes "Woof" and I am able to pick up a can of beer or battery or whatever that thing is.

    I think the problem appears when you have items in the inventory/UI. You need to exclude items that are pinned to the UI. So add "Stage_Item is NOT pinned" condition to all three events #175, 178 and 181.

    Also, when both NPC and item are on-screen, you can change your event to this:

  • If you need to access files from system folders (like Program Files, Users\name\AppData etc.), then use environment variables.

    If you just want to run a file from the current drive (for example E:\Games\MyGame\MyFile.exe), try it without the drive name:

    "\Games\MyGame\MyFile.exe"

    Or you can get the drive letter from the AppFolder expression: left(NWjs.AppFolder, 1)

  • If I understand you correctly, you need Windows environment variables.

    "%programfiles%\paint.net\PaintDotNet.exe"

  • Hmm, I don't know.. You might need to place each enemy+FOV+shadowlight on a separate layer. Say, reserve 10 layers for that and spawn new enemy on an unoccupied layer.

  • Still, it will be much easier if you post your capx. It's a guesswork without it.

    There may something wrong with layer settings, behaviors, image points etc.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Thanks!

    Discovered a problem - the game won't run on IOS.. Apparently, Safari doesn't like audio files that are too short (less than 0.1 seconds or so?)

    It should be fixed now!

  • I believe this is happening because you are "dragging" your platform object over the solid ground. You need to use "Simulate control" action, or not use Platform at all and do everything with Bullet or some other behavior.

    Take a look at the Auto-runner template in C2.

  • I know this is an old topic, but in case anyone else is looking for a solution - I managed to do this with some JS code.

    dropbox.com/s/kbxitrfg4h1xxoc/WindowFocus.capx

  • I managed to do this with some JS code.

    dropbox.com/s/kbxitrfg4h1xxoc/WindowFocus.capx

    Not sure if it will work on all platforms. You can try different event handlers instead of "onblur".