Quote: "i attached my work and the images used."
A lot of that code looks like my code but it's ok.
Since your character sprite has been grabbed with GET IMAGE using individual image numbers (the frames) would be way different if you switched characters. So it'll definitely be harder to say Character #1 walk frames are images 1-8 and Character #2 walk frames are images 90-97 without using an array to store each characters frames and use the array any time you switch characters.
But don't freak out there is an easier way. If you use CREATE ANIMATED SPRITE you can still keep the old frame numbers that are hard coded in the code no matter what character you use. The only problem is you need to redo that sprite sheet so that the character lines up properly (so that each frame is exactly the same size) and any new characters you use in different files have to use exactly the same frame numbers for each state of movement (walking is the first 8 frames, jumping is the next 10, and so on). Once you use CREATE ANIMATED SPRITE you no longer use different image numbers... you use one image for them all but are still able to change frames.
` Make sync rate as fast as the computer can handle it
sync rate 0
` Turn on syncing
sync on
` Hide the mouse
hide mouse
` Load the sprite sheet into an animated sprite (10 frames across, 1 down)
create animated sprite 1,"GrogMegaSprite.png",10,1,1
do
` Show the sprite
sprite 1,mousex(),mousey(),1
` Play the sprite (show frames 1 to 10 changing every 100 milliseconds)
play sprite 1,1,10,100
` Update the screen
sync
loop