DangerZone 21 Posted February 15, 2013 (edited) This script enables you to use the Characterset graphic instead of the face in menus. V2.5 increases their size and adds the effect to name input. Enjoy! it is my first script so please give feedback, and credit me if use. Screenshot- Script- #============================================================================== # Synn's Charset Menu System V2.5 #------------------------------------------------------------------------------ # This is my first script. It simply switches he reading of faces to reading charactersets # instead. It is plug and play, though I am not sure on compatibility with anything else # that would alter the way that the system draws faces. #Special thanks to galv for pointing out my flaw with the index situation. =P # Version 2.5 changes; I just scaled the size up of the Characters and centered them #more. Also added the effect to name input #============================================================================== class Window_MenuStatus < Window_Selectable def draw_item(index) actor = $game_party.members[index] enabled = $game_party.battle_members.include?(actor) rect = item_rect(index) @frame = 1 draw_item_background(index) draw_character(actor.character_name, actor.character_index, rect.x + 50, rect.y + 70, @frame) draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2) end def draw_character(character_name, character_index, x, y, frame = 1) return unless character_name bitmap = Cache.character(character_name) sign = character_name[/^[\!\$]./] if sign && sign.include?('$') cw = bitmap.width / 3 ch = bitmap.height / 4 else cw = bitmap.width / 12 ch = bitmap.height / 8 end n = character_index src_rect = Rect.new((n%4*3+frame)*cw, (n/4*4)*ch, cw, ch) ret_rect = Rect.new(x - cw, y - cw * 2, cw * 2, ch * 2) contents.stretch_blt(ret_rect, bitmap, src_rect) end end class Window_Status < Window_Selectable def draw_block2(y) @frame = 1 draw_character(@actor.character_name, @actor.character_index, x+65, y+75, @frame) draw_basic_info(136, y) draw_exp_info(304, y) end def draw_character(character_name, character_index, x, y, frame = 1) return unless character_name bitmap = Cache.character(character_name) sign = character_name[/^[\!\$]./] if sign && sign.include?('$') cw = bitmap.width / 3 ch = bitmap.height / 4 else cw = bitmap.width / 12 ch = bitmap.height / 8 end n = character_index src_rect = Rect.new((n%4*3+frame)*cw, (n/4*4)*ch, cw, ch) ret_rect = Rect.new(x - cw, y - cw * 2, cw * 2, ch * 2) contents.stretch_blt(ret_rect, bitmap, src_rect) end end class Window_SkillStatus < Window_Base def refresh contents.clear return unless @actor @frame = 1 draw_character(@actor.character_name, @actor.character_index, 50, 70, @frame) draw_actor_simple_status(@actor, 108, line_height / 2) end def draw_character(character_name, character_index, x, y, frame = 1) return unless character_name bitmap = Cache.character(character_name) sign = character_name[/^[\!\$]./] if sign && sign.include?('$') cw = bitmap.width / 3 ch = bitmap.height / 4 else cw = bitmap.width / 12 ch = bitmap.height / 8 end n = character_index src_rect = Rect.new((n%4*3+frame)*cw, (n/4*4)*ch, cw, ch) ret_rect = Rect.new(x - cw, y - cw * 2, cw * 2, ch * 2) contents.stretch_blt(ret_rect, bitmap, src_rect) end end class Window_NameEdit < Window_Base def refresh contents.clear @frame = 1 draw_character(@actor.character_name, @actor.character_index, 50, 70, @frame) @max_char.times {|i| draw_underline(i) } @name.size.times {|i| draw_char(i) } cursor_rect.set(item_rect(@index)) end def draw_character(character_name, character_index, x, y, frame = 1) return unless character_name bitmap = Cache.character(character_name) sign = character_name[/^[\!\$]./] if sign && sign.include?('$') cw = bitmap.width / 3 ch = bitmap.height / 4 else cw = bitmap.width / 12 ch = bitmap.height / 8 end n = character_index src_rect = Rect.new((n%4*3+frame)*cw, (n/4*4)*ch, cw, ch) ret_rect = Rect.new(x - cw, y - cw * 2, cw * 2, ch * 2) contents.stretch_blt(ret_rect, bitmap, src_rect) end end I hope you enjoy it, and please give me any suggestions and feedback. Edited February 15, 2013 by Jaysynn 2 oriceles and Thomas Smith reacted to this Share this post Link to post Share on other sites
Sievnn 14 Posted February 15, 2013 How about the ability to show portraits in status screen? Share this post Link to post Share on other sites
DangerZone 21 Posted February 15, 2013 (edited) How about the ability to show portraits in status screen? I am pretty sure that there is a script for that already on the site, and I am pretty sure it would be compatible with this if you are trying to have both. Like I said, it is my first script, trying to start small =P Edited February 15, 2013 by Jaysynn Share this post Link to post Share on other sites
Sievnn 14 Posted February 15, 2013 Ok, this script its self is Awesome still and even if it seems so simple to make (maybe for you as beginner), I think no one done this before. Don't push hard on your self, This its self is a progress since I know no thing yet about scripting I will credit you if used. Nice Job! keep up learning RGSS3 and making great script. 1 DangerZone reacted to this Share this post Link to post Share on other sites
DangerZone 21 Posted February 15, 2013 Ok, this script its self is Awesome still and even if it seems so simple to make (maybe for you as beginner), I think no one done this before.Don't push hard on your self, This its self is a progress since I know no thing yet about scripting I will credit you if used. Nice Job! keep up learning RGSS3 and making great script. Thank you! That is actually really nice to hear, and I am glad it is appreciated. I literally just decided last night to jump into scripting, so I consider it to be an accomplishment. Share this post Link to post Share on other sites
DangerZone 21 Posted February 15, 2013 (edited) Updated script to V2.5 which scales and centers the graphics as well as adds the effect to Input name. Edited February 15, 2013 by Jaysynn Share this post Link to post Share on other sites
Sievnn 14 Posted February 15, 2013 I am going to busy for a while so I will barley reply but I am wondering if you could activate the script using a siwtch as an option, it doesn't matter either way. I am expecting other cool menu scripts from you! Keep up the Awesome Job! Share this post Link to post Share on other sites
ekomega 20 Posted February 15, 2013 Thanks for the script. What are the usage terms? Also, pardon my ignorance, but couldn't you solve this problem without a script by just putting the character sprites into a portrait image (by editing)? So the portrait would be a portrait of a sprite. Share this post Link to post Share on other sites
DangerZone 21 Posted February 15, 2013 Thanks for the script. What are the usage terms? Also, pardon my ignorance, but couldn't you solve this problem without a script by just putting the character sprites into a portrait image (by editing)? So the portrait would be a portrait of a sprite. You most certainly could, but that would require making an actor face sheet for ever single characterset. With this script, you just put it in and you are good to go. Which also means not flooding your folders with images, therefore cutting down filesize. =] Like i said on first post, credit me if you use. thats really the only term. Share this post Link to post Share on other sites
CT Bolt 23 Posted March 16, 2013 (edited) I hope you enjoy it, and please give me any suggestions and feedback. Great work! I believe I've found a little mistake though... ret_rect = Rect.new(x - cw, y - cw * 2, cw * 2, ch * 2) aren't all those suppose to be like this: ret_rect = Rect.new(x - cw, y - ch * 2, cw * 2, ch * 2) but I am wondering if you could activate the script using a siwtch as an option, Took care of that for ya (& much more). I've made some serious modifications to this (per request). Check it out: Click Here Let me know what you guys think. Edited March 16, 2013 by CT Bolt Share this post Link to post Share on other sites
DangerZone 21 Posted March 18, 2013 I hope you enjoy it, and please give me any suggestions and feedback. Great work! I believe I've found a little mistake though... ret_rect = Rect.new(x - cw, y - cw * 2, cw * 2, ch * 2) aren't all those suppose to be like this: ret_rect = Rect.new(x - cw, y - ch * 2, cw * 2, ch * 2) >but I am wondering if you could activate the script using a siwtch as an option, Took care of that for ya (& much more). I've made some serious modifications to this (per request). Check it out: Click Here Let me know what you guys think. That is great! I couldnt figure out for the life of me how to animate them, as I said it was my first script. I had to take a break from everything computer related cuz I broke my collarbone. I appreciate the add-on and will update the main post with your link, with your permission of course? 1 CT Bolt reacted to this Share this post Link to post Share on other sites
CT Bolt 23 Posted March 18, 2013 (edited) That is great! I couldn't figure out for the life of me how to animate them, as I said it was my first script. No too bad for a first script. I haven't been doing RGSS3 very long myself either actually. I had to take a break from everything computer related cuz I broke my collarbone. Oh, ouch. I hope your doing well. I appreciate the add-on and will update the main post with your link, with your permission of course? Oh yeah, for sure... go ahead and add it to the main post, I would really like that. Updated it: Click Here mod v1.0 Features Adds Compatibility with YEA - Status Menu Customization for each place it is used: Whether or not use a character sprite Whether or not to animate the sprite Speed of the animation Number of frames to count by Direction of the sprite Sprite Zoom X & Y Offset Future Plans: Clean up code, reduce redundancy Hue Changing Other effects... PS. I am also going to use this in my "Custom Menu Face Script"... it will have a lot more to it though. You'll get credit in that as well. Edited March 18, 2013 by CT Bolt 1 DangerZone reacted to this Share this post Link to post Share on other sites
DangerZone 21 Posted April 28, 2013 I am back from a very long hiatus. I coulnt use my computer because of the lack of movement with my left arm, but after a couple of surguries and some recovery time, I feel much better. However, I dont have any plans to continue scripting, or even upating the main post any more, as it is being a literal pain, moving my arm aroun and what not an then my pc bugging out for some reason. so CT Bolt has my permission to start his own topic with my core script fully integrated, as his own complete script, and need no mention of me. I wish you guys all the best. Share this post Link to post Share on other sites