• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • 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.

Development: The Follow Me Script

KNC

Sir Demoknight
19
Posts
12
Years
  • Seen Jul 20, 2015
I tested many things related to mine.

Saving, quitting and restarting: Check
Map to map connections: Check
Walking: Check
Running: Check
Ledges: Check
Tile Scripts: Check
Trainer and Wild battles: Check
Warping: Not working
Biking: Not working
Surfing: Not working
Flying (Kind of warping here...): Not working
Scripts moving the player: No idea XD

I have ideas for biking and surfing, but haven't really got any idea whatsoever how I can accomplish the warping. Obviously, the sprite should appear from the tile which you were warped to after you move from it, but until I find the routine which creates the player sprite in the RAM and OAM, I can't look any further into this. As far as I know, the entire map is reloaded on warping, even if you warp to the same map that you were already on. So that could be a small blessing.
Hence it seems like map connections already work like they are supposed to. I also know that my idea definitely can work. Still as long as only Jambo51 has the code it's up to him to know wether it fits within his solution.

Well damn it'd certainly be easier if not everyone who tries to make this keeps his code for himself after all when it's supposed to be released afterwards anyways. If at least others could join in on the work instead of just watching or starting from scratch themselves...
 
Last edited:

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Well damn it'd certainly be easier if not everyone who tries to make this keeps his code for himself after all when it's supposed to be released afterwards anyways. If at least others could join in on the work instead of just watching or starting from scratch themselves...

JEEZ! It couldn't possibly be that i've been unwell, busy working or sorting out my University stuff. No, it must be that I've decided to be a d**k and keep the code to myself.

Also, if I decided to keep the code to myself, I'd be well within my rights to do so. It's my perogative. There's no rule explicitly stating that I must post every single discovery I make! Just remember that!

However, I'm not an elitist snob. I only got where I am now by reading other people's discoveries and understanding how they were made. So I CHOOSE to post discovered information when I discover it for the benefit of the whole community.

In all fairness though, I've not really worked on the routines for a while now. They're not finished, and as I stated above, when they're finished, I'll release them. Not before.
 

knizz

192
Posts
16
Years
  • Seen Oct 28, 2020
Well damn it'd certainly be easier if not everyone who tries to make this keeps his code for himself after all when it's supposed to be released afterwards anyways. If at least others could join in on the work instead of just watching or starting from scratch themselves...
Do you have any idea what the work in progress of a patch like that looks like? I doubt anyone could help. And those who do exchange their knowledge already.

KNC said:
I'd need to get a specific pokemon to follow me for story purposes.
that will certainly make you special.

Seriously... why do people hack pokemon for the STORY...
 

KNC

Sir Demoknight
19
Posts
12
Years
  • Seen Jul 20, 2015
JEEZ! It couldn't possibly be that i've been unwell, busy working or sorting out my University stuff. No, it must be that I've decided to be a d**k and keep the code to myself.

Also, if I decided to keep the code to myself, I'd be well within my rights to do so. It's my perogative. There's no rule explicitly stating that I must post every single discovery I make! Just remember that!
Jeez, I wasn't pointing at anyone calling them a d**k...

That's not what I said and I wasn't trying to offend anyone. I'm honestly sorry if it came over like that.

I was rather pointing at the fact this thread is around for more than a year and that while reading through it I noticed quite a few people talking about going on their own approach, with sorta everyone ending at a different point, which seems to be a rather sad end for a patch project that's been dragging on for so long.
Again, sorry if it came over as harsh and offensive.

Do you have any idea what the work in progress of a patch like that looks like? I doubt anyone could help. And those who do exchange their knowledge already.
I do know pretty good that it's a great workload doing such a patch since I'm getting myself into several other languages besides scripting. As such I totally don't want to make down the work of anyone there.
Also the chance that someone else has that one fitting idea might not be big but it isn't zero either.

Seriously... why do people hack pokemon for the STORY...
Well I think that the supplied story of a game should be either sort of good or non-existent if it's solely about gameplay. And one of the weaknesses of pokemon is that it always includes a half-brewed story (only talking about the editions) that barely contributes for anything. So I'd either remove it completely or give it a try at making the story worthwhile.
Well that's just my personal opinion there.
 

EdensElite

No0b, but getting there.
190
Posts
12
Years
  • Age 28
  • UK
  • Seen Jul 4, 2014
I don't know if it has already been suggested, and it might be a bit of work, but if when you get it to work, you could use a dynamic offset to say which ever pokemon is at the top of your party the sprite could be recalled etc etc. Creating a HGSS Effect. Suggestions?
 

KNC

Sir Demoknight
19
Posts
12
Years
  • Seen Jul 20, 2015
I don't know if it has already been suggested, and it might be a bit of work, but if when you get it to work, you could use a dynamic offset to say which ever pokemon is at the top of your party the sprite could be recalled etc etc. Creating a HGSS Effect. Suggestions?
Taking a look at this list I don't quite think that's necessery, I'm just quoting it again:
Saving, quitting and restarting: Check
Map to map connections: Check
Walking: Check
Running: Check
Ledges: Check
Tile Scripts: Check
Trainer and Wild battles: Check
Warping: Not working
Biking: Not working
Surfing: Not working
Flying (Kind of warping here...): Not working
Scripts moving the player: No idea XD
So Ideas should go about the things not marked with an check, namely Warping/Biking/Flying and the Scripts.

For warping I posted my idea already a few posts above.

For biking, well that depends on what you'd want to achieve...
1: Just pretend you take the pokemon back into their ball, nothing big to do for this necessery I guess. But then again depends on what approach you take on the script.
2: Pokemon follows your bike... well for some pokemon which are fast that'd work, but it'd be strange to have pokemon not as fast follow you. Then it'd be the same approach as basic walking given you can identify the current state.
3: Optionally you can have the pokemon on the back of the back, right behind you. That would just work again with a few specific pokemon though. So I wouldn't basically integrate this approach as well as the one above. This could simply be achieved through editing the sprites though, given of course you have only one specific pokemon following you.

For flying... well though it is sorta warping I don't quite think my idea is the perfect fit. Given the space below you is always free open ariving at one spot I guess you could edit the ariving points for flying since there aren't that much around, and let the pokemon pop up below after landing.

Scripts moving the player: No idea XD
I don't quite get the meaning of this part though. I assume you're talking about the scripts that are checking the buttons and applying movement I guess though?
 
275
Posts
13
Years
  • Seen Oct 9, 2019
I don't quite get the meaning of this part though. I assume you're talking about the scripts that are checking the buttons and applying movement I guess though?
nope.avi

He's referring to applymovement, applymovementpos, waitmovement, and waitmovementpos. And possibly also movesprite and some others.
 

NarutoActor

The rocks cry out to me
1,974
Posts
15
Years
He means scripts that contain applymovement 0xff. You know like the script right in the beginning of the original fr, When you and oke walk to his lab? How would that affect the pokemon walking with you? That is his predicament.
 

KNC

Sir Demoknight
19
Posts
12
Years
  • Seen Jul 20, 2015
Ah, yeah now I get it. That was somewhere around what I was thinking already but I wasn't quite there yet, thanks for the heads up on this one.
 

AimayBee

Mighty Spriter
213
Posts
14
Years
He means scripts that contain applymovement 0xff. You know like the script right in the beginning of the original fr, When you and oke walk to his lab? How would that affect the pokemon walking with you? That is his predicament.

That seems simple enough, if the lockall command is used the following sprite will need extra movement controls and if not it should still follow you.

Although I don't have the script so I can't really check it.
 
97
Posts
15
Years
  • Seen Oct 3, 2016
Jambo51 said:
Saving, quitting and restarting: Check
Map to map connections: Check
Walking: Check
Running: Check
Ledges: Check
Tile Scripts: Check
Trainer and Wild battles: Check
Warping: Not working
Biking: Not working
Surfing: Not working
Flying (Kind of warping here...): Not working
Scripts moving the player: No idea XD

About scripts moving the player, i think that.. if the other OW, is -1 coordenate,behind you, why you cannot imitate it?
For example;
Code:
#org 0x672130
applymovement 0xFF 0x8offset1
waitmovement 0x0
end

#offset1
#binary up, up, left.
(I'm to lazy to write every offset, and moves)
Mi idea:
First, the second OW move to the last X/Y player coordenate, (player it's moving..) and then move the same as player moves. (before that, i think u must "save" the movements of the player in the ram)

Sorry for my bad english, and i hope that mi idea works or something xD
 

TheDarkShark

Metal Headed Hacker
56
Posts
13
Years
If I get your idea right, you would let the follower walk to the player's previous position and then move it into the same direction in which the player is moving, right? Doing it like that, the follower would be on the exact same position as the player, meaning they would collide.
Also, I don't understand what you think the script you posted has to do with what you previously said:
About scripts moving the player, i think that.. if the other OW, is -1 coordenate,behind you, why you cannot imitate it?
For example;
I thought you would apply the same movements to the follower (which would end up in a not very beautiful desync) first, but the script doesn't fit.
 

M.L

Invisible
761
Posts
13
Years
  • Seen Dec 21, 2017
well honsetly i think we have figured out doing this (properly) in a script is not ganna happen but i would like to ask how far have you come with this in a script and is it possible to see a SCRIPT you have created that works(well by that i meen it justs needs to follow know direction changes ledges[maybe] and that sort and if possible interaction)
i havnt seen one i have only seen the asm scripts ...
 

TheDarkShark

Metal Headed Hacker
56
Posts
13
Years
Well, interaction won't work without ASM, sorry. If you had read the thread, you would have seen a script by Giga Universe (wasn't it him? if not, sorry) that had support for ledges and some other behaviour bytes, too, if I remember correctly. You had to use JPAN's Firered Hacked Engine patch in order to make it work, though. Just read the thread from the beginning, man... or, if you are to lazy to do so, why do you even ask? Just wondering...
 
275
Posts
13
Years
  • Seen Oct 9, 2019
is it possible to see a SCRIPT you have created that works
You answered your own question in the exact same post that you asked it:
well honsetly i think we have figured out doing this (properly) in a script is not ganna happen




so yea i think you should read through or if your lazy why did you reply to me question?
He's not "lazy" and you have no right to denounce him as such. He has clearly read this thread -- and he comprehends the subject matter far better than you have -- and he has been attempting to help you understand said subject matter.

My intention isn't to do any kind of backseat moderation, but seriously, M.L., learn some respect.
 
Last edited:
1
Posts
12
Years
  • Seen Feb 19, 2012
You answered your own question in the exact same post that you asked it:





He's not "lazy" and you have no right to denounce him as such. He has clearly read this thread -- and he comprehends the subject matter far better than you have -- and he has been attempting to help you understand said subject matter.

My intention isn't to do any kind of backseat moderation, but seriously, M.L., learn some respect.


It's sad to see this project end on such a bad note. Has anyone made any progress with this since? When I originally started reading the thread, I had it in my head to use HEX, but that idea was shot to hell the more I read (or am I wrong in that regard too?). And what had been accomplished looked promising, so I'm just curious.
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
It's sad to see this project end on such a bad note. Has anyone made any progress with this since? When I originally started reading the thread, I had it in my head to use HEX, but that idea was shot to hell the more I read (or am I wrong in that regard too?). And what had been accomplished looked promising, so I'm just curious.

The project is still being worked on. No matter what we do, it will require ASM to take care of this, which requires hex editing to insert, so you're not too far off.

The thing is, the really complicated stuff currently has me stumped. I don't understand how the player sprite is created on a map after warping/flying (although I'd hazard a guess it has something to do with the createsprite command that is otherwise unused).

As things currently stand I have 2 versions of it running:
Fire Red (Can't warp/fly, ride bike/surf, but most everything else should work)
Emerald (Can only walk/run)

The systems used for movement are identical between the 2 versions, so it's a case of porting routines, as opposed to research and then development for Emerald. The routines are far from perfect however, and I think I'm gonna restart the whole project after I've dealt with the 649 Patch, to add the extra stuff which it needs and to tidy up and improve the routines.
 

sonic1

ASM is my life now...
77
Posts
15
Years
Hey, could you give a heads up (hint) on the emerald version? Routines locations, offsets, something?
Because i have a fairly document ida database of it, including OAM, Npcs, Steps, running mechanics, so i thought you could give us some hints on it.

Thanks!
 
Back
Top