Crystal Engine – Move Limit


With this script you can limit your characters to only 4 moves at any given time. However, I added a few twists.

  1. Your limit between you and your enemies can be different
  2. For actors this limit is affecting each skill type (you can have 4 moves in each skill type)
  3. When the notetag to set the skills for an enemy there is no limit
  4. This is optional for actors

How do moves work in the Pokémon Games?

From the Wikipedia page on the Gameplay of Pokémon

“Like the characters in many role-playing video games, Pokémon are able to learn a wide variety of moves. These moves may inflict damage, induce status problems, restore health, or perform actions that in some way affect the overall battle. All moves have a Type, Power, Accuracy, and amount of Power Points. The moves that one Pokémon may learn are different from another depending on the species of Pokémon; even those that evolve from others do not necessarily learn all the same moves that their predecessors learn. Each Pokémon may only know a total of four moves at any one time. Moves may be learned through leveling up, using TMs and HMs, breeding, and move tutors (NPCs that teach moves).”

Skill Notetags

<no delete> Makes it so that skills cannot be deleted by normal means

Enemy Notetags

<moves: x, y> Every skill id placed in the notetag is usable by the enemy

Script Calls

hard_delete(actor_id, skill_id) Forcibly removes the skill from the actor

Script Download and Requirements

Required: Enemy Classes and Levels

Required: Basic Module

Download the Latest Version

Categories: Scripts | 10 Comments

Post navigation

10 thoughts on “Crystal Engine – Move Limit

  1. Tamsynn

    so with point 2 does this mean you can set it to allow 4 electric moves but also to learn 4 normal aswell?

    • No. Say you have White and Black Magic. You would be able to know 4 White Magic spells and 4 Black Magic spells. It is in the database under Terms. Pokemon for Ace will have some extra things to show that you can go beyond the Pokemon games. One will be a Limit Break system and you will be able to know 4 Limit Breaks in addition to the normal moves.

  2. elementzcreator

    I keep getting the following error, although it only occurs when learning a skill immediately after a battle (specifically after confirming you would like to learn a new skill), but not when leveling up through an event on the over world.

    “Script “Move Limit” line 498: FiberError occurred.
    can’t yield from root fiber”

    The specific line of code is this:

    “def wait_for_input
    Fiber.yield while

  3. Does this include the PP limit?
    Or is there another script for it?

    • It is part of Victor’s Tech Points Script.

      • Nigel

        For some reason I have compatibility issues with the two. When Move Limit is true for actors, TP is not restored using the TP “Recover All” Command. It only works when move Limit for actors is set to false. Do you know what I may be doing wrong?

      • “Recover All” is meant to recover HP, MP, and PP. TP is not meant to be restored in that manner. Its a limit break system.

  4. Miyuns

    I have this problem when i start the game:

    Script ‘CE-MoveLimits’ line 277: NoMethodError occurred.
    undefined method `[]’ for true:TrueClass

    how do i solve it?

  5. Nigel

    By the “Recover all” command I meant the “Recover all TP” command. That is not working for me unless the move limit is set to false.

    But anyway, I’ve moved on from that problem to another. The enemy is not using his own classes’ moves but rather my actor’s moves. (ex: the enemy’s class’ only skill is “Ram” however since my class knows “Fire” and “Scrape” the enemy is using those two moves as opposed to “Ram”)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Blog at

%d bloggers like this: