Discuss Scratch

RokCoder
Scratcher
1000+ posts

Stickman Player (for adding stickman animations into your own projects)

Almost a year ago I wrote the Stickman Animation tool.

Using inverse kinematic controls It allows you to create, edit and view stickman animations by simply pulling the feet and hands into the positions you want them at different points throughout the animations. You can see a brief overview of the tool in the thumbnail below -



My intention was to use these animations in other projects. This is now possible with the new Stickman Player tool.

In just over ten lines of script, you can add a controllable walking stick-man to your own project!

You can see output from a sample project using the new Stickman Player tool in the thumbnail below -



It wasn't possible to give an overview of the instructions in the actual project page so I decided to set up a forum thread here.
  1. Instructions
  2. Full message interface
  3. Future work
  4. Animations (created by myself and by other people)
__________________________________________________________________

Instructions

Creating your own animations

To create animations for your own project, use the Stickman Animation tool. Full instructions for creating animations are included within the project. When you save your animation it will provide you with a save-code. The new Stickman Player tool uses these save-codes to add the animations to your own projects.

Adding the player to your own project

To add the player into your own project you need to look inside the Stickman Player tool. Open your backpack and drag the Playback Engine sprite into it. Now go to your own project and perform the following steps -
  1. Create four variables (for all sprites) - Broadcast In, Broadcast Out, Broadcast Out X and Broadcast Out Y. All communication with the player is done using those four variables and by broadcasting messages.
  2. Drag the Playback Engine sprite from your backpack into your project.
That's all there is to it!

Using the player in your own project
  • Initialise the player.
broadcast [Player - Initialise v] and wait
  • Prepare the animations. Note that the player already includes an idle animation by default. Also note that you can see the names of the animations near the beginning of the save-codes.
set [Broadcast In v] to [QQRRUNRYQ;T!U.ICIVT"U,E2E\Y&TWTGQ1T$U¬RXRHT)UEI£U\YFUTTXQVT"U,E2E?T!U.INI\Y\U|R3QHT)UEI£U1T$U¬RXR\YMOQT6]
broadcast [Player - Add animation v] and wait
set [Broadcast In v] to [QQTWALKWGQ/T(Y/E,EKY$Y|I¬I6Y{TFT3QCY!Y/I{I;T)YQR_E6Y.YGT;]
broadcast [Player - Add animation v] and wait
  • Set an animation in motion.
set [Broadcast In v] to [walk]
broadcast [Player - Set animation v] and wait
forever
broadcast [Player - Animate v] and wait
end

That's really all there is to it - you should now see a stick-man walking across your screen!

Behind the scenes

The stick-man is drawn using the pen layer. This means that you need to clear the pen layer each frame. This isn't done by the player as you may want to draw backgrounds behind the stick-man and the player would have erased them. Because the stick-man is drawn with pen you need to be aware that any sprites will appear in front of the stick-man. In the sample code from the Player project you will see a scrolling background. This is achieved by stamping the (hidden) sprites to the background before drawing the stick-man on top of them.

Simple complete sample script

The following short script will initialise the player, add a walk animation and allow you to make the stick-man walk to the left or right. When he isn't walking he will revert to an idling animation.

when green flag clicked
broadcast [Player - Initialise v] and wait
set [Broadcast In v] to [QQTWALKWGQ/T(Y/E,EKY$Y|I¬I6Y{TFT3QCY!Y/I{I;T)YQR_E6Y.YGT;]
broadcast [Player - Add animation v] and wait
forever
if <key [left arrow v] pressed?> then
broadcast [Player - Face left v] and wait
set [Broadcast In v] to [walk]
else
if <key [right arrow v] pressed?> then
broadcast [Player - Face right v] and wait
set [Broadcast In v] to [walk]
else
set [Broadcast In v] to [idle]
end
end
broadcast [Player - Set animation v] and wait
broadcast [Player - Animate v] and wait
end

__________________________________________________________________

Full message interface

broadcast [Player - Initialise v] and wait
Initialises the player and should be called at the beginning of your project.

broadcast [Player - Add Animation v] and wait
Adds an animation (from Broadcast In) to the player.

broadcast [Player - Set animation v] and wait
Sets the current animation being played (using Broadcast Out). This can be an animation that you've added or the idle animation that is included by default.

broadcast [Player - Set animation with callback v] and wait
This performs the same task as Player - Set Animation. The only difference is that, once an animation has finished it's first play through, it will broadcast an Animation Done message. Using this callback you can make your project automatically change to a different animation instead of looping the current one.

broadcast [Player - Animation done v] and wait
If Player - Set animation with callback has been used, this message is broadcast after the complete play through of the animation. Your project can use this message to change animation, perform an action required at the end of an animation or whatever else you decide to do with it. As an example, in the sample project control is taken away from the player while the stick-man does a somersault. When he completes the somersault this message is broadcast which re-enables the player's control.

broadcast [Player - Animate v] and wait
Called every frame to update and display the animation.

broadcast [Player - Set ground level v] and wait
Set the ground level (using Broadcast In). This is the level that the stick-man stands. By default it is set to zero and the stick-man's feet will be at the middle of the screen (y = 0). By changing this, you control how high or low on the screen the stick-man will position his feet.

broadcast [Player - Display ground level? v] and wait
Determines whether the engine will draw a line at ground level. Pass true or false in Broadcast In to use this.

broadcast [Player - Face left v] and wait
Makes the stick-man face to the left.

broadcast [Player - Face right v] and wait
Makes the stick-man face to the right.

broadcast [Player - Set position v] and wait
By default, the stick-man starts in the centre of the screen (x = 0). Using this (with Broadcast In) you can control where he appears.

broadcast [Player - Set zoom v] and wait
By default, the stick-man starts at full zoom (100%). Using this (with Broadcast In) you can control the zoom of the camera.

broadcast [Player - Set scale v] and wait
By default, the stick-man starts at half scale (50%). Using this (with Broadcast In) you can control the scale of the stick-man.

broadcast [Player - Set camera v] and wait
This sets the horizontal position of the camera using Broadcast In. As the stick-man moves using world coordinates. He will quite happily walk off the side of the screen and continue walking! You can move the camera to keep him on the screen. A nice example of this can be seen in the sample code.

broadcast [Player - Get animation playing v] and wait
This returns the name of the current animation in Broadcast Out.

broadcast [Player - Get camera v] and wait
This returns the horizontal position of the camera in Broadcast Out.

broadcast [Player - Get position v] and wait
This returns the horizontal position of the stick-man in Broadcast Out.

The following receivers are intended to give feedback about the Stick-Man's various body parts so that they can be interacted with. To determine the position of his right hand, for example, to see if he can push a button or to superimpose a weapon into his hand.

broadcast [Player - Get head v] and wait
This returns position data of the stick-man's head in Broadcast Out, Broadcast Out X and Broadcast Out Y.

broadcast [Player - Get left foot v] and wait
This returns position data of the stick-man's left foot in Broadcast Out, Broadcast Out X and Broadcast Out Y.

broadcast [Player - Get right foot v] and wait
This returns position data of the stick-man's right foot in Broadcast Out, Broadcast Out X and Broadcast Out Y.

broadcast [Player - Get left hand v] and wait
This returns position data of the stick-man's left hand in Broadcast Out, Broadcast Out X and Broadcast Out Y.

broadcast [Player - Get right hand v] and wait
This returns position data of the stick-man's right hand in Broadcast Out, Broadcast Out X and Broadcast Out Y.

The following receivers allow you to customise the look of your Stick-Man. They are intended to work in conjunction with the previous positional receivers. The demonstration code in the Player project gives an example of how to do this.

broadcast [Player - Display head v] and wait
A callback which you can use to superimpose your own head graphics (as done in the sample code).

broadcast [Player - Display left foot v] and wait
A callback which you can use to superimpose your own left foot graphics (as done in the sample code).

broadcast [Player - Display right foot v] and wait
A callback which you can use to superimpose your own right foot graphics (as done in the sample code).

broadcast [Player - Display left hand v] and wait
A callback which you can use to superimpose your own left hand graphics (as done in the sample code).

broadcast [Player - Display right hand v] and wait
A callback which you can use to superimpose your own right hand graphics (as done in the sample code).

__________________________________________________________________

Future work

New suggestions will be added here as they are thought of and/or suggested by other users.

  1. Update the Stickman Animation tool so that it can create non-looping animations as well as looping ones. This would add the possibility to, for example, add a (non-looping) kick to handstand animation before the looping walk on hands animation and to follow it with a (non-looping) drop from handstand animation.

  2. Implement clones so that multiple stick-men can be controlled individually. This would be fairly trivial with a new global variable being used to target which stick-man messages are being broadcast to.

__________________________________________________________________

Animations

New animations will be added here as they are suggested by other users.

Walk
QQTWALKWGQ/T(Y/E,EKY$Y|I¬I6Y{TFT3QCY!Y/I{I;T)YQR_E6Y.YGT;

Run
QQRRUNRYQ;T!U.ICIVT“U,E2E\Y&TWTGQ1T$U¬RXRHT)UEI£U\YFUTTXQVT”U,E2E?T!U.INI\Y\U|R3QHT)UEI£U1T$U¬RXR\YMOQT6

Somersault
QQASOMERSAULTUUQ\R*UMO3I\R)UHO3I¦YCT{RGQ:TFU.RQR¦T|YGTSOOUQY)TXQ_R/YJRWOITPU{O?I2I;Y2Y0QOR/YJR;R=RPU{O¬RQR>UNY"Q^R/YJRVU¬RPU{O>Y.T¦I^T-QRY;YWRYI£T;YNR6IKYVOST}QCY>Y(I{I;T¦Y/E_E6YYPOT+

Roll
QQTROLLPOQ4R7I:IOI$RZICO@UJUZTMRGQ.R.URP+I@R¬U¬O7I'U@T^RLQ^RDIHP<I4RII\O@IHIJY.RNQ+R%U0P1OBRFU2P5O;IUU)T3Q'R&U{RNRLR2UVT9R:E>U*T)Q7RJIGOTTAR$IXEETMR-IFT%QNRZIFE}T*RGI'W¦T>R1OVR(Q4RBI!I^Y"RTIUI=Y@T6O_E¬Q$R>Y%R@U4RDU}OOIJU'OVR.QCY!Y/I{I;T)YQR_E6Y1POT7

Walk on hands (this would need two more animations to use fluently - kick to handstand and drop from handstand)
QQJWALKING ON HANDSRDQ.T£UZYVYWY(YXYXY,E1T>TNQ|T=Y1QJY!T}YEYIY<E/T@T)Q@TOUPYBY)T=UDY3Y;E)Y/T_Q:T^YQY1Y:T=Y1QHY,EDU:T1

Hop
QQRHOPTGQQT4Y8U9URT4YNT3I6Y!R_RVQ1T}Y%I4IAY4YWO,E%Y+T|T2Q@R)U|U'U>T;UFIUO$YZYUT)QYT4Y/IWI£T4Y4R/I!YJY?R'QOT4Y£IYI4Y4Y*R+E6YWYDTB

Handspring
QQAHANDSPRINGIOQLTTUYY_RSTEU\TKR9I.Y0YLQ4Y4Y_AAY4Y4Y¦AEYROJI|TXQMYFUVAKYNYCUXAPYJO'I'TVQCYQU$ANYZY¦Y$AJY2OPO:T1QPYZU7T^YYYNU^T7Y4R.OKY)QVT9U:RGU1TNU^T9U4TJA{T-QBT9U2R/U¦R9U^RRI-Y"A)R'QTT8UCODIQT¬U¦I&IDUIS=R'

Another walk
QQDANOTHER WALKPYQ_TIU&I-IRYOUYO:E9Y'RUTSQ;T;Y<E|ILTRU¦I“I!YKTOTGQ,T/YERSO0T>Y=IKI9Y9TUTKQ:T,YQRDO-T|Y&I3I!Y”TTTLQ'T@Y|E_E{TWU^I6I“Y£TTTCQ£TPUUOOO/T?YQO%I”Y-TUTMQYTVU_I!I?TTUPOTO7YNYST2Q&TWU¦I2I|TOUHOAO)Y5YAT3Q7TQU_I0I|TPUKODO)Y9YPT6Q\T>Y$I=IWYFUBO'E!Y-YPT%

_______________________________________________________________


Last edited by RokCoder (July 30, 2018 18:05:15)



Scratch dabbling for fun…

sippingcider
Scratcher
500+ posts

Stickman Player (for adding stickman animations into your own projects)

Is it possible to have multiple stickmen without making new sprites? Also, can the different stickmen easily have different costumes? I am thinking of making a turn based 2d rpg game and using the stickman player to do animations for attacks and stuff. Would be great if there could also be non-human shaped (like extra limbs or no limbs) as well. What do you think, can the stickman player do it?
RokCoder
Scratcher
1000+ posts

Stickman Player (for adding stickman animations into your own projects)

Wow, it's so long ago since I did work on this. I definitely had multiple stickmen working in the sprint game that I did. I believe it's creates clones automatically as needed if memory serves me right. Different costumes is definitely possible (as you can see in the Stickman Player where you can turn on or off the cartoon overlays). Different limb configurations…. no


Scratch dabbling for fun…

sippingcider
Scratcher
500+ posts

Stickman Player (for adding stickman animations into your own projects)

Oh yes, I see there is a broadcast “player-create stickman” and “player-select stickman”. I think those are the ones I want for doing multiple stickmen.

And as for different limbs, maybe I could cheat by having blank costumes for legs or arms?

Edit: ohhh, you use a different sprite, renderer, to render them in your stickman player. There is a lot of code there, looks a bit scary
Edit Edit: oh, and the Demo sprite displays them? I'm confused.

Last edited by sippingcider (Feb. 26, 2019 21:48:34)

RokCoder
Scratcher
1000+ posts

Stickman Player (for adding stickman animations into your own projects)

sippingcider wrote:

Oh yes, I see there is a broadcast “player-create stickman” and “player-select stickman”. I think those are the ones I want for doing multiple stickmen.

And as for different limbs, maybe I could cheat by having blank costumes for legs or arms?

Edit: ohhh, you use a different sprite, renderer, to render them in your stickman player. There is a lot of code there, looks a bit scary
Edit Edit: oh, and the Demo sprite displays them? I'm confused.
I'm not sure where you're at with this now. If you're still having problems, maybe share what you've got and let me know what's not working. I only seem to be getting notifications of new posts here some of the time.


Scratch dabbling for fun…

sippingcider
Scratcher
500+ posts

Stickman Player (for adding stickman animations into your own projects)

RokCoder wrote:

sippingcider wrote:

Oh yes, I see there is a broadcast “player-create stickman” and “player-select stickman”. I think those are the ones I want for doing multiple stickmen.

And as for different limbs, maybe I could cheat by having blank costumes for legs or arms?

Edit: ohhh, you use a different sprite, renderer, to render them in your stickman player. There is a lot of code there, looks a bit scary
Edit Edit: oh, and the Demo sprite displays them? I'm confused.
I'm not sure where you're at with this now. If you're still having problems, maybe share what you've got and let me know what's not working. I only seem to be getting notifications of new posts here some of the time.


Ah sorry, I have got it working now! I changed up the custom (body part) blocks to work off a number index that is assigned when the clone is created instead of using the clone name. This way, a player can mix and match stuff, like maybe they have the fire staff and fire boots, but they have the ice hands and lightning helmet. Here is a link incase you or anyone wants to use this, I'll leave this project shared a bit while longer: Custom body parts stickman player

I am in the process is removing methods and blocks I won't be using, to free up the json file space. I noticed you create the costume name and body part lists in the renderer sprite using blocks when it is initialised. Is this just so people can backpack the sprite while essentially keeping the list data? If so, I want to remove those blocks and just never touch those lists once they are correctly initialised, to free up more json file space. Although, with list data being stored twice, I wonder which actually takes up less space…

I might also go into the playback sprite and remove the pen drawing stuff and the camera method stuff, as I don't plan on using those. However, I am scared to touch anything in that sprite since it is soo huge and complex. Do you think I can safely remove some methods without breaking it?

P.S. This is exciting! The more I use the stickman player, the more I appreciate just how awesome it is, and how much thought you put in for the user while making it. Hopefully this project will bring some attention back to it by showing more of what it can do
RokCoder
Scratcher
1000+ posts

Stickman Player (for adding stickman animations into your own projects)

For the life of me, I can't remember if the Stickman Player or the Scratch Racing has the latest Stickman code. Or maybe I unified them both (which I really should have done). Actually, its probably the Stickman Olympics which I never shared - I know I added functionality for the Olympics so that it was easier to do things like throwing javelins. But if you're not running into any major difficulties then I'm probably better off not trying to unify projects from that long ago at this point. Anyway, that was a slight digression. Back to your post now…

sippingcider wrote:

I am in the process is removing methods and blocks I won't be using, to free up the json file space. I noticed you create the costume name and body part lists in the renderer sprite using blocks when it is initialised. Is this just so people can backpack the sprite while essentially keeping the list data? If so, I want to remove those blocks and just never touch those lists once they are correctly initialised, to free up more json file space. Although, with list data being stored twice, I wonder which actually takes up less space…
The CreateConstants block (which I think you're referring to?) looks like it can be ripped out. You're not going to save much JSON by pulling out script though. Data lists are the enemy…. always the evil pre-defined data lists!

sippingcider wrote:

I might also go into the playback sprite and remove the pen drawing stuff and the camera method stuff, as I don't plan on using those. However, I am scared to touch anything in that sprite since it is soo huge and complex. Do you think I can safely remove some methods without breaking it?
You should be able to rip out the pen stuff. I'm not sure about the camera - that might be more ingrained. Just make sure you keep backups fairly regularly and you won't go far wrong.

sippingcider wrote:

P.S. This is exciting! The more I use the stickman player, the more I appreciate just how awesome it is, and how much thought you put in for the user while making it. Hopefully this project will bring some attention back to it by showing more of what it can do
It's fantastic having someone using this for a project

Last edited by RokCoder (Feb. 27, 2019 07:33:31)



Scratch dabbling for fun…

sippingcider
Scratcher
500+ posts

Stickman Player (for adding stickman animations into your own projects)

PHEW! *wipes globs of sweat from forehead*

Just finished removing all the pen rendering from the playback sprite. Maybe its just the blocks looking bigger with scratch3, but that sprite looks huge! How long did this take you to make??

Anyways, everything still works so far! Also, the list of broadcasts is significantly more manageable now, I feel better about adding my own broadcasts for my game

One thing I did notice, or rather NOT notice, was once a stick-man is created, there is no way to delete it. I will definitely need to be able to create and delete stick-men throughout the game to keep the number of stick-men on the screen to a sane number. That, or update stickmen to match a seperate list of game-objects, which would entail hiding stickmen that are not being used. Does the enable/disable broadcasts hide and show the stickmen?
RokCoder
Scratcher
1000+ posts

Stickman Player (for adding stickman animations into your own projects)

sippingcider wrote:

Just finished removing all the pen rendering from the playback sprite. Maybe its just the blocks looking bigger with scratch3, but that sprite looks huge! How long did this take you to make??
It was like a lot of my projects end up on here - they grow organically. Originally there was the code within the Stickman Animator project which was needed to display the stickman with his inverse kinematics. Then I decided to separate the non-editor parts into their own sprite and then into their own toolkit project. Then it gradually built up, particularly as I worked on the Stickman Player project.

sippingcider wrote:

Anyways, everything still works so far! Also, the list of broadcasts is significantly more manageable now, I feel better about adding my own broadcasts for my game
The handling of overlays for the pen was where a lot of the gnarly broadcasts crept in because it was the only way to manage them with depth sorting. The sprite version doesn't have that issue.

sippingcider wrote:

One thing I did notice, or rather NOT notice, was once a stick-man is created, there is no way to delete it. I will definitely need to be able to create and delete stick-men throughout the game to keep the number of stick-men on the screen to a sane number. That, or update stickmen to match a seperate list of game-objects, which would entail hiding stickmen that are not being used. Does the enable/disable broadcasts hide and show the stickmen?
I don't recall the API as well as I should (probably because it was in constant flux) but, yes, it looks like it should hide/show the sprites.


Scratch dabbling for fun…

sippingcider
Scratcher
500+ posts

Stickman Player (for adding stickman animations into your own projects)

I had a hard time getting to sleep last night, fretting over how I would have to make dig in the playback sprite to try and add a way to set the x and y positions of the stick-men. It was a nice surprise this morning when I found there are already get/set broadcasts for the x position!

As for they y positions, it looks like groundLevel is localized to each stick-man separately? If not, do you know how I could add a set y position broadcast for a specific stick-man?

Edit: Also, I noticed there are 25 items in the “costume name” and “part id” lists in the renderer sprite. But shouldn't there only be 15?

  1. head
  2. face
  3. torso
  4. upper left arm
  5. lower left arm
  6. upper right arm
  7. lower right arm
  8. left hand
  9. right hand
  10. upper left leg
  11. lower left leg
  12. upper right leg
  13. lower right leg
  14. right foot
  15. left foot

Last edited by sippingcider (Feb. 28, 2019 17:34:46)

RokCoder
Scratcher
1000+ posts

Stickman Player (for adding stickman animations into your own projects)

sippingcider wrote:

I had a hard time getting to sleep last night, fretting over how I would have to make dig in the playback sprite to try and add a way to set the x and y positions of the stick-men. It was a nice surprise this morning when I found there are already get/set broadcasts for the x position!

As for they y positions, it looks like groundLevel is localized to each stick-man separately? If not, do you know how I could add a set y position broadcast for a specific stick-man?

I think I made localised ground levels. I know that's what I used for the sprinting game at least. If you have problems working with that, let me know and I'll see if I can conjure something better up with it.


Scratch dabbling for fun…

sippingcider
Scratcher
500+ posts

Stickman Player (for adding stickman animations into your own projects)

RokCoder wrote:

I think I made localised ground levels. I know that's what I used for the sprinting game at least. If you have problems working with that, let me know and I'll see if I can conjure something better up with it.

Oh great! Also, did you see the edit I made to the post while you were answering it?
sippingcider
Scratcher
500+ posts

Stickman Player (for adding stickman animations into your own projects)

Have you run into anything like this with the project before? Local list bug
RokCoder
Scratcher
1000+ posts

Stickman Player (for adding stickman animations into your own projects)

sippingcider wrote:

Also, did you see the edit I made to the post while you were answering it?
I can't remember about the 25/15 issue. It looks like a bug from what you've said but I'm not at a computer to check it right now. It does sound a little suspicious but it could also be something to do with custom overlays.

sippingcider wrote:

Have you run into anything like this with the project before? Local list bug
Yes I have! It's very annoying. I think I've only come across it when pulling things out of the backpack but that's just a suspicion.


Scratch dabbling for fun…

sippingcider
Scratcher
500+ posts

Stickman Player (for adding stickman animations into your own projects)

RokCoder wrote:

I can't remember about the 25/15 issue. It looks like a bug from what you've said but I'm not at a computer to check it right now. It does sound a little suspicious but it could also be something to do with custom overlays.

There are duplicates in the part ID list, so I imagine it was just a bug? I really hope so, 15 clones per stickman means I can have a lot more stickmen on the screen at once.

RokCoder wrote:

Yes I have! It's very annoying. I think I've only come across it when pulling things out of the backpack but that's just a suspicion.

Ah that kind of makes sense, error with importing the data from the backpack. It doesn't seem to affect the project though, it runs smoothly still.

sippingcider
Scratcher
500+ posts

Stickman Player (for adding stickman animations into your own projects)

sippingcider wrote:

RokCoder wrote:

I can't remember about the 25/15 issue. It looks like a bug from what you've said but I'm not at a computer to check it right now. It does sound a little suspicious but it could also be something to do with custom overlays.

There are duplicates in the part ID list, so I imagine it was just a bug? I really hope so, 15 clones per stickman means I can have a lot more stickmen on the screen at once.

Well it still works fine once I deleted the duplicates from the lists, so probably was a bug!
RokCoder
Scratcher
1000+ posts

Stickman Player (for adding stickman animations into your own projects)

sippingcider wrote:

Well it still works fine once I deleted the duplicates from the lists, so probably was a bug!
That's good news then I still have a feeling they're to do with overlays but maybe you're not using them or maybe you're just replacing the actual limbs? Or maybe it's just a bug (which is pretty likely in the grand scheme of things).


Scratch dabbling for fun…

sippingcider
Scratcher
500+ posts

Stickman Player (for adding stickman animations into your own projects)

So I in my game I have a list of animations that are all loaded into the playback sprite at the start of the game. This works, for the most part. Every now and then I edit the name of the individual animations by just going to the start of the string and replacing a few letters. For example:

QQTIDLEW$QOY>Y>I/IHYZUEOAO£Y^RHTSWOY+Y>I/IHYTUTOAO9Y^RHT.

to

QQTFOOW$QOY>Y>I/IHYZUEOAO£Y^RHTSWOY+Y>I/IHYTUTOAO9Y^RHT.


However, everytime I do this, the edited animation no longer works! When I try to run it in the stickman player it says “invalid load string”. I suspect it has something to do with scratch lists not saving list entry changes correctly (I have been running into so many list bugs I wouldn't be surprised), but maybe it is something with me changing the load string when I shouldn't be? Here is one that used to work until I edited the name part of the string:

QQOdirect hitWGQ_T1USOWOKYJU!I¬ISY^RDT3QCY!Y/I{I;T)YQR_E7Y“RITP

The ”direct hit“ part used to be named ”take hit“, which worked fine.

Edit: Ohhh, just changing the name back to ”take hit" and it works again. So I can't change the name of an animation without using the editor I presume.

Last edited by sippingcider (March 4, 2019 16:31:19)

RokCoder
Scratcher
1000+ posts

Stickman Player (for adding stickman animations into your own projects)

sippingcider wrote:

Edit: Ohhh, just changing the name back to “take hit” and it works again. So I can't change the name of an animation without using the editor I presume.
I had to encode rudimentary checksums into the save codes to ensure their validity. Otherwise it would be hard to say what would happen if curious Scratchers tried entering random strings into the Stickman Animator.


Scratch dabbling for fun…

sippingcider
Scratcher
500+ posts

Stickman Player (for adding stickman animations into your own projects)

RokCoder wrote:

sippingcider wrote:

Edit: Ohhh, just changing the name back to “take hit” and it works again. So I can't change the name of an animation without using the editor I presume.
I had to encode rudimentary checksums into the save codes to ensure their validity. Otherwise it would be hard to say what would happen if curious Scratchers tried entering random strings into the Stickman Animator.

Ah makes sense. Is it easy to change the checksum in the string, or does the compression encoding make that too difficult?

Powered by DjangoBB