Jump to content

M@T

Member
  • Posts

    344
  • Joined

  • Last visited

Everything posted by M@T

  1. Should not the line for Health Points be 1206F11A 0000211f instead of 1206F11A 0000201f ? Maybe it works this way, but in the original code, that's 211F (though I don't know why).
  2. That's odd, in your previous you said you had your pkm file... Try and copy it on the desktop, then navigate to your desktop with Pokésav.
  3. Did you load it in the team, then edit it ? Screenshot : Choose "Load", load your .pkm, then click "Edit", and you're done.
  4. Actual stats are calculated using the Pokémon's base stats, his IV and his EV. Modifying the stats directly is possible only when the Pokémon is in the team, but it will be reset when deposited in the PC or when leveling up. Unfortunately, I don't know any code that would change the party Pokémon's stats, sorry.
  5. Actually, I made that code for the Jap version the day the ROM came out, the games were not even in CJ nor in GBAtemp. :biggrin: To translate it in US, one just has to change the pointer line, really easy.
  6. I think it is not due to the return values of the fake GTS server, but from the game making a copy of the Pokémon it sends in the GTS. When it recieves a Pokémon from SendPKM, it assumes it already sent something in the GTS before, and therefore, when it is traded (the Pokémon sent by SendPKM is seen as a trade by the game), the game tries to delete the backup it made of the Pokémon it believes having deposited. But, as it sent nothing to the GTS, it provokes an error. Also, I think that D&P don't make BSODs because they don't make backups of the Pokémon, which would explain the easy cloning glitch in these versions (the Pokémon are erased at the very end of the deposit process, so when one resets the game between the deposit and the save, there are two copies of the Pokémon, one was sent in the GTS, and the other was not erased from the save). These are only assumptions, maybe I am completely wrong. But strangely, it first gave me BSODs with Platinum, and now it works properly, I don't know why exactly, I think that it is due to me having deposited something in the real GTS (it began working fine after I did that). That could explain why some people have connection errors, and others do not.
  7. It says it is waiting for a connection because it waits for the DS to send a request. You need to download a DNS server too, I posted an automatically-configurable one several posts above. Finally, you must set up your DS' DNS server properly, as described here, with your local IP provided by the DNS server (the one in yellow if you use mine in version 0.3). If you get it to work, you have to deposit one of your Pokémon in the fake GTS, it will be converted into a .pkm file. Then, simply open it with Pokesav to have your SID. --------------- Goldie, I didn't forget you, I just finished the multiple .PKM sender, go and see the attachment. :biggrin: To use it, place your .pkm and .bin files in the directory 'PKMs', they will be sent in alphabetic order (it loops when it reaches the end). You can also drag and drop a .pkm or a .bin file onto the .exe in order to make the program send this Pokémon only. Multiple_PKM_Sender_v0.3+src.zip
  8. You must close anything that could use port 80, such as Skype or HTTP servers.
  9. OK thanks, it is not documented in the wiki yet.
  10. Ah, so I was right, it was a firewall. I hope it works fine now. :smile:
  11. Try again with your firewall(s) disabled (you can re-enable it afterwards). If you have still nothing, I'm afraid I can't help you more. :\
  12. That might be hard if you can't download anything... As sendpkm.py shows nothing of what is happening, you'll have to modify it a bit. Edit pokehaxlib.py with a text editor such as Notepad, and find this (in the middle of the file) : def dnsspoof(): s=socket.socket(); s.connect(("bash.org",80)); me="".join(chr(int(x)) for x in s.getsockname()[0].split(".")) print "Please set your DS's DNS server to",s.getsockname()[0] dnsserv=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) dnsserv.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) dnsserv.bind(("0.0.0.0",53)) while True: r=dnsserv.recvfrom(512) s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('4.2.2.2', 53)) s.send(r[0]) rr=s.recv(512) if "gamestats2" in rr: rr=rr[:-4]+me dnsserv.sendto(rr, r[1]) Replace it by the following code, then save : def dnsspoof(): s=socket.socket(); s.connect(("bash.org",80)); me="".join(chr(int(x)) for x in s.getsockname()[0].split(".")) ip=s.getsockname()[0] print "Please set your DS's DNS server to",ip print dnsserv=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) dnsserv.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) dnsserv.bind(("0.0.0.0",53)) while True: r=dnsserv.recvfrom(512) print "Got a DNS query from",r[1][0] s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('4.2.2.2', 53)) s.send(r[0]) rr=s.recv(512) if "gamestats2" in rr: rr=rr[:-4]+me print "Spoofing : gamestats2.gs.nintendowifi.net ->",ip dnsserv.sendto(rr, r[1]) print "DNS response sent to",r[1][0] print That will make the script showing the DNS requests it gets and the responses it sends. If there is still nothing is showing up on in the console, then the problem comes from the port UDP 53. You may have to allow that specific port in the firewall in addition to python.exe. Your father isn't against copy/pasting, is he ? :redface:
  13. Ah, you use the Python script. It shows no log, sorry. You can try with my DNS server, with no GTS server running, to see what happens and whether the DS connects correctly. If the console shows the DNS requests, then the problem comes from the GTS server.
  14. Make sure your firewall allows the program to listen for connections. Do you see some logs on the DNS server ?
  15. Okay. I think it doesn't exist yet, but I can try and make something for you. Maybe not today, but it should be ready tomorrow.
  16. You mean, there is a problem once a Pokémon is sent ? Does the program close, or is there an error message ? Or maybe you want to send different .pkm files, if so then this program doesn't do this, because it was my first release and, as I said, mainly a test program, with not many functionnalities.
  17. I know, but I was unsure of whether SSL handshake was mandatory. The contrary should be possible too : simulate an exchange between two IDs, to annoy someone who requests a lvl 9 Mew for example (he was probably trying to clone his Pokémon). :biggrin: In fact, you can search a Pokémon with search.asp, then call exchange.asp and finally exchange_finish.asp. I am currently attempting to figure out how exchanging works (it seems to be similar to post.asp, with 4 extra null-bytes at the end). I was wondering too, if the checks on whether the Pokémon you want to exchange matches the one that is requested is done on the game-side only (bad Pokémon are darkened), or if the GTS checks it too (which is certainly the case). If the GTS doesn't check it, one could eventually trade a Magikarp instead of a requested Arceus. :tongue: Yeah I did it too, there are several securities to prevent your Pokémon from being lost between time and space if something goes wrong. Also, if the game knows it sent nothing in the GTS, but the server says there is something, it provokes a communication error. One could try and call return.asp with random IDs between 1 and 2147483647, if the request is formatted properly, there sould not be any problem. But Nintendo will certainly notice it, and close the GTS or something similar. :\
  18. Lol no, there is no censorship or whatever. There are juste some limitations, such as the SSL handshake with nas.nintendowifi.net, but I think one can bypass it by connecting with his real DS first, and then use his ID to connect from a computer, but I don't have the time to test it yet.
  19. Here it is : 99 of each Apricorn in the Apricorn Case (L+R) : 94000130 FCFF0000 B2111880 00000000 0000E568 63636363 1000E56C 00006363 2000E56E 00000063 D2000000 00000000
  20. Did you try these codes ? Not infected by Pokérus : 1206F04A 00002000 1206F04E 000076B0 Infected by Pokérus : 1206F04A 00002001 1206F04E 000076B0 Cured from Pokérus : 1206F04A 00002002 1206F04E 000076B0 Go to your PC, choose "Move Pokémon", and mark the Pokémon you want (it must be stored in the PC in order to work properly, not in the party).
  21. AR DSi is basically an Action Replay, so if it works with a regular AR DS, it'll work with an AR DSi.
  22. I began making a GUI several days ago, but I don't have enough time, I'm very busy. Good luck then, especially for making it work with Pokésav (you can use codemonkey85's PokemonDSLib, it is really useful). I made 2 different GTS servers. The first one sends .PKMs to the DS, just like sendpkm.py, but a BSOD usually appears on the DS after using it (the same thing happens with every PKM senders I think). EDIT : I just used it 3 times, and it didn't give me a BSOD, hopefully it will (finally) work properly. EDIT² : It seems to work at 100% with Platinum, with several Pokémon, that's odd 'cuz I always had BSODs with sendpkm.py and my program is based on that Python script... The second one acts more like a real GTS server, you can deposit and retrive Pokémon, and every .PKM deposited is saved in a folder. You can then Pokesav your .PKM's and send them back to your game, everything without any flashcart, Action Replay nor save extractor.
  23. Are you sure you set your public IP correctly in the DNS server ?
×
×
  • Create New...