Hello! I just wanted to let people know that this an extension of a previously existing resource that I found on this thread. I'm not sure exactly how strict people are in terms of how much you can use other people's code when creating your own resource, but given that my script is double the length of the original and I have made multiple adjustments to the original script's code, I decided to post this.
Basic Description
This resource allows for a player to customize their character and provides them with different methods that can be used to change and check a character’s appearance. This resource is based on shiney570’s original character customization script, and includes the following similar features:
How to Install
Important Script Elements:
I’m not great at explaining things, so you may want to look at the scripts/folders you’ve installed before reading the following passage.
Additional Notes:
I know I’m not great at explaining things so feel free to ask me any questions. I’ll try to update this post if people ask me any important/frequent questions. Also feel free to let me know of any bugs, I’ve tested extensively but I definitely could’ve missed some things. Thanks for reading this far!
Basic Description
This resource allows for a player to customize their character and provides them with different methods that can be used to change and check a character’s appearance. This resource is based on shiney570’s original character customization script, and includes the following similar features:
- A character customization screen that allows for a character to freely change their appearance, with optional restrictions to some items (lock/unlock feature).
- Scripts that:
- Change the character’s appearance
- Randomizes the player’s appearance
- Lock and unlock the player’s access to certain items
- Provides the option of either using a base graphic to customize over or customize from scratch.
- Gave the game designer the option to add “variants” for different items (ie. If you wanted an item in different colors, but didn’t want to list that item multiple times with a different color name appended to each)
- Reorganized how files were arranged to be more intuitive.
- Created a script which allows the player to choose a base at the beginning of the game (ie. choose skin tone).
- Built in functionality in which the player’s outfit is only saved when the game is saved, and resets to the previous save if the player does not save their game.
- Updated to v17 and v18 of Essential, fixed minor bugs.
How to Install
- Right above the “main” script, insert two new scripts, naming them “CharacterCust_Main” and “CharacterCust_Utilities”.
- In the CharacterCust_Main script, insert the text from here
- In the CharacterCust_Utilities script, insert the text from
- In the script PField_Metadata add attr_accessor :savedoutfit and @savedoutfit = true into the PokemonTemp class. Your script should look like the following:
- In the script PScreen_Load, add the line “updateTrainerOutfit” on 407, right above $scene = Scene_Map.new. Your script should look like the following:
- Download and extract this resource's file into your game’s “Graphics/Characters/” folder. The link should be listed in the download button above, but I've also included a raw link to the download here: http://www.mediafire.com/file/wy805yairwaz357/Character+Customization.zip/file
7. Delete “=begin” at line 468 and “=end” at line 493 of CharacterCust_Utilities
8. Replace “Graphics/Trainers/” with “Graphics/Characters/” ONLY on the following lines:
8. Replace “Graphics/Trainers/” with “Graphics/Characters/” ONLY on the following lines:
- CharacterCust_Main
- --- 796 ---
- --- 1271 ---
- CharacterCust_Utilities
- --- 275 ---
- --- 327 ---
- --- 353 ---
- --- 415 ---
- --- 417 ---
- --- 419 ---
9. You will need to edit the SPRITE_CONVERT_HASH hash to correspond to v16’s metadata file.
Add the following two lines into the hash:
10. Find line that says “CommandMenuList.new” and replace this with “CommandList.new”. Similarly, for every line that has “@commands.add”, delete and ONLY delete the text within these lines reading “ "main", ”
Add the following two lines into the hash:
- "boy_surf_offset" => "overworld surf",
- "girl_surf_offset" => "overworld surf",
10. Find line that says “CommandMenuList.new” and replace this with “CommandList.new”. Similarly, for every line that has “@commands.add”, delete and ONLY delete the text within these lines reading “ "main", ”
I’m not great at explaining things, so you may want to look at the scripts/folders you’ve installed before reading the following passage.
- Clothing arrays (ie. HAIR_ITEMS) define each item a character will wear and whether or not an item has a variant. Look at the beginning of the CharacterCust_Main script to get more detail on how these arrays are defined.
- Naming conventions: The hash “SPRITE_CONVERT_HASH” determines which folder a sprite corresponds to when replacing the sprite with its new, customized form. For example, trchar000 (the player’s overworld sprite) corresponds to the folder “overworld walk”, which is where different item sprites are stored for the player’s overworld sprite.
- In the overworld walk folder, there are folders representing the names of each bodypart. Within each bodypart folder is an item whose name corresponds with the number of an item in the specific bodypart array . If the item doesn’t have any variants, there will be a file named with a number followed by a letter, the letter corresponding to which gender will use that specific file (A=boy, B=Girl). If it does have variants, there will be a folder which contains all of the files with names corresponding to the order of each variant of the item.
overworld walk folder:
headgear folder:
headgear/2 folder ("Classic Hat")
headgear folder:
headgear/2 folder ("Classic Hat")
- The folder “base graphics” should be used if the game designer wants the player to choose their own base graphic. If the game designer wants the player to use a specific base file, name the file after the sprite it will serve as the base with “_base” at the end of the filename. Or if the game designer doesn’t want to use the base, ignore the folder and the _base file.
Additional Notes:
- Since this script is new and replaces/renames graphic files for the character, I would make a backup of your current game folder before installing this script.
- It really helps to note a bit of coding in Ruby to be able to use this script. Specifically, knowledge of arrays and booleans will probably come in handy.
- The download of this resource only has the assets required to replace the overworld sprite of a character currently (trchar000, trchar001). While I may work on making biking, surfing, and other sprites available in the future, this part of the resource is largely incomplete.
- Do not use this script unless you either have access to the sprites required for this script or if you’re willing to invest A LOT of time making them.
- If you’re using Gen 4 resources, I highly recommend that you use Poltergeist’s Character Customization resources. It will take a while to rename and fit all of the files to this script’s format, but a lot less time than making assets from scratch. I’ve attached the arrays corresponding to this resource with all its listed items to pastebin alone.
- Do not name two different items the same thing. (Ie. If I have a headgear item called Ring and an accessory called Ring, this will lead to undefined behavior and could make your game crash.
- You cannot lock all of the items for some bodypart. This will cause the game to crash in the characterization screen.
- This script alters how a character's metadata is called and how the game loads and saves data. Be aware of this if you're using other scripts which edit these aspects of default essentials.
- I’ve heard shiney570’s original script does not work well with encryption, so keep that in mind when installing this script as well.
I know I’m not great at explaining things so feel free to ask me any questions. I’ll try to update this post if people ask me any important/frequent questions. Also feel free to let me know of any bugs, I’ve tested extensively but I definitely could’ve missed some things. Thanks for reading this far!
- Credits
- Credit if Used: WolfHeretic, shiney570
If shiney570 doesn't want to be credited, let me know.
If shiney570 or others feel this resource is too close to shiney570's original character customization resource and they don’t want me releasing this script I will take this post down.