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

Multi-Disc Network

  • 233
    Posts
    5
    Years
    • Seen Oct 9, 2023
    Sorry about late response. Your code seems to be fine... if your files are all in the correct place in the "disc1" folder, then the only thing I can think of is that you also need to first compile the files in disc1 in a different project entirely, before placing them in disc1. Otherwise, I'm not really sure why it's giving an error. Maybe you can try to ignore that line of code entirely by commenting out these lines:

    oldmapname = mapinfos[$PokemonGlobal.mapTrail[1]].name
    nosignpost = true if $game_map.name==oldmapname

    I think at worst this might break signposts on entering maps but I haven't tested this yet.
     

    YashPokeFan123

    #PokeFan
  • 283
    Posts
    3
    Years
    • Seen Apr 28, 2023
    Honestly, I couldn't think of a better name for this thread.
    Originally found here:https://forum.chaos-project.com/index.php?topic=1634.0 this script allows one to exceed the natural limit of RPG Maker's 999 Map limit. with major help from Vendily and NettoHikari we have also allowed for more than the limited 5000 Variables and Switches, and even some of them being synced with all discs(Your choice which ones become synced).
    Paste the script just above main.
    Code:
    #==============================================================================
    # ** Disc Changer script (Designed for Legend of Harpine)
    #------------------------------------------------------------------------------
    # Zeriab
    # 1.05
    # 2008-09-20
    #------------------------------------------------------------------------------
    # Allows you to change the disc, where each disc can contain 999 maps
    #==============================================================================
    =begin
    INSTRUCTIONS
    ------------
    If you do not have the SDK then you have to change Game_Map
    In the Game_Map setup method change the load_data line to this: (Line 50)
    
      # Load map from file and set @map
      @map = load_data(sprintf("Data/%sMap%03d.rxdata", $game_system.disc, @map_id))
    
    After you have done this the below will work.
    
    This script enables the change_disc command. Use script calls to change the disc.
    For disc 1 create a subfolder in your data folder called 'disc1' and place the
    map files for disc 1 in there.
    For disc 2 you should create a subfolder called 'disc2' and place the map files
    for disc 2 in there. And so on for each of your discs.
    The syntax is:
    
      change_disc(number, id = nil, x = nil, y = nil, direction = nil)
    
    The nil numbers mean that those arguments are optional. When you don't use them
    then they are set to whatever the current map_id, x, y and direction are at the
    moment.
    
    If you want to change to disc 2 then you can put this in a script call:
    
      change_disc(2)
      
    You will then be transferred to disc 2 with the same map id and coordinates as
    what the player currently has.
    If you want to be more precise and say you want to change to disc 2 on the map
    with id 10 and the player must be placed at the tile with x = 6 and y = 13 then
    you should put this in a call script:
    
      change_disc(2, 10, 6, 13)
      
    Note that when you start the game the maps directly in the data folder is used.
    You can back to them by changing to disc number 0.
    Basically, disc number 0 is the maps directly in the data folder and not in any
    of the sub folders.
    
    The final argument is the direction. By default the player retains the current
    direction. You can put 6 different values as direction:
    
    0, 10 : No change
    2     : Turn Down
    4     : Turn Left
    6     : Turn Right
    8     : Turn Up
    
    If you for example want to transfer the player to disc 1, map 43 at x = 30 and
    y = 4 with the player looking down you should put this in a call script:
    
      change_disc(1, 43, 30, 4, 2)
      
    *hugs*
     - Created by Zeriab
    
    
    Modded by NettoHikari
    Perfected by Vendily
    Variable Sync added by Pokeminer20
    =end
    
    class Game_System
      attr_accessor :disc
      def disc
        @disc ||= ''
        @disc
      end
    end
    
    class Game_Temp
      attr_accessor :disc_changing
    end
    
    class Game_Map
      attr_writer :map_id
      if Module.constants.include?('SDK')
        def setup_load
          # Load map from file and set @map
          @map = load_data(sprintf("Data/%sMap%03d.rxdata", $game_system.disc, @map_id))
        end
      end
    end
    
    def change_disc(number, id = nil, x = nil, y = nil, direction = nil)
      discno = $game_system.disc.length < 6 ? "0" : $game_system.disc[4...$game_system.disc.length-1]
      if !$game_system.discdata[discno]
        $game_system.discdata[discno] = [$game_switches.clone, $game_variables.clone, $game_self_switches.clone]
      end
      # Change disc
      if number == 0
        $game_system.disc = "/"
      elsif number.is_a?(Integer)
        $game_system.disc = "disc#{number}/"
      else
        disc = number.to_s
        disc += '/' 
        $game_system.disc = disc
      end
    # Process arguments
      num="#{number}"
      if !$game_system.discdata[num]
        $game_system.discdata[num]=[Game_Switches.new,Game_Variables.new,Game_SelfSwitches.new]
      end
      synchronizeSwitches
      synchronizeVariables
      $game_switches = $game_system.discdata[num][0]
      $game_variables = $game_system.discdata[num][1]
      $game_self_switches = $game_system.discdata[num][2]
      map_id = id.is_a?(Integer) ? id : $game_map.map_id
      x = $game_player.x unless x.is_a?(Integer)
      y = $game_player.y unless y.is_a?(Integer)
      direction = $game_player.direction unless direction.is_a?(Integer)
      # Set transferring player flag
      $game_temp.player_transferring = true
      # Set transferring player flag
      $game_temp.disc_changing = true
      # Set player move destination
      $game_temp.player_new_map_id = map_id
      $game_temp.player_new_x = x
      $game_temp.player_new_y = y
      $game_temp.player_new_direction = direction
      # Change the current map id in case the new and old are identical.
      $game_map.map_id = 0
      $game_map.refresh
    
    end
    
        SYNCRONIZED_SWITCHES=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,
         22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,
         47,48,49,50,51,52,53,54,55,56,57,58]#all ID's go here
    
       SYNCRONIZED_VARIABLES=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,
       22,23,24,25]#all ID's go here
    
    
      def synchronizeSwitches
         $game_system.discdata.each_value{|data|
            switches=data[0]
            SYNCRONIZED_SWITCHES.each{|id|
              switches[id]=$game_switches[id]
            }
         }
       end
    
      def synchronizeVariables
         $game_system.discdata.each_value{|data|
            variables=data[1]
            SYNCRONIZED_VARIABLES.each{|id|
              variables[id]=$game_variables[id]
            }
         }
       end

    Find Game_Map in the script editor.
    Go to the setup method to around line 50 (assuming the default script)
    It should look like this:
    Code:
        # Load map from file and set @map
        @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))
    and replace it with this
    Code:
      # Load map from file and set @map
      @map = load_data(sprintf("Data/%sMap%03d.rxdata", $game_system.disc, @map_id))
    finnaly, in Game_System:
    Code:
    attr_accessor :bgm_position # Find this
    attr_accessor :discdata # Add this
    
    @bgs_position       = 0 # Find this
    @discdata           = Hash.new # Add this

    The best way to truly tell you how this script works is with a small flowchart I made while working on this. The Black circle is your project, the blue circle is your switches and variables, the purple are your maps
    Multi-Disc Network

    The First chart represents essentials in it's base, one project, one set of global data, one set of maps. the second chart was what was added when the default disc changer is placed into the game, a theoretical number of 'Discs' containing it's own maps. The 3rd is what NettoHikari Added, multiple sets global data. The last is the perfected vision, with the Sync feature by Vendily. to simplyfy it down, with this you can combine all your projects into one version and can even place benefits to players who start to 100% each of your games.(the Infinity symbols are only there to indicate 3 or more discs)

    the Original thread mentioned something about an SDK to make your job easier, but I could never found it, so aside from this script there will be something to note. this script alone will cause conflict with essentials custom data, like the popup box for maps, the connections, and the encounters. luckily, there is an easy fix for that.
    Locate all instances of this:
    Code:
    load_data("Data/MapInfos.rxdata")
    and replace them with this:
    Code:
    load_data(sprintf("Data/%sMapInfos.rxdata", $game_system.disc))

    Locate all instances of this:
    Code:
    load_data("Data/connections.dat")
    and replace them with this:
    Code:
    load_data(sprintf("Data/%sconnections.dat", $game_system.disc))

    Locate all instances of this:
    Code:
    load_data("Data/encounters.dat")
    and replace them with this:
    Code:
    load_data(sprintf("Data/%sencounters.dat", $game_system.disc))

    Can You Make it also work on Essentials 18.1
     

    YashPokeFan123

    #PokeFan
  • 283
    Posts
    3
    Years
    • Seen Apr 28, 2023
    this script is not essentials dependant, so it should already work in V18+

    Pokeminer20

    How to add maps in disc because I don't understand it.
    After Coding
    Should I
    Create a new folder and name it data1
    And then insert maps in it.( We have to insert map name from 1 or 1000
     

    Pokeminer20

    PDM20, Coder of Chaos!
  • 412
    Posts
    10
    Years
    dude, just read the previous posts here on this thread. if this script does need a v2 It'll be a while because of other scripts I wanna work on
     

    YashPokeFan123

    #PokeFan
  • 283
    Posts
    3
    Years
    • Seen Apr 28, 2023
    Honestly, I couldn't think of a better name for this thread.
    Originally found here:https://forum.chaos-project.com/index.php?topic=1634.0 this script allows one to exceed the natural limit of RPG Maker's 999 Map limit. with major help from Vendily and NettoHikari we have also allowed for more than the limited 5000 Variables and Switches, and even some of them being synced with all discs(Your choice which ones become synced).
    Paste the script just above main.
    Code:
    #==============================================================================
    # ** Disc Changer script (Designed for Legend of Harpine)
    #------------------------------------------------------------------------------
    # Zeriab
    # 1.05
    # 2008-09-20
    #------------------------------------------------------------------------------
    # Allows you to change the disc, where each disc can contain 999 maps
    #==============================================================================
    =begin
    INSTRUCTIONS
    ------------
    If you do not have the SDK then you have to change Game_Map
    In the Game_Map setup method change the load_data line to this: (Line 50)
    
      # Load map from file and set @map
      @map = load_data(sprintf("Data/%sMap%03d.rxdata", $game_system.disc, @map_id))
    
    After you have done this the below will work.
    
    This script enables the change_disc command. Use script calls to change the disc.
    For disc 1 create a subfolder in your data folder called 'disc1' and place the
    map files for disc 1 in there.
    For disc 2 you should create a subfolder called 'disc2' and place the map files
    for disc 2 in there. And so on for each of your discs.
    The syntax is:
    
      change_disc(number, id = nil, x = nil, y = nil, direction = nil)
    
    The nil numbers mean that those arguments are optional. When you don't use them
    then they are set to whatever the current map_id, x, y and direction are at the
    moment.
    
    If you want to change to disc 2 then you can put this in a script call:
    
      change_disc(2)
      
    You will then be transferred to disc 2 with the same map id and coordinates as
    what the player currently has.
    If you want to be more precise and say you want to change to disc 2 on the map
    with id 10 and the player must be placed at the tile with x = 6 and y = 13 then
    you should put this in a call script:
    
      change_disc(2, 10, 6, 13)
      
    Note that when you start the game the maps directly in the data folder is used.
    You can back to them by changing to disc number 0.
    Basically, disc number 0 is the maps directly in the data folder and not in any
    of the sub folders.
    
    The final argument is the direction. By default the player retains the current
    direction. You can put 6 different values as direction:
    
    0, 10 : No change
    2     : Turn Down
    4     : Turn Left
    6     : Turn Right
    8     : Turn Up
    
    If you for example want to transfer the player to disc 1, map 43 at x = 30 and
    y = 4 with the player looking down you should put this in a call script:
    
      change_disc(1, 43, 30, 4, 2)
      
    *hugs*
     - Created by Zeriab
    
    
    Modded by NettoHikari
    Perfected by Vendily
    Variable Sync added by Pokeminer20
    =end
    
    class Game_System
      attr_accessor :disc
      def disc
        @disc ||= ''
        @disc
      end
    end
    
    class Game_Temp
      attr_accessor :disc_changing
    end
    
    class Game_Map
      attr_writer :map_id
      if Module.constants.include?('SDK')
        def setup_load
          # Load map from file and set @map
          @map = load_data(sprintf("Data/%sMap%03d.rxdata", $game_system.disc, @map_id))
        end
      end
    end
    
    def change_disc(number, id = nil, x = nil, y = nil, direction = nil)
      discno = $game_system.disc.length < 6 ? "0" : $game_system.disc[4...$game_system.disc.length-1]
      if !$game_system.discdata[discno]
        $game_system.discdata[discno] = [$game_switches.clone, $game_variables.clone, $game_self_switches.clone]
      end
      # Change disc
      if number == 0
        $game_system.disc = "/"
      elsif number.is_a?(Integer)
        $game_system.disc = "disc#{number}/"
      else
        disc = number.to_s
        disc += '/' 
        $game_system.disc = disc
      end
    # Process arguments
      num="#{number}"
      if !$game_system.discdata[num]
        $game_system.discdata[num]=[Game_Switches.new,Game_Variables.new,Game_SelfSwitches.new]
      end
      synchronizeSwitches
      synchronizeVariables
      $game_switches = $game_system.discdata[num][0]
      $game_variables = $game_system.discdata[num][1]
      $game_self_switches = $game_system.discdata[num][2]
      map_id = id.is_a?(Integer) ? id : $game_map.map_id
      x = $game_player.x unless x.is_a?(Integer)
      y = $game_player.y unless y.is_a?(Integer)
      direction = $game_player.direction unless direction.is_a?(Integer)
      # Set transferring player flag
      $game_temp.player_transferring = true
      # Set transferring player flag
      $game_temp.disc_changing = true
      # Set player move destination
      $game_temp.player_new_map_id = map_id
      $game_temp.player_new_x = x
      $game_temp.player_new_y = y
      $game_temp.player_new_direction = direction
      # Change the current map id in case the new and old are identical.
      $game_map.map_id = 0
      $game_map.refresh
    
    end
    
        SYNCRONIZED_SWITCHES=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,
         22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,
         47,48,49,50,51,52,53,54,55,56,57,58]#all ID's go here
    
       SYNCRONIZED_VARIABLES=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,
       22,23,24,25]#all ID's go here
    
    
      def synchronizeSwitches
         $game_system.discdata.each_value{|data|
            switches=data[0]
            SYNCRONIZED_SWITCHES.each{|id|
              switches[id]=$game_switches[id]
            }
         }
       end
    
      def synchronizeVariables
         $game_system.discdata.each_value{|data|
            variables=data[1]
            SYNCRONIZED_VARIABLES.each{|id|
              variables[id]=$game_variables[id]
            }
         }
       end

    Find Game_Map in the script editor.
    Go to the setup method to around line 50 (assuming the default script)
    It should look like this:
    Code:
        # Load map from file and set @map
        @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))
    and replace it with this
    Code:
      # Load map from file and set @map
      @map = load_data(sprintf("Data/%sMap%03d.rxdata", $game_system.disc, @map_id))
    finnaly, in Game_System:
    Code:
    attr_accessor :bgm_position # Find this
    attr_accessor :discdata # Add this
    
    @bgs_position       = 0 # Find this
    @discdata           = Hash.new # Add this

    The best way to truly tell you how this script works is with a small flowchart I made while working on this. The Black circle is your project, the blue circle is your switches and variables, the purple are your maps
    Multi-Disc Network

    The First chart represents essentials in it's base, one project, one set of global data, one set of maps. the second chart was what was added when the default disc changer is placed into the game, a theoretical number of 'Discs' containing it's own maps. The 3rd is what NettoHikari Added, multiple sets global data. The last is the perfected vision, with the Sync feature by Vendily. to simplyfy it down, with this you can combine all your projects into one version and can even place benefits to players who start to 100% each of your games.(the Infinity symbols are only there to indicate 3 or more discs)

    the Original thread mentioned something about an SDK to make your job easier, but I could never found it, so aside from this script there will be something to note. this script alone will cause conflict with essentials custom data, like the popup box for maps, the connections, and the encounters. luckily, there is an easy fix for that.
    Locate all instances of this:
    Code:
    load_data("Data/MapInfos.rxdata")
    and replace them with this:
    Code:
    load_data(sprintf("Data/%sMapInfos.rxdata", $game_system.disc))

    Locate all instances of this:
    Code:
    load_data("Data/connections.dat")
    and replace them with this:
    Code:
    load_data(sprintf("Data/%sconnections.dat", $game_system.disc))

    Locate all instances of this:
    Code:
    load_data("Data/encounters.dat")
    and replace them with this:
    Code:
    load_data(sprintf("Data/%sencounters.dat", $game_system.disc))









    Find Game_Map in the script editor.
    Go to the setup method to around line 50 (assuming the default script)
    It should look like this:
    # Load map from file and set @map
    @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))

    where I should find it
     

    YashPokeFan123

    #PokeFan
  • 283
    Posts
    3
    Years
    • Seen Apr 28, 2023
    Honestly, I couldn't think of a better name for this thread.
    Originally found here:https://forum.chaos-project.com/index.php?topic=1634.0 this script allows one to exceed the natural limit of RPG Maker's 999 Map limit. with major help from Vendily and NettoHikari we have also allowed for more than the limited 5000 Variables and Switches, and even some of them being synced with all discs(Your choice which ones become synced).
    Paste the script just above main.
    Code:
    #==============================================================================
    # ** Disc Changer script (Designed for Legend of Harpine)
    #------------------------------------------------------------------------------
    # Zeriab
    # 1.05
    # 2008-09-20
    #------------------------------------------------------------------------------
    # Allows you to change the disc, where each disc can contain 999 maps
    #==============================================================================
    =begin
    INSTRUCTIONS
    ------------
    If you do not have the SDK then you have to change Game_Map
    In the Game_Map setup method change the load_data line to this: (Line 50)
    
      # Load map from file and set @map
      @map = load_data(sprintf("Data/%sMap%03d.rxdata", $game_system.disc, @map_id))
    
    After you have done this the below will work.
    
    This script enables the change_disc command. Use script calls to change the disc.
    For disc 1 create a subfolder in your data folder called 'disc1' and place the
    map files for disc 1 in there.
    For disc 2 you should create a subfolder called 'disc2' and place the map files
    for disc 2 in there. And so on for each of your discs.
    The syntax is:
    
      change_disc(number, id = nil, x = nil, y = nil, direction = nil)
    
    The nil numbers mean that those arguments are optional. When you don't use them
    then they are set to whatever the current map_id, x, y and direction are at the
    moment.
    
    If you want to change to disc 2 then you can put this in a script call:
    
      change_disc(2)
      
    You will then be transferred to disc 2 with the same map id and coordinates as
    what the player currently has.
    If you want to be more precise and say you want to change to disc 2 on the map
    with id 10 and the player must be placed at the tile with x = 6 and y = 13 then
    you should put this in a call script:
    
      change_disc(2, 10, 6, 13)
      
    Note that when you start the game the maps directly in the data folder is used.
    You can back to them by changing to disc number 0.
    Basically, disc number 0 is the maps directly in the data folder and not in any
    of the sub folders.
    
    The final argument is the direction. By default the player retains the current
    direction. You can put 6 different values as direction:
    
    0, 10 : No change
    2     : Turn Down
    4     : Turn Left
    6     : Turn Right
    8     : Turn Up
    
    If you for example want to transfer the player to disc 1, map 43 at x = 30 and
    y = 4 with the player looking down you should put this in a call script:
    
      change_disc(1, 43, 30, 4, 2)
      
    *hugs*
     - Created by Zeriab
    
    
    Modded by NettoHikari
    Perfected by Vendily
    Variable Sync added by Pokeminer20
    =end
    
    class Game_System
      attr_accessor :disc
      def disc
        @disc ||= ''
        @disc
      end
    end
    
    class Game_Temp
      attr_accessor :disc_changing
    end
    
    class Game_Map
      attr_writer :map_id
      if Module.constants.include?('SDK')
        def setup_load
          # Load map from file and set @map
          @map = load_data(sprintf("Data/%sMap%03d.rxdata", $game_system.disc, @map_id))
        end
      end
    end
    
    def change_disc(number, id = nil, x = nil, y = nil, direction = nil)
      discno = $game_system.disc.length < 6 ? "0" : $game_system.disc[4...$game_system.disc.length-1]
      if !$game_system.discdata[discno]
        $game_system.discdata[discno] = [$game_switches.clone, $game_variables.clone, $game_self_switches.clone]
      end
      # Change disc
      if number == 0
        $game_system.disc = "/"
      elsif number.is_a?(Integer)
        $game_system.disc = "disc#{number}/"
      else
        disc = number.to_s
        disc += '/' 
        $game_system.disc = disc
      end
    # Process arguments
      num="#{number}"
      if !$game_system.discdata[num]
        $game_system.discdata[num]=[Game_Switches.new,Game_Variables.new,Game_SelfSwitches.new]
      end
      synchronizeSwitches
      synchronizeVariables
      $game_switches = $game_system.discdata[num][0]
      $game_variables = $game_system.discdata[num][1]
      $game_self_switches = $game_system.discdata[num][2]
      map_id = id.is_a?(Integer) ? id : $game_map.map_id
      x = $game_player.x unless x.is_a?(Integer)
      y = $game_player.y unless y.is_a?(Integer)
      direction = $game_player.direction unless direction.is_a?(Integer)
      # Set transferring player flag
      $game_temp.player_transferring = true
      # Set transferring player flag
      $game_temp.disc_changing = true
      # Set player move destination
      $game_temp.player_new_map_id = map_id
      $game_temp.player_new_x = x
      $game_temp.player_new_y = y
      $game_temp.player_new_direction = direction
      # Change the current map id in case the new and old are identical.
      $game_map.map_id = 0
      $game_map.refresh
    
    end
    
        SYNCRONIZED_SWITCHES=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,
         22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,
         47,48,49,50,51,52,53,54,55,56,57,58]#all ID's go here
    
       SYNCRONIZED_VARIABLES=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,
       22,23,24,25]#all ID's go here
    
    
      def synchronizeSwitches
         $game_system.discdata.each_value{|data|
            switches=data[0]
            SYNCRONIZED_SWITCHES.each{|id|
              switches[id]=$game_switches[id]
            }
         }
       end
    
      def synchronizeVariables
         $game_system.discdata.each_value{|data|
            variables=data[1]
            SYNCRONIZED_VARIABLES.each{|id|
              variables[id]=$game_variables[id]
            }
         }
       end

    Find Game_Map in the script editor.
    Go to the setup method to around line 50 (assuming the default script)
    It should look like this:
    Code:
        # Load map from file and set @map
        @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))
    and replace it with this
    Code:
      # Load map from file and set @map
      @map = load_data(sprintf("Data/%sMap%03d.rxdata", $game_system.disc, @map_id))
    finnaly, in Game_System:
    Code:
    attr_accessor :bgm_position # Find this
    attr_accessor :discdata # Add this
    
    @bgs_position       = 0 # Find this
    @discdata           = Hash.new # Add this

    The best way to truly tell you how this script works is with a small flowchart I made while working on this. The Black circle is your project, the blue circle is your switches and variables, the purple are your maps
    Multi-Disc Network

    The First chart represents essentials in it's base, one project, one set of global data, one set of maps. the second chart was what was added when the default disc changer is placed into the game, a theoretical number of 'Discs' containing it's own maps. The 3rd is what NettoHikari Added, multiple sets global data. The last is the perfected vision, with the Sync feature by Vendily. to simplyfy it down, with this you can combine all your projects into one version and can even place benefits to players who start to 100% each of your games.(the Infinity symbols are only there to indicate 3 or more discs)

    the Original thread mentioned something about an SDK to make your job easier, but I could never found it, so aside from this script there will be something to note. this script alone will cause conflict with essentials custom data, like the popup box for maps, the connections, and the encounters. luckily, there is an easy fix for that.
    Locate all instances of this:
    Code:
    load_data("Data/MapInfos.rxdata")
    and replace them with this:
    Code:
    load_data(sprintf("Data/%sMapInfos.rxdata", $game_system.disc))

    Locate all instances of this:
    Code:
    load_data("Data/connections.dat")
    and replace them with this:
    Code:
    load_data(sprintf("Data/%sconnections.dat", $game_system.disc))

    Locate all instances of this:
    Code:
    load_data("Data/encounters.dat")
    and replace them with this:
    Code:
    load_data(sprintf("Data/%sencounters.dat", $game_system.disc))





    I cannot find load_data("Data/connections.dat") in my scripts I'm using 18.1
     

    Pokeminer20

    PDM20, Coder of Chaos!
  • 412
    Posts
    10
    Years
    I ask that if you absolutely have to quote my original post EVERY TIME you post either put it in a spoiler or just don't quote it. I'ma modify my OP to reflect that
     

    YashPokeFan123

    #PokeFan
  • 283
    Posts
    3
    Years
    • Seen Apr 28, 2023
    I ask that if you absolutely have to quote my original post EVERY TIME you post either put it in a spoiler or just don't quote it. I'ma modify my OP to reflect that


    Sorry
    I cannot find load_data("Data/connections.dat") in my script and also how I can see the disc system is working.
     
    Last edited:
  • 10
    Posts
    5
    Years
    • Seen Dec 27, 2021
    hi there all i got an error with this script for pokemon essentials v19.1 the disc changer script cant sinc with the disc folders because pokemon essentials changed some code that has to do with how maps are shown also load_data("Data/MapInfos.rxdata"),load_data("Data/connections.dat"),load_data("Data/encounters.dat") are coded differently in pokemon essentials v19.1 so if y'all can help fix this error then thank y'all
     
  • 10
    Posts
    5
    Years
    • Seen Dec 27, 2021
    hey i just got an error right off the bat [QUOTE
    load_data(sprintf("Data/%sMapInfos.rxdata", $game_system.disc))
    load_data(sprintf("Data/%smap_connections.dat", $game_system.disc))
    load_data(sprintf("Data/%s#{self::DATA_FILENAME}", $game_system.disc))
    save_data(sprintf(self::DATA, "Data/%s#{self::DATA_FILENAME}", $game_system.disc))
    replace the above variants with the ones below

    load_data(sprintf("Data/%sMapInfos.rxdata", $game_system.disc))
    load_data(sprintf("Data/%smap_connections.dat", $game_system.disc))
    load_data(sprintf("Data/%s#{self::DATA_FILENAME}", $game_system.disc))
    save_data(sprintf(self::DATA, "Data/%s#{self::DATA_FILENAME}", $game_system.disc))][/QUOTE] i cant send the error image the full editor on here got an error the only way i can send it is through discord and here it is guardianknight#9548
     
    Last edited:
  • 30
    Posts
    13
    Years
    • Seen Jan 28, 2024
    hey i just got an error right off the bat
    load_data(sprintf("Data/%sMapInfos.rxdata", $game_system.disc))
    load_data(sprintf("Data/%smap_connections.dat", $game_system.disc))
    load_data(sprintf("Data/%s#{self::DATA_FILENAME}", $game_system.disc))
    save_data(sprintf(self::DATA, "Data/%s#{self::DATA_FILENAME}", $game_system.disc))
    replace the above variants with the ones below

    load_data(sprintf("Data/%sMapInfos.rxdata", $game_system.disc))
    load_data(sprintf("Data/%smap_connections.dat", $game_system.disc))
    load_data(sprintf("Data/%s#{self::DATA_FILENAME}", $game_system.disc))
    save_data(sprintf(self::DATA, "Data/%s#{self::DATA_FILENAME}", $game_system.disc))]
    i cant send the error image the full editor on here got an error the only way i can send it is through discord and here it is guardianknight#9548

    I am diagnosing this error, and got everything working except for this error:

    Spoiler:


    It seems that $game_system.disc is not defined anywhere (only $game_system.discdata), so it borks things up.

    Edit: This is the affected area of MiscPBSData:

    Code:
    def pbLoadMapInfos
      $PokemonTemp = PokemonTemp.new if !$PokemonTemp
      if !$PokemonTemp.mapInfos
        $PokemonTemp.mapInfos = load_data(sprintf("Data/%sMapInfos.rxdata", $game_system.disc))
      end
     
    Last edited:

    Pokeminer20

    PDM20, Coder of Chaos!
  • 412
    Posts
    10
    Years
    I am diagnosing this error, and got everything working except for this error:
    It seems that $game_system.disc is not defined anywhere (only $game_system.discdata), so it borks things up.

    Edit: This is the affected area of MiscPBSData:

    Code:
    def pbLoadMapInfos
      $PokemonTemp = PokemonTemp.new if !$PokemonTemp
      if !$PokemonTemp.mapInfos
        $PokemonTemp.mapInfos = load_data(sprintf("Data/%sMapInfos.rxdata", $game_system.disc))
      end

    $game_system.disc is defined in the codes base script. assuming you have the base script Start a new game and if you're using the multi save plugin, Delete all save files
     
  • 30
    Posts
    13
    Years
    • Seen Jan 28, 2024
    $game_system.disc is defined in the codes base script. assuming you have the base script Start a new game and if you're using the multi save plugin, Delete all save files

    I have no save file. This error happens while trying to load the game, during compiling.
     

    Pokeminer20

    PDM20, Coder of Chaos!
  • 412
    Posts
    10
    Years
    I have no save file. This error happens while trying to load the game, during compiling.

    are you installing this as a plugin or a script you place above main (Yes there is a difference)
    If plugin, you borked it.
    if in script editor, I'm lost
     
  • 30
    Posts
    13
    Years
    • Seen Jan 28, 2024
    are you installing this as a plugin or a script you place above main (Yes there is a difference)
    If plugin, you borked it.
    if in script editor, I'm lost

    As a script above Main. Regardless of where I place it above Main, too. Directly above, or above every script that references it.
    Edit: ooh la la, I just found out that BOTH the script AND the plugin were installed... Is removing the plugin as simple as removing the folder for it under /Plugins/? If so, I did that. I've never used plugins before.
     
    Back
    Top