• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Which Pokémon Masters protagonist do you like most? Let us know by casting a vote in our Masters favorite protagonist poll here!
  • Red, Hilda, Paxton, or Kellyn - which Pokémon protagonist is your favorite? Let us know by voting in our poll!
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Pokémon Gif Sprites Pause during battles?

  • 29
    Posts
    11
    Years
    • Seen Dec 13, 2014
    To put this as simply as possible, I've replaced some of the Pokémon .png sprites in the "battlers" folder with .gif files. The Pokémon are animated during the battle when the player is deciding what action to take. But when the Pokémon are attacking, being withdrawn or thrown out, or using an item, the gif animation freezes. I've seen other games have the sprites animated perfectly, but I cannot find out how they did it. Can someone explain how to do it or link me somewhere I can learn?
     
    yeah , im having the same issues .. I'm also trying to find an answer but I can't find one any were .... if you find out anything please let me know.
    I know this doesn't help...
     
    yeah , im having the same issues .. I'm also trying to find an answer but I can't find one any were .... if you find out anything please let me know.
    I know this doesn't help...

    This question has been asked and answered a bazillion times. And there are many threads and posts (some my own) which tell you exactly what you need to do. A little search through the forums can go a long way.
     
    This question has been asked and answered a bazillion times. And there are many threads and posts (some my own) which tell you exactly what you need to do. A little search through the forums can go a long way.


    These are the main threads that this issue gets discussed in.

    I've read through pretty much all these threads, and while the help is there, it assumed a base level of knowledge along the lines of someone who would be able to do it on their own anyway. I've tried many times to implement these moving sprites (trying both pbGraphicsUpdate and pbFrameUpdate(nil)) but this is something I get caught up in every time. It's just 'here's the code but you'll need figure out how to implement it yourself'. Luka S.J, in your comment you write "You'd need to find the right places within the Battle System itself where you'd put these updates". Well that's great but I can't figure out where they are (when I tried everything just sped up 200% which was weird. And there were stills pauses anyway haha).

    I know that you especially Luka contribute a lot to the community, and I'd love to one day be at point where I could be able to do that. I'm reading some Ruby tutorials in my free time to be able to get there and be more autonomous. But generally, the vibe I get from a lot of people in the community is that since they've become tired of giving to people who don't end up giving back, they've given up on trying to help new people at all.
     
    These are the main threads that this issue gets discussed in.

    I've read through pretty much all these threads, and while the help is there, it assumed a base level of knowledge along the lines of someone who would be able to do it on their own anyway. I've tried many times to implement these moving sprites (trying both pbGraphicsUpdate and pbFrameUpdate(nil)) but this is something I get caught up in every time. It's just 'here's the code but you'll need figure out how to implement it yourself'. Luka S.J, in your comment you write "You'd need to find the right places within the Battle System itself where you'd put these updates". Well that's great but I can't figure out where they are (when I tried everything just sped up 200% which was weird. And there were stills pauses anyway haha).

    I know that you especially Luka contribute a lot to the community, and I'd love to one day be at point where I could be able to do that. I'm reading some Ruby tutorials in my free time to be able to get there and be more autonomous. But generally, the vibe I get from a lot of people in the community is that since they've become tired of giving to people who don't end up giving back, they've given up on trying to help new people at all.

    Honestly, it's not difficult at all. I already said this at one point, but I'll say it again. You're loooking for places where the scene (aka Graphics) gets updated. Find Graphics.update in the ActualScene, and put in the sprite updates. That's it. Nothing groundbreaking. Nothing difficult. But yes, if you want some custom things for your game, your own imput will be required. But make sure to read the functions of the places you're putting your updates in. For instance, you don't want to put sprite updates, in your battle box def refresh. Or something along those lines.

    All the information you need is on the forums :) The problem is with those people, requesting custom things (which most of the time are answered already), wanting to implement new things in their game, but having no intention of putting in even the slightest effort. Most people who ask the questions of the forums, don't even bother to do a simple google search before they ask the community for help. That's just lazy. And why should I help out someone, who won't even help themself (would be an example of the more "hostile" attitude)? Anyway, for this particular method, the answer is there. The information is there. It's up to you what you do with it from this point. I know many people who managed to implement animations throughout their sys from the info we provided. So it is definity sufficient.
     
    For the benefit of anyone else, here's how I got it to work (most of the time, it still pauses for a fraction of a second every now and then):

    Enter Script Section 'PokeBattle_ActualScene'

    Copy: pbFrameUpdate(nil)

    Ctrl + F: pbGraphicsUpdate

    Paste pbFrameUpdate(nil) after every instance of pbGraphics Update EXCEPT for the following:

    1. Within the def pbGraphicsUpdate. Doing so will cause pbFrameUpdate(nil) to be called every time pbGraphicsUpdate is, which caused some bugs for me when I did it that way the first time.

    2. In the def PbShowCommands. This is because this instance of pbGraphicsUpdate is following by pbFrameUpdate(cw), which I think does the same/similar thing as pbFrameUpdate(nil). Having two of these in the same section will make your sprites animate at double the speed which looks stupid. I've left it as is with the pbFrameUpdate(cw) cause I didn't want to disturb the core script.

    3. Where the line "@sprites["battlebox#{battlerindex}"].update" precedes it. Doing so will make the battlebox (the thing with your Pokemon's name, HP, exp etc) look glitchy coming in.

    4. Where the line "@sprites["battlebox0"].update"].update" precedes it. This bit is in the safari zone def so I haven't checked it (I don't have a safari zone in my game), but because it involved the battlebox I'm assuming it'd give the same problem as above.

    5. In the def CommandMenuEx. Same as 2.

    6. In the def pbFightMenu. Same as 2.

    7. In the def pbChooseTarget. I don't know why but doing so does the same double speed thing as above.

    That's it.

    edit: hang on one more bug
    edit2: Ok yeah all good. Like Luka says though the game isn't made for gifs so you might get that old 'script taking too long' error sometimes (but rarely, for me at least).
     
    Last edited:
    For the benefit of anyone else, here's how I got it to work (most of the time, it still pauses for a fraction of a second every now and then):

    Enter Script Section 'PokeBattle_ActualScene'

    Copy: pbFrameUpdate(nil)

    Ctrl + F: pbGraphicsUpdate

    Paste pbFrameUpdate(nil) after every instance of pbGraphics Update EXCEPT for the following:

    1. Within the def pbGraphicsUpdate. Doing so will cause pbFrameUpdate(nil) to be called every time pbGraphicsUpdate is, which caused some bugs for me when I did it that way the first time.

    2. In the def PbShowCommands. This is because this instance of pbGraphicsUpdate is following by pbFrameUpdate(cw), which I think does the same/similar thing as pbFrameUpdate(nil). Having two of these in the same section will make your sprites animate at double the speed which looks stupid. I've left it as is with the pbFrameUpdate(cw) cause I didn't want to disturb the core script.

    3. Where the line "@sprites["battlebox#{battlerindex}"].update" precedes it. Doing so will make the battlebox (the thing with your Pokemon's name, HP, exp etc) look glitchy coming in.

    4. Where the line "@sprites["battlebox0"].update"].update" precedes it. This bit is in the safari zone def so I haven't checked it (I don't have a safari zone in my game), but because it involved the battlebox I'm assuming it'd give the same problem as above.

    5. In the def CommandMenuEx. Same as 2.

    6. In the def pbFightMenu. Same as 2.

    7. In the def pbChooseTarget. I don't know why but doing so does the same double speed thing as above.

    That's it.

    edit: hang on one more bug
    edit2: Ok yeah all good. Like Luka says though the game isn't made for gifs so you might get that old 'script taking too long' error sometimes (but rarely, for me at least).

    Thank you for answering my question.
     
    Back
    Top