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

-Free For All RMXP Pokémon CBS-

Status
Not open for further replies.

Ruyin

Skilled RMXP Mapper
73
Posts
17
Years
  • -RMXP Pokémon CBS-

    Calling all scripters!

    Recently when I was browsing a site that I'm not allowed to name, ;) , I found a bad-looking Pokémon CBS/Starter Kit. It was entirely in Portuguese and looked like someone had taken a dump on the graphics. I downloaded this program and found that it had, actually a nearly functional CBS, so I set out translating and fixing some bugs in the game. The result is a NEARLY functional Pokémon Battle System.

    Why are you posting here?

    Well, my knowledge of RGSS is not enough to complete the battle system, so I need some help. Here is a list of things that are wrong with this CBS:

    -Bad Framerate
    -PP can be set and viewed, but you can continue to use the Move past 0
    -Catching System is unavailable
    -I haven't been able to figure out how to set evolutions for custom Pokémon, but it works for the Pokémon included
    -The Pokémon are treated as actors, so like 001: Bulbasaur, 002: Ivysaur, etc., so I don't know how to set a player graphic without having the player appear in battle.
    -I don't know how you would go about adding more than one of the same Pokémon

    So if you are able to help with any of those, please post a reply!

    Who Made This?
    This CBS was made by Gleen of RMXP.ORG - Full credit for the CREATION goes to him.

    So what have you done, apart from re-posting it here?
    Like I said before, I translated about 95% of the text and script into Queen's English, as well as fixing a LOT of graphics, fonts, text positions in scripts and so on.

    Screenshots
    Pidgey vs. Bulbasaur
    [img=http://img230.imageshack.us/img230/1243/screen1pnglf5.th.png]

    Move selection (I'm aware tackle is a NORMAL move:laugh: )
    [img=http://img506.imageshack.us/img506/8066/screen2pngla8.th.png]

    Pokémon Selection
    [img=http://img453.imageshack.us/img453/4792/screen3pngyf1.th.png]

    Pokémon Summary
    [img=http://img515.imageshack.us/img515/6229/screen4pngsu5.th.png]

    Winning the battle (notice the increase exp and the level)
    [img=http://img405.imageshack.us/img405/9869/screen5pngtr4.th.png]

    So, where do I get it?

    Here

    Remember, I need help if we are to make the FIRST EVER FREE FOR ALL POKéMON CBS!

    Using It
    If you wish to download this unfinished version you must give me and Gleen credit.
     

    Dawson

    The Rebirth Is Upon Us
    9,727
    Posts
    20
    Years
  • Does Gleen know that you've translated it and are posting it on other sites asking for a share of the credits for very minimal work?

    It didn't work for me, BTW.
     

    ~Azura

    Alright, purple is good.
    512
    Posts
    18
    Years
    • Seen Jun 21, 2012
    What happens when you try to open it, Dawson?

    Incompatible version maybe?
     

    RM2K3kid

    Insane..
    740
    Posts
    20
    Years
  • Is it just me or is there a lot of missing files.. and what did you translate? not much by the looks of it.
     

    RM2K3kid

    Insane..
    740
    Posts
    20
    Years
  • Go into the scripts and to the bottom and select main. Copy and paste this over the main script.
    Code:
    #==============================================================================
    # ** Main
    #------------------------------------------------------------------------------
    #  After defining each class, actual processing begins here.
    #==============================================================================
    
    begin
      $fontface = "Pokemon RS"
      $fontsize = 18
      # Prepare for transition
      Graphics.freeze
      # Make scene object (title screen)
      $scene = Scene_Title.new
      # Call main method as long as $scene is effective
      while $scene != nil
        $scene.main
      end
      # Fade out
      Graphics.transition(20)
    rescue Errno::ENOENT
      # Supplement Errno::ENOENT exception
      # If unable to open file, display message and end
      filename = $!.message.sub("No such file or directory - ", "")
      print("Unable to find file #{filename}.")
    end

    That will make it easier to read the error.

    Edit: Oh BTW I went over to RMXP.org and took a look at Gleen's thread. It seems that someone already beat you to translating it into English. I wont link but its in page 6 of his thread by a guy called ichabod. Plus its a slightly newer version than your translation.
     
    Last edited:

    Ruyin

    Skilled RMXP Mapper
    73
    Posts
    17
    Years
  • Yes, I'm aware that there is a translation by Ichabod, but he failed to translate the file names and such. If you can tell me what files are missing I will be able to post them for you.

    Dawson: I have contacted Gleen, and he has given me permission to distribute my edit, as long as I give him full credit for the creation.

    EDIT: I will post the ORIGINAL in-game screenshots by Gleen and you can decide whether you think it was a minimal edit.

    2ywybnt.jpg

    2zi1mkg.jpg

    45335l2.jpg



    EDIT 2: Oh, crap, I've just downloaded the file, I uploaded the wrong one! This is from the early stages of my editing. Just give me a while and I'll post the new one.
     
    Last edited:

    Ruyin

    Skilled RMXP Mapper
    73
    Posts
    17
    Years
  • I'll get onto that Dash! I'm just translating and editing some things that were not done yet.
     

    Ruyin

    Skilled RMXP Mapper
    73
    Posts
    17
    Years
  • Okay, spike. You might as well download now though because the only major problems that I could see in the one I uploaded is the bag feature, so you should be alright if you don't go into the bag.
     

    ~Azura

    Alright, purple is good.
    512
    Posts
    18
    Years
    • Seen Jun 21, 2012
    Man, the graphics are too messed up!
    And I can't open it too =/

    It seems worse than Blizzy's btw LOL

    Blizzy's was more... let's say... solid.


    Edit: I see no chipset on mine...
     

    Ruyin

    Skilled RMXP Mapper
    73
    Posts
    17
    Years
  • I don't know why you guys can't open it, it works fine for me...

    Azura, can you tell me what actually happens when you open it?

    EDIT: Since no-one seem to be to open it, I have decided to stop working on it to continue my game. Anyone is welcome to continue it if they get permission from Gleen. I'll just wait for your CBS Azura :) .
     

    ~Azura

    Alright, purple is good.
    512
    Posts
    18
    Years
    • Seen Jun 21, 2012
    Well, to start with... I don't even see the Tilesets folder.
    I can open it in RMXP, but if I testplay it, it exits immediatelly, with no error message.
     

    Ruyin

    Skilled RMXP Mapper
    73
    Posts
    17
    Years
  • Well, like I said, I'm going to start working on my game now, and I've just started to learned RGSS (Hooray for local variables and def methods!) so, if I can make any sense out of it I'll start my own CBS.

    Ruyin out.
     
    89
    Posts
    17
    Years
  • You know what the big problem is?

    NO-one ever made the complete Poké Database... I have made a start but it is far from being finished. Therefor you can not make a cool CBS as no-one has the data to make the battle classes... So...

    Anyone voluteering?
     

    ~Azura

    Alright, purple is good.
    512
    Posts
    18
    Years
    • Seen Jun 21, 2012
    Code:
    DATABASE STATUS
    
    v.0.4b | Build 1507
    
    *Move database:
    	- 375 Moves (includes 'Evolution')
    	- Power Points
    	- Effects
    	- Power
    	- Accuracy
    	- Descriptions
    
    *Pokémon database:
    	- 251 Pokémons
    	- Effort Values
    	- Growth rate
    	- Gender rate
    	- Evolution mode (Stone, Trade, etc)
    	- Type 1 and Type 2
    	- Effectiveness
    	- Move learnings
    	- Base stats
    	- Catch rate
    	- Experience
    	- TM/HM list
    	- Held Item (Wild Pokémons)
    	- Sprites (Front, Back and Overworld)
    
    *Item database:
    	- 285 Items
    	- No descriptions
    	- Nothing done basically

    That's what I have so far, in terms of database. I've been doing that for 8 months now.
     
    89
    Posts
    17
    Years
  • OMG... in code? How do you format it?
    You are WAY further then I am... I did: form the 251 pokemons...

    Finished:
    Code:
    General     = load_poke_data("Poke_General.rxdata",Key[0])  # Finished
    Basestats   = load_poke_data("Poke_Stats.rxdata",Key[0])    # Finished
    Natures     = load_poke_data("Poke_Natures.rxdata",Key[0])  # Finished
    States      = load_poke_data("Poke_StatusFX.rxdata",Key[0]) # (Un)Finished?
    Pokeballs   = load_poke_data("Poke_Balls.rxdata",Key[0])    # Finished
    Fast        = load_poke_data("Poke_EXPFast.rxdata",Key[1])  # Finished
    Medium      = load_poke_data("Poke_EXPMed.rxdata",Key[1])   # Finished
    Slow        = load_poke_data("Poke_EXPSlow.rxdata",Key[1])  # Finished
    Parabolic   = load_poke_data("Poke_EXPPara.rxdata",Key[1])  # Finished

    Erm.. lets see what that means:

    Code:
    - General is a hash with ID, name, type 1 and 2, weigth and height.
    - Basestats is a hash by ID with all the base stats except the first generation games Special stat (Which was stupid btw)
    - Natures is a hash by nature ID with, name, raise and lower
    - States is a hash by state ID with name only
    - Pokeballs is a hash by pokebal ID with name and catch rate multiplier
    - Fast, Medium, Slow, Parabolic  are arrays with the names of the pokemon that belong in that cat.

    Then... I have from the 'other' hash (a hash with : EXP_base, Gender Rate, Happiness, Eggsteps, Catchrate) only the ifrst pokemon...
    Move 1, 22, 33, 45, 73, 77, 79 I have in a hash with name, Battle Type, Contest Type, Power, Accuracy, PP, AP and JP. (Yes, those are bulbasuars moves.. XP)
    I only have the move list form Bulbasaur...
    I have the Evolution lists from the first 9 pokemon...

    I have NO descriptions or whatsoever...
    No Technical or Hidden Machines or wahtsoever
    Abilities, Items, Berries and ribbons = Zeró

    So.. would you like to share?

    p.s. - Effort Values << That is stupid. EV's are not constant
     
    89
    Posts
    17
    Years
  • Okay.. I just did the Effectivines. If somone wants it. Here it is:

    Code:
    module Pokemon_DataBase
        Effectiviness = Table.new(0x19, 0x19)
    
        Effectiviness[0x01, 0x00] = 0x14; Effectiviness[0x08, 0x00] = 0x00; Effectiviness[0x14, 0x14] = 0x05; Effectiviness[0x15, 0x14] = 0x14; Effectiviness[0x16, 0x14] = 0x05; Effectiviness[0x19, 0x14] = 0x05; Effectiviness[0x04, 0x14] = 0x14;  
        Effectiviness[0x07, 0x14] = 0x05; Effectiviness[0x05, 0x14] = 0x14; Effectiviness[0x09, 0x14] = 0x05; Effectiviness[0x14, 0x15] = 0x05; Effectiviness[0x15, 0x15] = 0x05; Effectiviness[0x17, 0x15] = 0x14; Effectiviness[0x16, 0x15] = 0x14;  
        Effectiviness[0x19, 0x15] = 0x05; Effectiviness[0x09, 0x15] = 0x05; Effectiviness[0x17, 0x17] = 0x05; Effectiviness[0x04, 0x17] = 0x14; Effectiviness[0x02, 0x17] = 0x05; Effectiviness[0x09, 0x17] = 0x05; Effectiviness[0x14, 0x16] = 0x14;  
        Effectiviness[0x15, 0x16] = 0x05; Effectiviness[0x17, 0x16] = 0x05; Effectiviness[0x16, 0x16] = 0x05; Effectiviness[0x19, 0x16] = 0x14; Effectiviness[0x03, 0x16] = 0x14; Effectiviness[0x04, 0x16] = 0x05; Effectiviness[0x02, 0x16] = 0x14;
        Effectiviness[0x07, 0x16] = 0x14; Effectiviness[0x14, 0x19] = 0x14; Effectiviness[0x19, 0x19] = 0x05; Effectiviness[0x01, 0x19] = 0x14; Effectiviness[0x05, 0x19] = 0x14; Effectiviness[0x09, 0x19] = 0x14; Effectiviness[0x02, 0x01] = 0x14;  
        Effectiviness[0x18, 0x01] = 0x14; Effectiviness[0x07, 0x01] = 0x05; Effectiviness[0x05, 0x01] = 0x05; Effectiviness[0x1B, 0x01] = 0x05; Effectiviness[0x16, 0x03] = 0x05; Effectiviness[0x01, 0x03] = 0x05; Effectiviness[0x03, 0x03] = 0x05;  
        Effectiviness[0x04, 0x03] = 0x14; Effectiviness[0x18, 0x03] = 0x14; Effectiviness[0x07, 0x03] = 0x05; Effectiviness[0x15, 0x04] = 0x14; Effectiviness[0x17, 0x04] = 0x00; Effectiviness[0x16, 0x04] = 0x14; Effectiviness[0x19, 0x04] = 0x14;  
        Effectiviness[0x03, 0x04] = 0x05; Effectiviness[0x05, 0x04] = 0x05; Effectiviness[0x17, 0x02] = 0x14; Effectiviness[0x16, 0x02] = 0x05; Effectiviness[0x19, 0x02] = 0x14; Effectiviness[0x01, 0x02] = 0x05; Effectiviness[0x04, 0x02] = 0x00;  
        Effectiviness[0x07, 0x02] = 0x05; Effectiviness[0x05, 0x02] = 0x14; Effectiviness[0x01, 0x18] = 0x05; Effectiviness[0x18, 0x18] = 0x05; Effectiviness[0x07, 0x18] = 0x14; Effectiviness[0x08, 0x18] = 0x14; Effectiviness[0x1B, 0x18] = 0x14;
        Effectiviness[0x14, 0x07] = 0x14; Effectiviness[0x16, 0x07] = 0x05; Effectiviness[0x01, 0x07] = 0x05; Effectiviness[0x04, 0x07] = 0x05; Effectiviness[0x02, 0x07] = 0x14; Effectiviness[0x05, 0x07] = 0x14; Effectiviness[0x00, 0x05] = 0x05;  
        Effectiviness[0x14, 0x05] = 0x05; Effectiviness[0x15, 0x05] = 0x14; Effectiviness[0x16, 0x05] = 0x14; Effectiviness[0x01, 0x05] = 0x14; Effectiviness[0x03, 0x05] = 0x05; Effectiviness[0x04, 0x05] = 0x14; Effectiviness[0x02, 0x05] = 0x05;  
        Effectiviness[0x09, 0x05] = 0x14; Effectiviness[0x00, 0x08] = 0x00; Effectiviness[0x01, 0x08] = 0x00; Effectiviness[0x03, 0x08] = 0x05; Effectiviness[0x07, 0x08] = 0x05; Effectiviness[0x08, 0x08] = 0x14; Effectiviness[0x1B, 0x08] = 0x14;  
        Effectiviness[0x14, 0x1A] = 0x05; Effectiviness[0x15, 0x1A] = 0x05; Effectiviness[0x17, 0x1A] = 0x05; Effectiviness[0x16, 0x1A] = 0x05; Effectiviness[0x19, 0x1A] = 0x14; Effectiviness[0x1A, 0x1A] = 0x14; Effectiviness[0x01, 0x1B] = 0x14;  
        Effectiviness[0x18, 0x1B] = 0x00; Effectiviness[0x07, 0x1B] = 0x14; Effectiviness[0x08, 0x1B] = 0x05; Effectiviness[0x1B, 0x1B] = 0x05; Effectiviness[0x00, 0x09] = 0x05; Effectiviness[0x14, 0x09] = 0x14; Effectiviness[0x16, 0x09] = 0x05;  
        Effectiviness[0x19, 0x09] = 0x05; Effectiviness[0x01, 0x09] = 0x14; Effectiviness[0x03, 0x09] = 0x00; Effectiviness[0x04, 0x09] = 0x14; Effectiviness[0x02, 0x09] = 0x05; Effectiviness[0x18, 0x09] = 0x05; Effectiviness[0x07, 0x09] = 0x05;  
        Effectiviness[0x05, 0x09] = 0x05; Effectiviness[0x08, 0x09] = 0x05; Effectiviness[0x1A, 0x09] = 0x05; Effectiviness[0x1B, 0x09] = 0x05; Effectiviness[0x09, 0x09] = 0x05
    
        Types                 = { 0x00 => 'Normal', 0x01 => 'Fighting', 0x02 => 'Flying', 0x03 => 'Poison', 0x04 => 'Ground', 0x05 => 'Rock', 0x07 => 'Bug', 0x08 => 'Ghost', 0x09 => 'Steel', 0x14 => 'Fire', 0x15 => 'Water', 0x16 => 'Grass', 0x17 => 'Electric', 0x18 => 'Psychic', 0x19 => 'Ice', 0x1A => 'Dragon', 0x1B => 'Dark' }
        Types['invert']       = { 'Normal' => 0x00, 'Fighting' => 0x01, 'Flying' => 0x02, 'Poison' => 0x03, 'Ground' => 0x04, 'Rock' => 0x05, 'Bug' => 0x07, 'Ghost' => 0x08, 'Steel' => 0x09, 'Fire' => 0x14, 'Water' => 0x15, 'Grass' => 0x16, 'Electric' => 0x17, 'Psychic' => 0x18, 'Ice' => 0x19, 'Dragon' => 0x1A, 'Dark' => 0x1B }
        Multipliers           = { 0x00 => 0.0, 0x05 => 0.5, 0x14 => 2.0}
    end


    And the method:
    Code:
    def get_effect_multiplier(amovetype,dtype)
      if amovetype.is_a?(String)
        amovetype = amovetype.downcase.capitalize
        amovetype = Pokemon_DataBase::Types['invert'][amovetype] 
      end
      if dtype.is_a?(String)
        dtype = dtype.downcase.capitalize
        dtype = Pokemon_DataBase::Types['invert'][dtype]
      end 
      multiplier = Pokemon_DataBase::Effectiviness[amovetype,dtype]
      multiplier = Pokemon_DataBase::Multipliers[multiplier]
      return multiplier
    end

    How to use this?

    Code:
    get_effect_multiplier(ATTACK type , POKEMON type)

    For ATTACK type/POKEMON type you can use the following types of data:
    - A string: FIRE, Fire, FiRe, firE
    - A integer: 0x14, 20

    so calling this:
    Code:
    p get_effect_multiplier(20 ,'Water') # 20 = 0x14 = Fire
    -> wil return 0.5 as expected

    What if your pokemon has 2 types? both types are considered in figuring a type's effectiveness. For example, an electric-type attack would deal 4 times the damage to a Water/Flying type Pokemon, like Gyarados, but no damage at all to a Water/Ground type Pokemon, like Quagsire. This means you could do:

    Code:
    p get_effect_multiplier('Electric' , 'Water') * get_effect_multiplier('Electric', 'Flying' )
    -> will return 4.0
    Code:
    p get_effect_multiplier('Electric' , 'Water') * get_effect_multiplier('Electric', 'Ground' )
    -> Will return 0.0

    It was quite some work, so.. credit appreciated. Also, what are all those haxadecimals doing there? Well, this comes form the actual pokemon game. So the data is real, I 'just' needed to convert it to a table... which costs time..

    Me™

    p.s. I just did the multipliers hash.. because I wanted. You could do this instead (in the method):

    Code:
    Pokemon_DataBase::Effectiviness[amovetype,dtype].to_f / 10
     
    Last edited:

    Ruyin

    Skilled RMXP Mapper
    73
    Posts
    17
    Years
  • Azura and Me™, uh, I'm sure that will be really helpful but due to my n00bishness at RGSS I can't really make much use of it... :)
     
    Status
    Not open for further replies.
    Back
    Top