Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Script Ideas (open to help and suggestions) #3

Open
SpiredMoth opened this issue Dec 7, 2018 · 16 comments
Open

Script Ideas (open to help and suggestions) #3

SpiredMoth opened this issue Dec 7, 2018 · 16 comments
Labels
enhancement For any feature requests help wanted For issues where help is required due to a lack of time or knowledge Teamside

Comments

@SpiredMoth
Copy link
Member

SpiredMoth commented Dec 7, 2018

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 Script Updating: Merge Groups of Simple Scripts into picoC scripts #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.
@SpiredMoth SpiredMoth added help wanted For issues where help is required due to a lack of time or knowledge Teamside enhancement For any feature requests labels Dec 7, 2018
@piepie62
Copy link
Member

piepie62 commented Dec 7, 2018

If you already have a picoC script that you want to test, then you can also ask a FlagBrew member to give you a private testing build. This will require showing your script code beforehand, so don't try to cheat the system.

@Volti-p
Copy link

Volti-p commented Dec 9, 2018

A Script Idea would be a PKX Injector :D

@SpiredMoth SpiredMoth pinned this issue Dec 24, 2018
@Volti-p
Copy link

Volti-p commented Dec 25, 2018

For Competitive Player would be a Tierlist script nice, so we can see, which Pokémon is in which Tier :) The Tierlist can be found here : https://www.smogon.com/dex/sm/formats/ The Idea is, when we start the script there is text like the Tiers, when we choose the Tier, then it Displays all the Pokémon from the Tier. :) When possible mega Evolution sprites too. ;)

@SpiredMoth
Copy link
Member Author

While I agree that competitive players would probably appreciate a script that lets them examine the tier list from within PKSM, including the tier list comes with it's own hurdles:

  • hardcoded into the script - This would quickly become out-of-date since (last I knew) these lists get updated every month
  • read from file(s) on the SD - Where should the file(s) be placed? How should the user be made aware that they have to provide the file(s)?
  • download the most recent version - This would require code to connect to the internet and read/download the file(s) from Smogon

That's not even accounting for which tier list should be used.

  • Which game(s): most recent, currently loaded save's version, USUM, ORAS, etc.?
  • Which format: Ubers, OU, UU, etc.?

Also, if such a script were to exist, users would probably want/expect it to allow them to inject certain builds automatically

This is an idea that sounds nice in theory, but actually making it a reality would probably be quite difficult

@Admiral-Fish Admiral-Fish unpinned this issue Dec 31, 2018
@Lv44EnderShaman
Copy link

I was thinking, with the latest release of PKSM, we still don't have a script for editing the Mantine Surf scores in PKSM. For one, I don't currently have access to a PC to use PKHeX to edit them, so being able to do so on the 3DS via PKSM would be beneficial to not only myself, but everybody.

@SpiredMoth
Copy link
Member Author

@Lv44EnderShaman Added it to the list, but seeing as I'm pretty much the only one making scripts at the moment (and I currently have other priorities) it might be a while until it gets made.

@Lv44EnderShaman
Copy link

@SpiredMoth Hey, take your time if you need to. I'm glad you responded to my feedback in such a timely manner and are being very cordial about it. I understand completely!

@Hsmith178
Copy link

Hsmith178 commented Aug 14, 2019

Could you add a 999 seen on the Dexnav in Pokemon ORAS?

@chan4est
Copy link

Can there be a script made to reinject all wonder cards? Currently, there's an option to do slots 1-3, but I want to be able to do all slots. Linking off of this issue

@aluminumfox
Copy link

I'd be interested in a script or set of scripts that could inject one of each legal pokemon (species or family) in each type of special ball (ideally female), i.e. all possible pokemon available in Sport balls. https://www.smogon.com/ingame/guides/special_ball

@AlternisDim20
Copy link

One idea I've got is for ORAS - unlocking the PSS early, before beating May on Route 103 (and thus before Route 102).

@Doujo5
Copy link

Doujo5 commented Jan 12, 2023

Are there any scripts that allow Legendary Pokémon to be used in the battle tree/maison? I saw that apparently there is one that lets you use your party pokemon (bypassing he ban) but I cant seem to find it?

Thanks in advance.

@SpiredMoth
Copy link
Member Author

@Doujo5 After looking through the existing scripts it seems that "Use 1st 3 Party PKMN" scripts were not contributed for Gen 6 (Maison) or Gen 7 (Tree). I can add these suggestions to the list at the top of this issue, but there's no telling when someone might get around to making those scripts.

@Doujo5
Copy link

Doujo5 commented Jan 13, 2023

@Doujo5 After looking through the existing scripts it seems that "Use 1st 3 Party PKMN" scripts were not contributed for Gen 6 (Maison) or Gen 7 (Tree). I can add these suggestions to the list at the top of this issue, but there's no telling when someone might get around to making those scripts.

Thanks for looking into it, I wonder why that’s the case? Yes that would be great thanks, hopefully it’s something that can be added at some point.

@rbysc
Copy link

rbysc commented Oct 31, 2023

Hello, I'm new to using PKSM and was looking to get a script to unlock all decorations in crystal vc. I was wondering if anyone would be able to help me with that.

@Plaxaris92
Copy link

Hi, i think a script to change de Joyful Game Corner scores (dodrio berry picking and pokemon jump) would be great. That would allow to get the last trainer card star which otherwise is unobtainable. You can change the scores through PKHeX, but it would be great to change the score within the console, because extracting the save is really a hassle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement For any feature requests help wanted For issues where help is required due to a lack of time or knowledge Teamside
Projects
None yet
Development

No branches or pull requests