Jump to content

Amrykid

Members
  • Posts

    22
  • Joined

  • Last visited

Profile Information

  • Gender
    Male

Recent Profile Visitors

1267 profile views

Amrykid's Achievements

  1. Make sure he installed .NET 4.0. Other than that, it could be a CPU architecture mix-up: i.e. app is compiled for 64-bit but he/she is running 32-bit.
  2. Since your application is using Windows Forms, you could try running the app with Mono. Mono allows .NET applications (written in C# or VB.NET) to be ran on OS X and Linux. it's an open source re-implementation of the .NET framework. No recompilation required. The user would need to build/install it and then after that, they would run your app from the terminal by typing "mono *ProgramHere*.exe".
  3. Thank you for taking interest in the project! :D
  4. The situation we're are in sucks: We can not break the rules while trying to provide tools that improve the user's experience. Let's say you do some how figure out how to look at the traffic, if the Code of Conduct states that you cannot do it, your software will not make it past the approval process (of getting it onto the forums). However, yes, if they do allow developers to go through some sort of authorization process, I would expect that our software will have to remain closed source for good reason. If the developers do not plan on providing us with an API or some way to communicate with the game, at the very least, allow us to read the RAM (under moderation). However, I don't see this happening anytime soon. In a hypothetical situation that they do allow us to read from the process' memory, we could: Very easily read Pokemon stats Know if the player is in a battle or not at any given time. Know the location of the player and be able to determine if the player is moving and how many steps they have taken. Think of the "/loc" command in game. Among other things ---- On the server note, if we could emulate the client or better yet, create a 'proxy' in between the client and the service, then we would be able to have access so when some of the 'events' above occur. That would take some reverse-engineering and time to figure out and isn't worth it. I won't go into my Pipes idea in this thread but it is still on the table. Probably the cleanest way of doing an API would be to implement some sort of REST api with a mix of Twitter's user streams feature. The REST API could be JSON based with several endpoints such as: /getplayer?name=Amrykid - Returns my name, how many badges acquired, what Pokémon I have with me (optional), and whether I'm online or not (could follow /dnd). /getpc - Requires authentication (OAuth?) - Gets every single Pokémon in your PC. Returns the name, nickname, level and a unique ID for retrieving detailed information. /getpokemon?id=blablabla - Requires authentication - Gets detailed information on whatever Pokémon corresponds to that ID in my PC. Returns stats, moves, EVs... everything in the summary screen in the game. /getfriends | /getblocklist - Requires auth. - Self explanatory. The 'user streams' idea would be connecting to the server directly (on another port) where a service that handles communicating with the actual game server is running. After some authentication, the application will be ready for data to be pushed to it. Things that can be 'pushed': Player (the one we care about) catches a Pokémon. Player location (or amount of steps taken since last 'push') - again, think "/loc". This can be sent at intervals of every 5 minutes as long as the player is online. Player accesses and closes their PC (if something has changed such as they changed their team). Friend comes online/offline. Someone whispers the player. ---- I think I spent a little too much time writing all that and lost my train of thought.
  5. That might work. I'll have to experiment with it tonight.
  6. Using OCR to scan for 'text' is harder than usual because of the size of the text and it's unusual typeface. Believe me, I've tried it out (yesterday, in fact). That's the only thing I can think of... for now. Last night, I began experimenting with taking tiny screenshots of a small section of the screen and determine if it was darker than usual. If it is darker, the player is in a battle. I can't get it to work the way I want however. I wish the developers would do that. I think it's kind of weird that they allow third party software but not have some sort of 'basic' API available. However, the game is still in Alpha. I would expect an API to be released in the Beta. Prying the connection open and watching the data stream may be against the ToS. If it was possible, people could fake client actions and maybe even create bots that bypass the client itself. With that in mind, I don't see the developers ever allowing us to do that. :(
  7. Dannnno hit the nail on the head. It won't be easy trying to detect battle state. While I was away, I was thinking of the possibly of reading a pre-determined pixel and it's color would determine if there is a battle or not. I'll keep looking. Other than that, I've tried playing with OCR to read in-game text (from dialogue text, not menus) and that didn't work very well either. Your guesses are as good as mine.
  8. The problem with that is I have no way of knowing when you run into a Pokémon. My pipes suggestion for the game would allow for something like this but there has been no sign of the devs acknowledging it's existence. I could try taking a screenshot of the game every X seconds and look for.... That wouldn't work either. At this point, the only thing I could do is listen for a keyboard key and that would increment the counter. Unless, you or anyone else has a better idea.
  9. That's all coming soon (to the library). I am also interested in communicating with PokeMMO. Lately I've been exploring ways to interact with it but at the moment, the only thing I have is a way to make the game window 'flash'. Send/PostMessage, and Pipes have been considered, along with other unconventional methods which I will not use nor release code to do so. EDIT: Censored.
  10. Could you explain what exactly do you want? Track your Pokemon encounters?
  11. Hello everyone. A couple of weeks ago, I set off to develop some tools for PokeMMO that were rather simple but felt like they are included in-game. They aren't, but they get pretty darn close. NOTE: All tools run only on Windows because they utilize the .NET framework. Mono (for OS X and *nix) does not support WPF at this time. Please consider these to be alpha quality as they have yet to be extensively tested as normal software applications are. Geeky stuff about the lib (for programmers) The tools PokeMonitor PokePad PokeReleaseNotes System Requirements .NET Framework 4.0 - Client profile version, which is a scaled down version. Full 4.0 works too. Client profile version can be downloaded from here. PokeMMO Operating System: Windows XP or higher. Download & Source Code All of the tools (and future ones) are fully open source. You can view and download the source from from here. Lastly, you can download the binaries (.exe files) in a zip from here: v0.1-Alpha. If for any reason (in the future) that you want to download an older release, you can see all releases here. Future/possible tools In-game internet radio streaming application. Could probably stream PIRN: Pokémon Radio by default. Tool for displaying what Pokemon appear on what route. Etc?
  12. You make it sound like you can't program an IV calc to only worry about X nature. I fail to see how the JVM inner workings even relate to this conversation. You went off topic once you started talking about instructions.
  13. No, it doesn't. Pipes do not use ports. Just because there is no GUI implemented for it in the game, doesn't mean that the game doesn't get a notification for when an egg is ready. Anything having to do with getting the data is handled by the game. The developers choose what kind of 'notifications' we can get over the pipe. If they say all we can have is 'the Player catches something', that's all we can get. The network connection in the phone analogy correlates to pipes in the idea. The only difference is the phone 'polls' for a connection. The pipe doesn't poll for a connection, but for data. You tell me if the code contains thousands of instructions.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.