• 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?".
  • 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.

Script: Ultimate move tutor, the return

4
Posts
57
Days
    • Seen May 10, 2024
    This script is using the move relearner as a base, to add eggmoves and every move learned by a pokémon by TM or by Tutor (thanks v19and v20 ).
    There is an example NPC in the test map in the downloaded folder.
    If you have ideas you want to share about this script, feel free to leave a comment!
    Move_tutor_menu.PNG


    Installation
    Installation link here!
    Put everything inside your game root folder.

    How to use the script

    Several variables are used by this script. You can define them at the beginning of the move_tutor file.

    By default variable 34 is used to control the type of moves you can learn.
    You can make distinct NPCs for each function (comments are written in the script to help you).
    0 is the good old move relearner.

    1 adds eggmoves to the list.
    By default, it also returns the baby species moves (hello Spore Breloom) if they have the level.

    2 adds tutormoves and TMs.

    3 is the Hackmon mode, making every move in your game available for any Pokémon.

    4 is the Stabmon mode, allowing your pokemon to learn every move of their types. If you are using this script with v19, in both scripts, replace types[0] by type1 and types[1] by type2.

    5 is the Alphabetmon mode, where a pokémon can learn every mode that share the same first letter with their name.

    6 is the universal move tutor who gives the moves defined at the beginning of the move_check.rb script

    7 is a classic move tutor for those who want to unlock more moves during the game. Just make a list of moves for every pokémon you want to give more moves as the example in the scripts. Don't forget to modify both scripts if you are using this option.

    When this variable is setup to what you want, take the normal move relearner event.
    1623862008187.png

    change this first script section to this one:
    Code:
    pbChoosePokemon(1, 3, proc{ |pkmn|
        can_learn_move(pkmn)
        }, true
    )


    then find this conditional branch below
    1623862450694.png


    Replace the script in the condition by this one:
    can_learn_move(pbGetPokemon(1))==false

    How to use the banlists?

    Go to the settings of the scripts at the beginning of the movetutor file
    First, the BORW switch (switch 59 by default) tells if you are using a blacklist (false) or a whitelist (true).

    As you can see in the script, the banlists are a list of lists.
    The Banvar variable (variable 35 by default) tells you which list in the script you are using. This way you can change your banlist as your player progress in the game. The first list is empty so if you are not using the banlist, don't touch the BORW and Banvar switch.

    If you are not familiar with the code,
    here is a detailed example:

    Let's say I don't want a level 10 Dratini to learn Outrage at the beginning of the game. Also I have added Draonascent to the tutor move list of the Dratini family in my pbs files. My Blacklist looks like this:
    Blacklist=[[],[:OUTRAGE,:DRAGONASCENT],[:DRAGONASCENT],[]]

    The first page of my move tutor have these parameters:
    1658402101093.png


    This means I'm using the second list(banvar=1) of the blacklist(BORW=false), in the standard move tutor mode (movetutor=2)

    Then later in my game, whenever I want, I can unlock Outrage by making a second page in my movetutor event, changing only banvar to 2 instead of 1.

    Then in late game, you make a third page with everything available(banvar=0 or 3 here)

    You can make as many lists as you need, and you could unlock new moves after every gym battle for example.

    Last small example,
    I want to make a movetutor teaching those moves specifically and not something else, as soon as I unlock them.
    This time I will use a whitelist like this one:
    Whitelist=[[],[:OUTRAGE],[:OUTRAGE,:DRAGONASCENT]]

    This time, in my NPC, I set BORW switch to true, and, on the first usefull page, banvar=1 to make them teach only Outrage. Then, later on a second page, I keep the same setup with banvar=2.

    Imagine I'm totally crazy and want every Pokémon to learn Outrage with this NPC, I could set the movetutor variable to 3 (hackmode mode), with the same other variable setup than before.

    Credits:
    Grogro
     
    Back
    Top