Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Easy Character Creator (translated)

Status
Not open for further replies.
Easy Character Creator
Version: 2.0

Introduction

Based on the script of Visual Equipment of Me. With this script you can personalize 100 %
the characters before starting playing, from his appearance up to his skills.

Features
  • Personalizes 100 % the characters before initiating game
    * Name, classes, gender
    * aspect (2 available genders
    * skills
    * equip
  • All the characters assigned to the group will be available to personalize.
  • Image of the character edited in all the windows, included to load / save
  • VERY EASILY to edit, simple and intuitive windows
Screenshots

http://img176.imageshack.us/img176/1286/nuevoru0.png
http://img226.imageshack.us/img226/1892/generalic9.png
http://img83.imageshack.us/img83/6908/aspectova7.png[
http://img138.imageshack.us/img138/1365/habilidadesez4.png
http://img138.imageshack.us/img138/855/equipoky8.png
http://img329.imageshack.us/img329/6020/mapajj6.png
http://img292.imageshack.us/img292/8025/menuuw2.png
http://img134.imageshack.us/img134/4824/guardarpu2.png

Sorry for spanish screenshots but the demo is 100 % translated to English

Demo

Gigasize[2.61MB]v2.0
Megaupload[2.61MB]v2.0

Script

Download demo ;)

Instructions

See script instrucctions or Info.txt (more info)

Credits and Thanks

Credit:
  • Kotfire
  • Meâ„¢ for Visual Equipment

Important

All the resources used in this demo are property of his respective authors.
(If you are the author of one of the resources and you do not want that it appears in this demo contact with me)


PD: Excuse me but I am Spanish and my English is not too good.
 
Oh, another spanish guy. I think you should translate the program if you want that people from other countries use it.

Yo también soy de España ¡que sorpresa!
Si quieres que personas de otros paises de habla no hispana utilicen este programa será mejor que trates de traducirlo. Seguramente se trate de pequeñas palabras no muy complicadas.
 
I think i remember you from hellsoft.
About translation: Oh, I forget it, i translate the instructions and forget the rest :P
----------------------------------------------------------
Me suena de haberte visto por hellsoft, mi nick por alli es Kotfire pero no se si me conocerás.
Olvidé traducir los textos :P ahora mismo me pongo con ello y edito.
 
@ Myono -- Disable Smileys and put it in code tags

Always nice to see new faces in the script forum.

*) Variable Names were a little hard to decipher for me (and I'm not talking about the spanish (A bit rusty) , I'm talking about variable names like $varA, $varC, bmp)

1) Dir.entries is very bad to use in a script if the user wants to encrypt their project since there is no Directory when the game is encrypted, What I would do is add an option that saves all of the entries from Dir.entries to a file and then use Exception Handling before using Dir Entries, if the proper Exception was raised then instead get the data from that saved file (this would require the user to test run their project at least once before encrypting though), or you could switch the name to 1.png, 2.png, 3.png, ...

2) Limit the use of Global Variables, you could create a dummy class (creating instance variables for every you want) and set one global variable to that

3) These lines can be removed since they are associated with the illegal version and may give people using the legal version an error
Code:
   self.contents.font.name = $fontface
   self.contents.font.size = $fontsize

4) When you are done with a Sprite object you can dispose it to free it

5) Why did you modify Window_Command#initialize, that's not very good coding (as this will decrease compatibility)

Instead of This
Code:
class Window_Command < Window_Selectable
 #--------------------------------------------------------------------------
 def initialize(width, commands)
[COLOR=Red]   super(0, 0, width, [commands.size * 32 + 32, 480].min)[/COLOR]
   @item_max = commands.size
   @commands = commands
   self.contents = Bitmap.new(width - 32, @item_max * 32)
      self.contents.font.name = $fontface
   self.contents.font.size = $fontsize
   refresh
   self.index = 0
 end
end

You Could have done this (I'll refer to the section where you declared the command window)
Code:
   @acc = Window_Command.new(200, acc_nombre)
   @acc.index = 0
   @acc.x = 440
   @acc.z = 1500
[COLOR=Red]   @acc.height = [acc_nombre.size * 32 + 32, 480].min[/COLOR]

Or you could have created your own personal Command Window that inherits from Window_Command and then modify its initialize method to get what you want

6) Your loading/saving bug is caused by not saving a needed global variable which, I deduce, is $visual_equipment, you would have to edit Scene_Save#write_save_data and Scene_Load#read_save_data and then after the data is loaded, restore the equipment.
-------------
After Testing your demo I see this...

1) When I switch the body the window showing the characters contents is not removed so I still see parts of the old body on the window
2) When selecting options I get noticable lag
3) Window Design was so-so (too much empty space)

Well I did enjoy looking at your code and it is impressive , with a little work you can improve upon your script and make it better ^_^
 
*) Variable Names were a little hard to decipher for me (and I'm not talking about the spanish (A bit rusty) , I'm talking about variable names like $varA, $varC, bmp)
you're right, i'll should change these variables names to other more descriptives.
1) Dir.entries is very bad to use in a script if the user wants to encrypt their project since there is no Directory when the game is encrypted, What I would do is add an option that saves all of the entries from Dir.entries to a file and then use Exception Handling before using Dir Entries, if the proper Exception was raised then instead get the data from that saved file (this would require the user to test run their project at least once before encrypting though), or you could switch the name to 1.png, 2.png, 3.png, ...
I know this problem, but I do it deliberately to make easy the management, so your second idea is very good, maybe do that.
2) Limit the use of Global Variables, you could create a dummy class (creating instance variables for every you want) and set one global variable to that
I want to remove them, i planned change them soon.
These lines can be removed since they are associated with the illegal version and may give people using the legal version an error
Yeah!, this is because I have the 1.02 legal version and the 1.01 illegal version(spanish) and sometimes I work with de 1.01. I forget remove it.
4) When you are done with a Sprite object you can dispose it to free it
Where did I miss to dispose a Sprite object?
5) Why did you modify Window_Command#initialize, that's not very good coding (as this will decrease compatibility)
You're right now too. I should have used a Window_Command by myself instead of using default Window_Command, but i didn`t realize.
6) Your loading/saving bug is caused by not saving a needed global variable which, I deduce, is $visual_equipment, you would have to edit Scene_Save#write_save_data and Scene_Load#read_save_data and then after the data is loaded, restore the equipment.
No, that's not the mistake, I've done that, but I didn't include it in the script because I'm trying to solve some other problem related to with the Sprite that is showed when you load game.
1) When I switch the body the window showing the characters contents is not removed so I still see parts of the old body on the window
Yes, that happens because this is ready for use a body as Sprite character, and if you use a rpg maker sprite you see parts of the old body on the window
2) When selecting options I get noticable lag
I didn't have these lag
3) Window Design was so-so (too much empty space)
Yeah, I didn't spend much time on it.

Well I did enjoy looking at your code and it is impressive , with a little work you can improve upon your script and make it better
Thank you, This isn't my first script, but I need improve many things. I try to do your advices.
 
Akraintkos said:
you're right, i'll should change these variables names to other more descriptives.

1)I know this problem, but I do it deliberately to make easy the management, so your second idea is very good, maybe do that.

2)I want to remove them, i planned change them soon.

3)Yeah!, this is because I have the 1.02 legal version and the 1.01 illegal version(spanish) and sometimes I work with de 1.01. I forget remove it.

4)Where did I miss to dispose a Sprite object?

5)You're right now too. I should have used a Window_Command by myself instead of using default Window_Command, but i didn`t realize.

6)No, that's not the mistake, I've done that, but I didn't include it in the script because I'm trying to solve some other problem related to with the Sprite that is showed when you load game.

1)Yes, that happens because this is ready for use a body as Sprite character, and if you use a rpg maker sprite you see parts of the old body on the window

2)I didn't have these lag

Yeah, I didn't spend much time on it.


Thank you, This isn't my first script, but I need improve many things. I try to do your advices.

3) You could have just used a Bitmap object, instead fof creating both a sprite and a bitmap
Code:
   bmp = Sprite.new
   bmp.visible =false
   bmp.bitmap = RPG::Cache.imagenes(path, to_add,$colorc.to_i)
   color = bmp.bitmap.get_pixel(0, 0)
   
   for i in 0..sprite.width
     for j in 0..sprite.height
       color_get=bmp.bitmap.get_pixel(i, j)
       if color_get != color
         sprite.set_pixel(i, j ,color_get)
       end
     end
   end
 
   bmp=nil

2) I'm on a very slow/old computer
 
I just told a friend that I was looking for something like this! Will it do 8-direction? Aw, whatever. :D

Only glanced over the forums at work. Talk about timing!!!
 

Foxxor

Member

Hola yo te conozco de rpgmakerxp soy Evil_RO buen trabajo lograste correjir ese error ke no dejaba grabar el personaje, ;).
 
He fixed an error too? Sweet.

But, I noticed something. (Oh, and I just used the script and downloaded the graphics package. Not the demo).

It superimposes the character 'snippets' (faces, armor, accessories) OVER the original character. If you look closely, you can still see the original 'Arshes' character behind what you've generated. It IS based on the Visual Equipment script afterall.

This CAN be remedied, but not by choosing [none] for the character file in the database. That will just give you 'no' space to draw your graphics. Instead, you want to create a characterset (or equal size as Arshes) that is totally blank. Then, the system will have something to draw onto. THAT works.

That is if you want to prevent the original character from showing behind the new one.
 

Foxxor

Member

Make that yourself, just changing the opacity of the windows with:
@windowvar.opacity = 0
and calling the spriteset, but to do that you need to call the script after you start a new game.
 
I saw that another guy had request it before but...
can you host the Download elsewhere????
MegaUpload is bugged!
it never work!:mad:
 
I will post the new version soon, when I do it, I host the demo in other site too.
The new version repair some bugs and include de load / save system.

I will finish and upload it September / October ;)
 
How do you set the name of the character to show up in dialog? eg. Hi! How are you doing, [playername]? and such? Also, how do you add your own armors? Like , If you want to add your own made armor to the list of possible armors, and on the body?

Thanks in advance,
Sess-
 
Have you read the attached txt?
There you can find the answers to your questions.
To show the name of the player, it is compatible with any message system with this funcón, or you can use $game_party.actors[position in the party].name
To add more armors or bodies read the txt of information, I do not have desire of repeating here anything that already I wrote there.

See ya!
 
Status
Not open for further replies.

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top