The Hopscotch Webplayer

there’s a UUID on the JSON file

1 Like

It says there’s “no UUID present” and the file name is “20648C82-5F13-087D-D219-9CB529E436BF.hopscotch”

2 Likes

Make a draft on Hopscotch and upload it, or make a draft on the Project Builder? Neither produces a UUID.

There isn’t one.

I pasted the UUID from a project I posted that I then edited from the project builder. I downloaded the JSON file into the json_projects folder of the device I have hopscotch on. The project isn’t updating. I can’t view the project on my list of drafts in Hopscotch, although it’s in the json_projects folder.

When I reload the draft, it doesn’t update with my latest changes.

I think I’m missing something here. How can the project update when I’m manipulating it? Don’t I need to be signed in to make changes on a project that is published to produce a UUID for it? Can I play drafts that look like “20648C82-5F13-087D-D219-9CB529E436BF.hopscotch” without a UUID? How do I get UUID for drafts?

I have some ideas based on Minecraft’s Fabric mod loader. They use intermediaries which map each obfuscated class, method, and variable to an intermediate name which is matched and preserved between updates using Matcher. This would be helpful so we can get updates out quickly while maintaining mod compatibility.

As for code modification, I’m deciding the best method. Source patches may be the best method as there’s no standardized bytecode format for EcmaScript.

1 Like

If you save a Hopscotch draft, you should be able to open it in HS Builder. Make sure you’re sorting the files by date and choosing the most recent Hopscotch draft when you do this, and that the rendered code is correct.

There should definitely be one, since Hopscotch stores it in the project JSON. If there isn’t one, then it must not have uploaded properly from your drafts

Save your published project as a draft first. Then, open that draft in HS Builder. You don’t need to make any modifications within HS Builder except for secret blocks to that draft.

When you save it, you’ll need to replace the existing file. If you’re on iOS 15, you need to edit the “Save HS Project” shortcut first (in the “save file” action, change “overwrite if file exists” so that it is toggled to “ON”)


  1. Save your published project as a draft. Then, open the draft on HS and exit it, making no changes.
  2. Open that draft in HS Builder
  3. Copy that UUID (there really should be one, if not then your draft must not exist on HS’s server)
  4. Add secret blocks to that project
  5. Turn “overwrite if file exists” on in the last save file action (“save hs project” shortcut) if on iOS 15.
  6. Save file from HS Builder. Save to iPad > Hopscotch > json_projects, and if on iOS 14 or older you will be prompted to replace the file (click “replace”).
  7. Close the project builder, assuming you still have the UUID of the project copied to your clipboard.
  8. Open the draft in HS and make some changes.
  9. Open the modded player page and paste your UUID in there.
  10. Make changes to the HS draft, and exit the HS draft. All changes will be applied to the modded player page upon reload.
3 Likes

Hey Æ, do you have a png of the bear character I can use?

Thanks
eyJ

( This is off topic )

(you can ask general modding-related questions here or on the shortcuts topic – HPCX is specifically for that shortcut)

let me know if you need a larger size
bear

1 Like

Thanks Awesome_E

I’m making a series called playing Your Hopscotch Projects

1 Like

Thanks! It seems to work on the iPad but not on my phone.

1 Like

_ae_webplayer_action: { "name": "session-read", "args": ["session.data.game[session.getUser(","_data",")].power"] }

What is power? Is it the variable Object ID String?

If I change "_data" to 0 I will read data from the host, right?

How can I check for the existence of other players in the session?

1 Like

“power” here refers to the name of the variable in the cloud. It doesn’t have to match the name or ID of any variable in Hopscotch.

Yes, the host has a player ID of 0, and -1 is a quick way to refer to “self”

Check the testing project (Bear > Game starts). I think it’s something like this:
_ae_webplayer_action: { "name": "session-read", "args": ["Object.keys(session.data.users).length"] }

2 Likes

Do you know what’s wrong with my project? 120r6c1xq3

I first want to make another player appear when they join, then I’m trying to change session data for the x and y variables. There doesn’t seem to be another player appearing. I also added a Monkey object which is also supposed to appear when another player joins, but it’s not appearing.

1 Like

@Awesome_E can I change the screen size of a HS project mid-game?

1 Like

I don’t think so

No, since it is stored in a property in the project’s json, which can’t be modified by the webplayer.
In theory this could be implemented by tht, though, if pixi.js allows it.

1 Like

See the sample project to detect player count. Btw, using the modded, player, you can’t read Hopscotch variable UUIDs

I’ve tried experimenting with that a few times to no success. Editing the webplayer allowed me to change some things correctly but it didn’t work in the end

4 Likes

@Awesome_E the project player doesn’t execute multiplayer actions on my phone and iPad but works on desktop. Do you know why?

iOS version? Also, you have to access the play page directly; it can’t be loaded from project builder

2 Likes

I’m using the website Loading...?

iOS

1 Like

What is your iOS version?

1 Like