• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
Resource icon

Resource Multiple Protagonists v5.0.0

Hello. I keep running into the following error. I've installed Multiple Protagonists into my own project and I've fiddled around with a few things to try to get it to work, but to no avail. I've also created a brand new project and installed Multiple Protagonists and I got the exact same error. I imagine I must be doing something wrong, but I cannot for the life of me figure out what it is.

View attachment 6909
Did you start a new save after adding it?
 

DrifterFox

Rookie
Member
Joined
Aug 11, 2021
Posts
7
Did you start a new save after adding it?
My mistake, I should have clarified, this error is occurring when I attempt to playtest my project. It crashes before it reaches the Continue screen. Not to mention, the brand new project that has the exact same error doesn't even have a save file on it at all. Very puzzling.
 
My mistake, I should have clarified, this error is occurring when I attempt to playtest my project. It crashes before it reaches the Continue screen. Not to mention, the brand new project that has the exact same error doesn't even have a save file on it at all. Very puzzling.
I think you have to manually delete the save data- the error message is referring to the player name, which is usually displayed at the Continue screen.

If you have any save file for "Pokemon Essentials v19.1" at all, it'll be called by your new project, even if you didn't start the save on that specific game.exe.
 

DrifterFox

Rookie
Member
Joined
Aug 11, 2021
Posts
7
I think you have to manually delete the save data- the error message is referring to the player name, which is usually displayed at the Continue screen.

If you have any save file for "Pokemon Essentials v19.1" at all, it'll be called by your new project, even if you didn't start the save on that specific game.exe.
Very good point. I had forgotten that it will do that. I apologize for my ignorance, but how might I go about deleting the save data manually?
 

Ignitus

Charizard X trainer
Member
Joined
Aug 29, 2021
Posts
46
Awesome Beyond so now I can play as Green , Blue and Red 😀 does the characters have their own dex count and somewhat that?
 

Ignitus

Charizard X trainer
Member
Joined
Aug 29, 2021
Posts
46
Yup, they should have their own dex lists with their own seen/caught Pokemon.
Just bringing this up but after every trainer battle I get this error I went and disable elite battle to see if it is that and checked , nope its not that so is it working normal what did I do wrong I followed your comments in the rb file

[Pokémon Essentials version 19.1]
[Generation 8 Project v1.0.4]
[v19.1 Hotfixes 1.0.7]

Exception: RuntimeError
Message: Script error in event 20 (coords 50,46), map 48 (Viridian Forest):
Exception: NameError
Message: undefined local variable or method `msg' for #<PokeBattle_Battle>

***Full script:
pbTrainerBattle(:BUGCATCHER, "Rick")

Backtrace:
Battle_StartAndEnd:411:in `block in pbEndOfBattle'
Battle_StartAndEnd:409:in `each'
Battle_StartAndEnd:409:in `each_with_index'
Battle_StartAndEnd:409:in `pbEndOfBattle'
Battle_StartAndEnd:333:in `pbBattleLoop'
Battle_StartAndEnd:303:in `pbStartBattleCore'
Battle_StartAndEnd:258:in `pbStartBattle'
Overworld_BattleStarting:442:in `block (2 levels) in pbTrainerBattleCore'
Overworld_BattleIntroAnim:8:in `pbSceneStandby'
Overworld_BattleStarting:441:in `block in pbTrainerBattleCore'


Backtrace:
Interpreter:189:in `rescue in execute_script'
Interpreter:135:in `execute_script'
Interpreter_Commands:352:in `command_111'
Interpreter_Commands:29:in `execute_command'
Interpreter:127:in `block in update'
Interpreter:87:in `loop'
Interpreter:87:in `update'
Scene_Map:157:in `block in update'
Scene_Map:155:in `loop'
Scene_Map:155:in `update'
 

NettoHikari

Cooltrainer
Member
Joined
Jan 4, 2019
Posts
242
Just bringing this up but after every trainer battle I get this error I went and disable elite battle to see if it is that and checked , nope its not that so is it working normal what did I do wrong I followed your comments in the rb file

[Pokémon Essentials version 19.1]
[Generation 8 Project v1.0.4]
[v19.1 Hotfixes 1.0.7]

Exception: RuntimeError
Message: Script error in event 20 (coords 50,46), map 48 (Viridian Forest):
Exception: NameError
Message: undefined local variable or method `msg' for #<PokeBattle_Battle>

***Full script:
pbTrainerBattle(:BUGCATCHER, "Rick")

Backtrace:
Battle_StartAndEnd:411:in `block in pbEndOfBattle'
Battle_StartAndEnd:409:in `each'
Battle_StartAndEnd:409:in `each_with_index'
Battle_StartAndEnd:409:in `pbEndOfBattle'
Battle_StartAndEnd:333:in `pbBattleLoop'
Battle_StartAndEnd:303:in `pbStartBattleCore'
Battle_StartAndEnd:258:in `pbStartBattle'
Overworld_BattleStarting:442:in `block (2 levels) in pbTrainerBattleCore'
Overworld_BattleIntroAnim:8:in `pbSceneStandby'
Overworld_BattleStarting:441:in `block in pbTrainerBattleCore'


Backtrace:
Interpreter:189:in `rescue in execute_script'
Interpreter:135:in `execute_script'
Interpreter_Commands:352:in `command_111'
Interpreter_Commands:29:in `execute_command'
Interpreter:127:in `block in update'
Interpreter:87:in `loop'
Interpreter:87:in `update'
Scene_Map:157:in `block in update'
Scene_Map:155:in `loop'
Scene_Map:155:in `update'
Can you show me your code on lines 405-415 of Battle_StartAndEnd?
 

BadEgg

Rookie
Member
Joined
Nov 22, 2021
Posts
4
Amazing script and system!

Is it possible to set it so certain systems are shared rather than them having their own? I would like the PC/Box Pokemon to be shared, as well as the Pokedex data (seen/caught).
 

NettoHikari

Cooltrainer
Member
Joined
Jan 4, 2019
Posts
242
Amazing script and system!

Is it possible to set it so certain systems are shared rather than them having their own? I would like the PC/Box Pokemon to be shared, as well as the Pokedex data (seen/caught).
Yes, for the PC storage, you can simply comment out any lines in the script that contain PokemonStorage or PCItemStorage and start a new save.

The Pokedex info is a bit trickier because that is stored within the general $Trainer object, so it can't just be commented out because you'd be sharing a lot more than just the Pokedex. I think you could try this: at the start of the game, save the first player's Pokedex to a Game Variable with this Script:
Ruby:
Expand Collapse Copy
$game_variables[XXX] = $Trainer.pokedex
Then inside this script, find the above line on 502 and place this line below it:

Ruby:
Expand Collapse Copy
newmeta[PBCharacterData::Trainer] = $Trainer # Find this
$Trainer.pokedex = $game_variables[XXX] # Add this below

In script section Player, find this line:
Ruby:
Expand Collapse Copy
attr_reader   :pokedex
and change it to:
Ruby:
Expand Collapse Copy
attr_accessor :pokedex

I haven't tested this, so let me know if it works.
 

NettoHikari

Cooltrainer
Member
Joined
Jan 4, 2019
Posts
242
Support with voltseon menu?
You can add it by going to script section 001_VoltseonMenu_Config and adding "MenuEntrySwitch" inside the MENU_ENTRIES list, then going to 005_VoltseonMenu_Entries and adding this code at the bottom:
Ruby:
Expand Collapse Copy
#-------------------------------------------------------------------------------
# Entry for Multiple Protagonists Switch screen by NettoHikari
#-------------------------------------------------------------------------------
class MenuEntrySwitch < MenuEntry
  def initialize
    @icon = "menuDebug"
    @name = "Switch"
  end

  def selected(menu)
    characters = []
    characterIDs = []
    for i in 0...8
      if $PokemonGlobal.allowedCharacters[i] && i != $Trainer.character_ID
        characters.push(getTrainerFromCharacter(i).name)
        characterIDs.push(i)
      end
    end
    if characters.length <= 0
      pbMessage(_INTL("You're the only character!"))
      next
    end
    characters.push("Cancel")
    command = pbShowCommands(nil, characters, characters.length)
    if command >= 0 && command < characters.length - 1
      menu.pbHideMenu
      pbSwitchCharacter(characterIDs[command])
      break
    end
  end

  def selectable?
    return $PokemonGlobal.commandCharacterSwitchOn && !pbInSafari? &&
           !pbInBugContest? && !pbBattleChallenge.pbInProgress?
  end
end
 

ardicoozer

Cooltrainer
Member
Joined
Sep 29, 2020
Posts
173
You can add it by going to script section 001_VoltseonMenu_Config and adding "MenuEntrySwitch" inside the MENU_ENTRIES list, then going to 005_VoltseonMenu_Entries and adding this code at the bottom:
Ruby:
Expand Collapse Copy
#-------------------------------------------------------------------------------
# Entry for Multiple Protagonists Switch screen by NettoHikari
#-------------------------------------------------------------------------------
class MenuEntrySwitch < MenuEntry
  def initialize
    @icon = "menuDebug"
    @name = "Switch"
  end

  def selected(menu)
    characters = []
    characterIDs = []
    for i in 0...8
      if $PokemonGlobal.allowedCharacters[i] && i != $Trainer.character_ID
        characters.push(getTrainerFromCharacter(i).name)
        characterIDs.push(i)
      end
    end
    if characters.length <= 0
      pbMessage(_INTL("You're the only character!"))
      next
    end
    characters.push("Cancel")
    command = pbShowCommands(nil, characters, characters.length)
    if command >= 0 && command < characters.length - 1
      menu.pbHideMenu
      pbSwitchCharacter(characterIDs[command])
      break
    end
  end

  def selectable?
    return $PokemonGlobal.commandCharacterSwitchOn && !pbInSafari? &&
           !pbInBugContest? && !pbBattleChallenge.pbInProgress?
  end
end
It works..
Thank you^^
 

Oxidra

Rookie
Member
Joined
Nov 29, 2021
Posts
1
Hi, when I close the pause menu i get this error:

[Pokémon Essentials version 19.1]
[v19.1 Hotfixes 1.0.1]
[EBDX v1.1.6]

Exception: NoMethodError
Message: undefined method `>=' for nil:NilClass

Backtrace:
268:UI_PauseMenu:210:in `block in pbStartPokemonMenu'
268:UI_PauseMenu:153:in `loop'
268:UI_PauseMenu:153:in `pbStartPokemonMenu'
032:Scene_Map:102:in `call_menu'
032:Scene_Map:197:in `update'
032:Scene_Map:218:in `block in main'
032:Scene_Map:215:in `loop'
032:Scene_Map:215:in `main'
375:Main:34:in `mainFunctionDebug'
375:Main:18:in `block in mainFunction'


Can someone help me?
 

ComodoroCohete

Rookie
Member
Joined
Jan 23, 2022
Posts
1
COMANDOS.png

hi, im using in 18.1 (essentials gsc use that) works but when i put "pbTrainerName" make me put a name with the keyboard (our game have protagonist with they own name), and in switch show me other games (not that between ""), is more like put pbTrainerName to trainer i was used when i choose, if i got id 0 and select Porygon, character 0 got the name of Porygon. And idk how fix it. Thanks
 

NettoHikari

Cooltrainer
Member
Joined
Jan 4, 2019
Posts
242
View attachment 8699
hi, im using in 18.1 (essentials gsc use that) works but when i put "pbTrainerName" make me put a name with the keyboard (our game have protagonist with they own name), and in switch show me other games (not that between ""), is more like put pbTrainerName to trainer i was used when i choose, if i got id 0 and select Porygon, character 0 got the name of Porygon. And idk how fix it. Thanks
Please read the documentation at the top of my script again. You cannot call "pbSwitchCharacter" and "pbTrainerName" consecutively. You have to combine them, like so:
Ruby:
Expand Collapse Copy
pbSwitchCharacter(1, "NIKOLA")
and
Ruby:
Expand Collapse Copy
pbSwitchCharacter(2, "PORYGON")
 

LordBNO

Rookie
Member
Joined
Jan 18, 2020
Posts
9
hey how do you change the trainer backsprite (when there throwing the pokeball) for the different characters
 
Back
Top