Code Monkey home page Code Monkey logo

pksm-scripts's People

Contributors

architdate avatar bernardogiordano avatar ckohnke avatar drayx avatar fm1337 avatar griffing1 avatar gudf avatar lavorther avatar piepie62 avatar pkmwm1 avatar snbeast avatar spiredmoth avatar trainboy2019 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pksm-scripts's Issues

Injector.c script does not inject wc3 files.

I was trying to inject event wonder cards into my pokemon emerald save, but the event section simply tells me to use the script "Injector.c". I did so after putting all of the gen 3 event files (including the e-reader files just to see what would happen) and when selecting an event from the list, it says I am using an invalid extension. If this is the case, what is the correct extension, and how would I go about converting the current files I own, to the correct extension?

Key memory and stuff, for Pokemon W/B 2

I would love to activate the extra features in those games, like having the memories and unlock those wild N's pokemons, or Activating Hard mode on White 2, without needing other 3ds with the games required.

If there is an option already, please illuminate me, I didn't find it myself.

Thanks and sorry if I'm bothering.

Quick hatch not working for crystal VC correctly

I tried to use the quickhatch script, went in game egg was bouncing ready to hatch, walked a few steps and it went back to won't hatch for long time.
Investigated what was happening. The script set the friendship to 0 which after walking a little goes back to max 255

I manually set friendship to 1. Walked a little and hatched fine.

Looks like an error in the script that sets it to 0 instead of 1

[picoC] Empty Box/Bank/Party slot

I'm building a picoC script to organize my boxes, reserving a single slot per species, according to Id, and dumping extra entries of the same species into the storage.
I can swap Pokemon just fine but I'm having issues emptying slots.

Is there a standardized way to empty slots within the Api?

Thanks in advance,

Mathaeuz.

Luma crash upon change of language

I would like to change my save language in the US version of Pokémon X from French to Spanish. So I used the universal "save-language.c" scirpt. Upon reloading my game, the Nintendo 3DS screen appears and nothing else until I get a Luma crash. Click here if you want the dump file. I used the same script to change the language back to French, and the game worked fine. Could someone help me?

Bug Report - Living Dex script nicknaming Pokemon by default

Each Pokemon generated with the Living Dex script is given a nickname of whichever Pokemon is set to the default in Generation 7's default settings, despite no nickname being set; in this case Bulbasaur apparently.

This is in Ultra Sun, of course.

Script Ideas (open to help and suggestions)

Feel free to make script requests in this thread, or offer to work on any of the ideas listed below

For beginners looking to get into making PKSM scripts, feel free to try out any that look interesting. Any that include simple under Type might be a good start for those who don't yet know C.

  • simple refers to the kind of scripts that can be used with any version of PKSM that supports scripting (v5.1.0 and above). Not all script ideas work as simple scripts due to their limitations. See the existing documentation for instructions on making scripts
  • picoC refers to scripts written in C that are only compatible with v6.0.0 and above. While any script idea could be written as a picoC script, in some cases it is unnecessary when a simple script does the job just as well. See the documentation for the provided scripting API.

Note

While PKSM will continue to support simple scripts for the foreseeable future, it is recommended that new scripts be done as picoC scripts.

A Type of picoC / simple means that which type the script should be is not certain and depends on the requirements of performing the modification.

Game(s) Idea Type Notes
all games Missing resets for legends/special encounters picoC see source for existing reset scripts
all games Mass Injection picoC relatively easy, examples (simple) already exist
all games Fill Pokedex picoC simple versions already exist
all games SVExchange box dump picoC -
USUM, SM Festival Plaza shop manipulation picoC see #2 for beginnings of simple versions
USUM, SM Reset trials (requested on Discord) picoC -
USUM, SM Battle Tree - Use 1st 3 party picoC / simple -
ORAS Mirage Spots picoC see #2 for simple version
ORAS Super Secret Base decorations picoC / simple -
ORAS DexNav seen picoC simple max seen version on Discord
ORAS, XY Battle Tree - Use 1st 3 party picoC / simple -
ORAS, XY Berry fields picoC -
B2W2 Reset Dream Radar legends picoC / simple -
B2W2 Join Avenue shop manipulation picoC -
B2W2 Funfest Missions picoC / simple -
HGSS Safari Zone (zones, placed items, etc.) picoC / simple WIP (SpiredMoth)
HGSS Buena's Password (answer given, password, and/or points) picoC -
PT, DP Mr. Goods decoration requirements picoC / simple -
PT, DP Underground goods (secret base decorations) picoC -
PT, DP Underground trades (traders' stock) picoC -
Pt Trainers in Battleground (which ones, battle-able) picoC / simple -
PT Villa decor requirements picoC / simple -

Good First Scripts

These are ideas that I think would make good starting points for those just starting to make scripts.

  • max money: These already exists in the repo, but learning to find and edit a simple value that is clearly visible in-game is a great way to learn the skills involved in making scripts
  • mass injection: Simple type mass injection scripts just require a .bin file containing the Pokémon you want to inject, which you can dump from your own save with one of the Dump scripts (Python or Node). Once you have your .bin just do the following:
    1. copy an existing mass inject script's code
    2. substitute your .bin file's name for the file name already in the code
    3. replace the length parameter (right before the .bin name) with the length of your .bin
    4. rename the script according to what you're trying to inject
  • Anything mentioned in #38: While there is a learning curve to picoC and some suggestions from this list are complex, the existing simple scripts can act as a reference and there is plenty of help available to you:
    • The PKSM-Scripts wiki documents the PKSM scripting API
    • As mentioned in the wiki, picoC is merely a subset of C90. This means that you can use pretty much any C language tutorial to learn how to write a script for PKSM.
    • There is plenty of documentation around for the save files of various Pokémon games. Try checking the PKSM-Scripts offset docs, Project Pokémon, or even PKHeX source code.
    • There may be some users on our Discord server that may be able to help you out. They will not make the script(s) for you but could help you with trickier bits of code or point you to any necessary documentation.

Script to set save file's language to Spanish is broken

As I was trying to assemble the names of certain ribbons in each language, the easiest way to do that was to use the PKSM script to change languages repeatedly. However, when I tried changing to Spanish to look up those strings, it didn't have the desired effect, even as all the other languages did.

Specifically, using the script to change a gen 7 file to Spanish will result in a strange hybrid where the title screen, type icons, and stat names show up in Japanese, and all other resources are English (but the game is at least playable). Doing so on gen 6 is even worse, as the intro cutscene will play, but as soon as it's over with (or you cut it short by pressing a button), Luma will immediately crash rather than go to the title screen.

Legal living Dex scripts have broken nicknames

Please see attached image, I'm running the latest 'legal living dex' script and quite a few Pokémon have blank names or names that display as タ I think? (Ivysaur, Venusaur, Charmeleon to name a few).
15967052982774724234312959874979

Message not reset to empty string in black-city-white-forest.c

The last characters of the string "%s\nis already present" are still visible when you select a trainer with a longer name that is already selected (i.e.: Frederic, "Frederic\nis already present") and then select another trainer, but with a shorter name (i.e.: Leo, "Leo\nis already presentesent").

Battle Subway Code

There is use first 3 party pokemon but no use first 4 party pokemon for doubles. Certain pokemon do not work properly when deposited into the battle box.

Edit: I created the script but don't understand the guide to test and include it with the rest of the scripts:

"Use 1st 4 Party PKMN" -d "subway" -i 0x21a08 1 0 1 -i 0x21a09 1 1 1 -i 0x21a0a 1 2 1 -i 0x21a0b 1 3 1

Bug Report - Crash running Munchlax Trees Checker script (Platinum)

Describe the bug
Attempting to run the script to determine which trees can give you Munchlax in Platinum version crashes the device.

To Reproduce
Steps to reproduce the behavior:

  1. Open Platinum version save
  2. Select Scripts
  3. Press Y for universal scripts
  4. Scroll down to DPPt - Munchlax Trees Checker.c and select it
  5. Advance through opening text
  6. Crash occurs

Expected behavior
The script should run as intended and inform me of which Honey Trees can contain Munchlax without crashing.

Information about your environment

  • OS version: Sys 11.16.0-49U, Luma v12.0.1
  • PKSM version: 10.0.0

Additional context
Tested on both a dump save and a cartridge save. Happens in both cases.

Extracting Data from Hall of Fame?

Hi, apologizes if this isn’t in the right spot, as this is not an issue with PKSM, however I need an answer. I’ve recently began playing Pokemon X in order to transfer my Pokémon from HeartGold to Home, and I’ve forgotten how fun it was, as X was my first Pokémon game. So, naturally, I got around to looking at the Hall Of Fame records and saw some of my first Pokémon on there. These Pokémon are now long gone, either due to trading or me releasing them, so I was wondering if there was a way to extract the Pokémon completely from there? I know GameFreak is rather lazy with how they deal with save data, as I believe Pokémon Ultra Sun still has data and icons for the different mails even though we never actually use them in that game, so I wouldn’t put it past them to just make a copy of the mon and put it there. I know my reasoning for this next part is a bit weird, but please bare with me. I love PKSM, as it really got me into hacking, but I realize now that I shouldn’t have touched my older Pokémon. I am a real stickler apparently for legality and legitness, but my younger self hadn’t realized that yet, so I really ‘jacked’ up my older Pokémon. I mainly just messed up their EVs and IVs, making them more competitively better, but I hadn’t realized that their Characteristics would change too. The very few Pokémon I have left from my original playthrough of X are some that I really hope I didn’t tamper with, and the only way I can prove to myself that they’re legit is to have access to their old IVs, though EVs wouldn’t be bad either. After learning that there might be hope in the Hall Of Fame records, I would like to know if PKSM or some other program can help. Sorry for the long post, but thanks for reading anyways.

Script Updating: Merge Groups of Simple Scripts into picoC scripts

List of simple scripts (.txt) that would be better suited being merged into picoC scripts per section.

Please Note!!!

This list is not yet complete, I will be continuing to work on it for a bit. My eyes are hurting from reading through the script list. I am simply posting it now in case anyone would like to put forth feedback on what's on it so far.
Please do not suggest scripts to add to this list until I have finished updating it.

Scripts to Merge

  • Encounter reset scripts

    • This should be done as one picoC script per generation due to how many resettable encounters there are. Incl Kanto birds for XY
    • Gen 4: DP Pt HGSS
    • Gen 5: BW B2W2
    • Gen 6: XY ORAS
    • Gen 7: SM USUM
  • Black 2/White 2 Hidden Grotto scripts

  • Pokedex scripts

    • This should merge all seen/caught dex scripts into one file. Ideal set up would be:
      • Generation
        • Game Set
          • Regional - Seen
          • Regional - Owned
          • National - Seen
          • National - Owned
          • Illegal - Full Dex (Complete) # Please note: This script is legal in generation 4 due to lack of shiny locks.
          • Alternate Language Entries
  • Clear Mystery Gift Data

    • There is one of these per game set (including Platinum)
  • Ultra Sun/Ultra Moon and Sun/Moon Plaza scripts

  • Various Battle Facility scripts

    • This should be one script per generation.
    • Possibly include Set Max Battle Points in these scripts? May be better to have an overall 'Set Max x' script instead that also handles stuff like Pokedollars and other non-item based values?
    • SM, USUM, and XY all also have an individual 'title' script for the Battle Royal and the Battle Chateau, respectively. Unsure if these should be merged into here, or left as standalone simple scripts.
    • Gen 4: DP Pt HGSS
    • Gen 5: BW B2W2
    • Gen 6: XY ORAS
    • Gen 7: SM USUM
  • Daycare scripts

  • 'Set max' script

    • No point having these separate
    • Fold in money, BP, underground flag, game corner, volcanic ash, etc. scripts
  • BW/B2W2 Season scripts

  • DPPt Poffin scripts

  • DPPt/HGSS Berry scripts

  • Illegal scripts

    • Can all of these be moved into a single universal picoC?
  • USUM Battle Style scripts

  • SM/USUM Zygarde cell scripts

  • XY/ORAS O-Power scripts

  • DPPt Level Man scripts

  • DPPt Poketch scripts

  • DPPt Spiritomb scripts

  • DPPt/HGSS Contest scripts

    • Include fashion case stuff here
  • HGSS Pokeathlon scripts

  • DPPt/HGSS Lotto ID scripts

  • B2W2 Join Avenue scripts

  • ORAS Mirage scripts

Further Ongoing Ideas (Behind the scenes)

  • Pokemon Injection scripts

    • The team is currently seeing if it would be better to have these scripts work similarly to how the Legal Living Dex script functions - by pulling the files from the FlagBrew server instead of packaging them with the scripts. These will likely be merged into a single picoC file at that time.
  • Item Injection scripts

    • Due to the Bag Editor, these may no longer be needed. Arguments for/against keeping them are welcome.
  • Pass Powers script

    • Should the Entree scripts be merged in?

Issue Edit Changelog

  • Added in Encounter Reset script links
  • Resorted Battle Facility and Daycare script links to be in ascending generational order
  • Added link to Spired's comment about daycare script merging
  • Added 'Set max' script info
  • Added BW/B2W2 Season scripts
  • Added DPPt Poffin scripts
  • Added DPPt/HGSS Berry scripts
  • Added illegal scripts
  • Added USUM Battle Style scripts
  • Added SM/USUM Zygarde cell scripts
  • Added XY/ORAS O-Power scripts
  • Added DPPt Level Man scripts
  • Added DPPt Poketch scripts
  • Added DPPt Spiritomb scripts
  • Added DPPt/HGSS Contest scripts
  • Added HGSS Pokeathlon scripts
  • Added DPPt/HGSS Lotto ID scripts
  • Added B2W2 Join Avenue scripts
  • Merged XY Kanto bird scripts into reset script
  • Added ORAS mirage scripts

key-system.c Crash

Issue

Executing key-system.c on B2W2 fails when attempting to use any of the five "Key" choices (Easy Key, Challenge Key, etc.). Running the other five choices (Easy Mode, Challenge Mode, etc.) does not appear to change anything within Black 2 - no keys nor unlocked modes.

Error Message:

               memset(message, '\0', 51);
                   ^
romfs:/scripts/b2w2/key-system.c:37:18
VariableGet Ident: 'memset' is undefined

Exit code: 1

Reproduction:

Running PKSM v10.1.1-aca22663 on New 3DSXL. Accessing Black 2 save file via Extra Saves option.

Black 2 Save in question is a fresh file, saved immediately after getting a Starter Oshawott in Aspertia City.

To reproduce open the file in PKSM > Scripts > run key-system.c > select any "Key", press A or B.

Thanks!

inject.c - Navigate to other directories

Is your feature request related to a problem? Please describe.
When injecting Pokemon, I can only inject ones stored in "inject".

Describe the solution you'd like
Some way to navigate directories so I can go to another folder

Describe alternatives you've considered
Some way to change the default directory.

Dream Radar Redirect script

I have redirected dream radar to an nds rom using the script and now I can't get dream radar to recognize the cartridge version of the games. So how do I remove the redirect?

Any help is appreciated. :)

If there is a forum better suited to my request please redirect me there as this is my first time posting and I don't know much about this site.

Feature Request: Dex Injection of all Pokémon in Storage

Problem:
Dex injections right now only offer the options to edit the Dex to display every Pokémon as seen or caught. It'd be great if it were possible to check the Storage for every Pokémon in the boxes and then update the Dex accordingly (so that you can create your own 'living Dex').

If it doesn't work, or is much work (since afaik right now there's a Dex script for every Gen separately), that's fine - just something cool that I'm missing.

Solution:
Just a script (or a "Dump storage into Dex"-button) to dump the contents of the storage into the game's Dex.

Alternative:
One thing that works right now is to dump the whole storage, save and then swap the contents of the boxes again. Problem here is that any Pokémon caught in a newer Gen doesn't transfer (only one at a time by editing them).

Additional context:
As always, I am sorry if the above solutions exist/have been requested already, couldn't find anything with the words I searched by.

Change trainer name and TID/SID

I trying to reset for a cute charm TID on my platinum, but I dont have a big enough time window to actually enter a name.

I would love to change that afterwards.

Luma 3ds menu language

I don’t know what I did exactly but I did some research and found out. I accidentally change the language from English to Spanish on the menu of Luma. I would like to change it back to English. Can someone please help me I do not have access to a computer I just have my 3DS.
image
image
You can reach me at

Gen 6 Storage crash issue.

After using PKSM to store three pokemon i was trying to swap to a different game of the same version (Pokemon Y to Pokemon X) after cloning them the clones were put in the bank for an attempted transfer. PKSM loaded fine, Editor amd everything else was avaliable, except for storage, whih immediately brings me to the home screen not long after i try to open storage. Additional note: Said bank box they were placed in had indeed been renamed, said name included a / not sure if that is crucial.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.