Help - Search - Members - Calendar
Full Version: *Beta-Release* Neo-Face System Advance 3.0
RPG RPG Revolution Forums > Scripting > Script Development and Support > RGSS2
Pages: 1, 2, 3
woratana
Neo-Face System
Version 2.0
by Woratana
Release Date: 22/01/2008


Here is the second place I post this script,
I've posted this script in:
http://www.rpgrevolution.com/forums/index.php?showtopic=8131

Introduction
Yesterday I read this thread: Your RPG Maker VX Maps and found Rabu's show face style
[Show/Hide] Rabu's Screenshot

I heard that he used show picture for this, and he posted the face graphic that cut already.

So I script one to make it easier~^^

Features
Version 2.0
- No limitation in face size, use 1 face per file
Example:
Face size 192*192 pixel
http://i83.photobucket.com/albums/j295/woratana/facess1.jpg
Face size 255*255
http://i83.photobucket.com/albums/j295/woratana/facess2.jpg

- Show face in left side, right side, or switch back to normal RMVX face system.

- Fix bug when use "Show Choice" command.
Before and After:
Version 1.0
http://i83.photobucket.com/albums/j295/woratana/faced1.png
Version 2.0
http://i83.photobucket.com/albums/j295/woratana/faced2.png

Version 1.0
- Face size: 192*192 pixel, use 1 face per file
- Show face in left side or right side.
- Turn on/off face's Fade In effect, and change speed of Fade In effect.

Script
Place it above main
CODE

#==============================================================================
# NeoFace System v.2.0 [RMVX Script]
#------------------------------------------------------------------------------
# by Woratana [woratana@hotmail.com]
# Thaiware RPG Maker Community
# Special Thanks: Rabu
#------------------------------------------------------------------------------
# Released on: 22/01/2008
# - Put face graphics in folder "face" of your project.

# [New Features in Version 2.0]
# - Auto arrange face position (You can use any size of face file)

# - Call Script "$game_message.side = (number)" to switch show face mode.
# $game_message.side = 0 << switch to normal face system (default face system of RMVX)
# $game_message.side = 1 << switch to NeoFace system (show face in left side)
# $game_message.side = 2 << switch to NeoFace system (show face in right side)
# Default system when you first setup this script is 1
# THESE NUMBERS & RESULTS ARE DIFFERENT FROM VERSION 1.0 #

# Fixed bug in Show Choice command.
#==============================================================================

#==============================================================================
# Window_Base
#------------------------------------------------------------------------------
#==============================================================================
class Window_Base

def draw_face2(face_name, x, y)
@face.z = 201
@face.bitmap = Cache.face(face_name)
if $game_message.side == 1
@face.mirror = false
@face.x = x + 6
else
@face.mirror = true
@face.x = x + (538 - @face.width)
end
@face.y = y - (@face.width - 123)
@face.opacity = 0 # Change 0 to 255 to turn off face's fade in effect.
end
end

#==============================================================================
# Window_Message
#------------------------------------------------------------------------------
#==============================================================================
class Window_Message

alias msg_ini initialize
def initialize
msg_ini
@face = Sprite.new
$game_message.side = 1 # Default face's side when game start~ (default: 1)
@default_conx = 0
# Move text left (-) or right (+) when there's face in right side or no face (default: 0)
end

def new_page
contents.clear
if @face.bitmap != nil
@face.bitmap.dispose
end
if $game_message.face_name.empty?
@contents_x = @default_conx
else
name = $game_message.face_name
index = $game_message.face_index
if $game_message.side == 0 ##
draw_face(name, index, 0, 0)
else
draw_face2(name, self.x, self.y)
end
get_x_face
@contents_x = @fx
end
@contents_y = 0
@line_count = 0
@show_fast = false
@line_show_fast = false
@pause_skip = false
contents.font.color = text_color(0)
end

def new_line
if $game_message.face_name.empty?
@contents_x = @default_conx
else
get_x_face
@contents_x = @fx
end
@contents_y += WLH
@line_count += 1
@line_show_fast = false
end

def update
super
update_gold_window
update_number_input_window
update_back_sprite
update_show_fast
if @face.bitmap != nil and @face.opacity < 255
@face.opacity += 20 # Speed up face's fade in by increase this number
end
unless @opening or @closing
if @wait_count > 0
@wait_count -= 1
elsif self.pause
input_pause
elsif self.active
input_choice
elsif @number_input_window.visible
input_number
elsif @text != nil
update_message
elsif continue?
start_message
open
$game_message.visible = true
else
close
if @face.bitmap != nil
@face.bitmap.dispose
end
$game_message.visible = @closing
end
end
end

def start_number_input
digits_max = $game_message.num_input_digits_max
number = $game_variables[$game_message.num_input_variable_id]
@number_input_window.digits_max = digits_max
@number_input_window.number = number
if $game_message.face_name.empty?
@number_input_window.x = x - 23
else
case $game_message.side ##
when 0
@number_input_window.x = (x + 112) - 23
when 1
@number_input_window.x = (x + @face.width) - 23
when 2
@number_input_window.x = x - 23
end
end
@number_input_window.y = y + @contents_y
@number_input_window.active = true
@number_input_window.visible = true
@number_input_window.update
end

def update_cursor
if @index >= 0
if $game_message.face_name.empty?
x = @default_conx
else
get_x_face
x = @fx
end
y = ($game_message.choice_start + @index) * WLH
if $game_message.face_name.empty?
facesize = x
else
facesize = @face.width
end
self.cursor_rect.set(x, y, contents.width - facesize, WLH)
else
self.cursor_rect.empty
end
end

def get_x_face
case $game_message.side
when 0
@fx = 112
when 1
@fx = @face.width
when 2
@fx = @default_conx
else
@fx = @default_conx
end
end



end # Class

#==============================================================================
# Game_Message: + store side variable
#------------------------------------------------------------------------------
#==============================================================================
class Game_Message
attr_accessor :side
end

#==============================================================================
# END NeoFace System
# by Woratana (woratana@hotmail)
#==============================================================================


Download
- If you have problem with copy text from codebox,
you can download text file here.
Click to view attachment

- If you want to try version 1.0 of this script, download text file here.
Click to view attachment

- Face graphic cut in 192*192 pixel by Rabu
Download Faces Pack Here!
Uploaded New Link @ 17/02/2008

example:



Instruction Version 2.0
1) First, import the face graphic (any size) to folder "Face" in your game folder.

2) When you're choosing face graphic in event command "Show Message", you will see that it divided in 8 parts.
Don't worry about it, choose any part you want. All parts will show face same result in this script.

3) Type the message you want, and "Show Message" window should look like this:

4) Test the game, and you will see the result!

=================================

Change Face's Side & Switch to Normal VX Face System
You can show face in left or right side, or switch back to normal VX face system.

To change face's side, use event command "Call Script" and type this:
CODE
$game_message.side = (0 or 1 or 2)

0 << switch to normal face system (default face system of RMVX)
1 << switch to NeoFace system (show face in left side)
2 << switch to NeoFace system (show face in right side)
^ 1 is DEFAULT MODE when you first place this script
(If you don't use this script before show message, face will show in the last side that you set)

Example:
$game_message.side = 0 Normal RMVX Face System
http://i83.photobucket.com/albums/j295/woratana/facess8.jpg << In Editor
[Show/Hide] $game_message.side = 0


$game_message.side = 1 NeoFace system in Left side
http://i83.photobucket.com/albums/j295/woratana/facess4.jpg << In Editor
[Show/Hide] $game_message.side = 1


$game_message.side = 2 NeoFace system in Right side
http://i83.photobucket.com/albums/j295/woratana/facess6.jpg << In Editor
[Show/Hide] $game_message.side = 2

=================================

Author's Notes
Free for use in your non-commercial work if credit included. If your project is commercial, please contact me.

Please do not redistribute this script without permission. If you want to post it on any forum, please link to this topic.

Special Thanks
- Rabu (for cutout face graphics)
- ccoa's script thread, for outline of the script thread.
jasonicus
Thanks. Nice job on this. It is very helpful. Thanks for sharing.
KiteDXX
Thanks for this. I will be using this, definitely.
SeeYouAlways
I am a bit too lazy to use this, but it looks neat anyway. When I make some serious projects then I may find use for this script. Cheers!
Kinnison
Nice system, the default one doesn't stretch the head out of the window screen right?

Off topicness below:
It's good to have many RGSS2 scripts posted early before VX's release. RRR rocks happy.gif
jasonicus
Tried it out and it works great. Thanks.
woratana
Thank you, everyone~^^ feel free to post for any question, bug, or idea to improve this script. smile.gif

QUOTE
Nice system, the default one doesn't stretch the head out of the window screen right?

Yes, the old one is in the window screen and smaller.
It use different method to show face too, because you cannot draw something out of the window by self.contents.

QUOTE
I am a bit too lazy to use this, but it looks neat anyway. When I make some serious projects then I may find use for this script. Cheers!

I agree that this script may scripted just for new project or serious project, because it may needs a lot of work when your game is in progress and used show message a lot already, or if the project is just make for try the new engine and didn't need to be really neat, the maker may want to skip this script~^^.

Thanks for interesting in this script btw~^^, and thanks to put it in first page too.
darkkyros
This looks awesome. I will try this out when I get the chance.
Yellow Magic
Wow. This is really really good stuff. Almost makes me want to use RMVX right now ^^
woratana
Hi! everyone,

Is anyone has any idea to improve this script?
I'm going to edit this script by:
QUOTE
- Make it easier when you change size of face
- Make the new option to change face system back to normal one


Please tell me~^^ so I can edit them all in one time.
Elighja
Wow thanks for this, I was really thinking about getting the trial but this just helped me decide on getting it more. lol
woratana
Version 2.0 Finished!!

New Features
QUOTE
# [New Features in Version 2.0]
# - Auto arrange face position (You can use any size of face file)

# - Call Script "$game_message.side = (number)" to switch show face mode.
# $game_message.side = 0 << switch to normal face system (default face system of RMVX)
# $game_message.side = 1 << switch to NeoFace system (show face in left side)
# $game_message.side = 2 << switch to NeoFace system (show face in right side)
# Default system when you first setup this script is 1
# THESE NUMBERS & RESULTS ARE DIFFERENT FROM VERSION 1.0 #

# Fixed bug in Show Choice command.

==========================

I hope there's no one use $game_message.side a lot so far. I you did, I apologize. Because I just change the number and result to...
QUOTE
# $game_message.side = 0 << switch to normal face system (default face system of RMVX)
# $game_message.side = 1 << switch to NeoFace system (show face in left side)
# $game_message.side = 2 << switch to NeoFace system (show face in right side)

in version 2.0

So, now you can use this system with the normal face system^^

=============================

Script is coming soon~^^ I just want to know what do you think about the new features. Anything to change? Anything to improve?
So I can fixed it and release^^
GubiD
v1 to v2 in a single day. That sounds like the fastest update ever.
Yellow Magic
I bet Woratana's a workoholic. XD
woratana
Update Version 2.0!!!

You can get the script and read tutorial in he first post.

Feel free to ask the question, tell me the bug, or suggest an idea to improve this script. biggrin.gif

QUOTE (GubiD @ Jan 21 2008, 07:05 PM) *
v1 to v2 in a single day. That sounds like the fastest update ever.

In fact, I finished version 1.0 on 19 Jan (but release on 20), and I finished version 2.0 on 21 Jan (but again, release on 22).
So I don't think it's very fast laugh.gif
(I think I'm the slow scripter wink.gif )

QUOTE
I bet Woratana's a workoholic. XD

No rolleyes.gif , I just having fun with script laugh.gif
Ratbag
I'll obviously use the script, nice job dude! Thanks
alucart13
I would use this, but i still have no idea how to use scripts with rpg maker...=[
lahandi
This systems is great mate. It will make reading conversation dialogue more easy, because the text will directly started from the left and the picture moved to the right. Very nice. yes.gif
alucart13
It wont work for me man... It says

????? NeoFace'? 105??? NoMethodError ?????
undefined method 'bitmap' for nil:NilClass
woratana
@Alucart1
What version you are using?
And can you show me what is line 105? Because line 105 that I have is not about bitmap.

It will be best if you can sent me demo of your game~^^ so I can find the real solution.

Thanks
Koru-chan
woratana, <3

This is of all the VX scripts out my favorite so far. I love how this set looks, the square tilesets just still feel too fake to me. Thanks so much for this script. happy.gif
neclords
Cool huh!
OneWingedAngelVII
Appears to be something wrong wth line 73 to me, so i can't start the game up sad.gif
jasonicus
Which one is Line 73? Please post that, I don't have the system in front of me at the moment, plus it might help to pinpoint the problem.
Koru-chan
line 73 should be:

CODE
draw_face2(name, self.x, self.y)


From the block:

CODE
def new_page
contents.clear
if @face.bitmap != nil
@face.bitmap.dispose
end
if $game_message.face_name.empty?
@contents_x = @default_conx
else
name = $game_message.face_name
index = $game_message.face_index
if $game_message.side == 0 ##
draw_face(name, index, 0, 0)
else
draw_face2(name, self.x, self.y)
end
get_x_face
@contents_x = @fx
end
@contents_y = 0
@line_count = 0
@show_fast = false
@line_show_fast = false
@pause_skip = false
contents.font.color = text_color(0)
end
starhammer1
Hi there everyone, Im new to the boards, thought Id say hello before I said anything else.

Im having a severe problem downloading the face pack for this script. I guess I needed firefox? Well, I DLed firefox and for some reason I cant run it, like nothing happens when I try to open it. I was wondering if one of you guys would be nice enough to give me the pictures so that I can use this in my game. wink.gif
woratana
@OneWinged
I'd like to see what is the error said. It will be better for me to fix it smile.gif

@Starhammer
Do you have WinRar?
starhammer1
I sure do smile.gif
lahandi
Mr Woratana,

In this : # $game_message.side = 2 << switch to NeoFace system (show face in right side)

Should we manualy flip the face in, say, Photoshop, than we import it to the resources? Or it will be automatically flipped the "left-side face", so that we shouldnt have to flip it manualy from the default big faceset?

Thank you smile.gif
woratana
@lahandi

It will automatically flip your face, so you don't have to flip it in photoshop smile.gif
starhammer1
I still cant DL the faces sad.gif
woratana
@starhammer1

I don't know why my internet cannot upload a file, so if there's anyone has that file and like to help. I would appreciate. smile.gif

Thanks
Denko
I just wanted to give feedback and thank you for all your helpful scripts, woratana. This one is especially useful and your hard work is appreciated a lot by everyone, I'm sure.
I can't believe how easy it is to use this script! XD
shaman666
there's anyway to make this work a little different?
like fire emblem facesets, the faces are shown above the text box, and they don't take space from the text
starhammer1
Could someone PLEASE help me out? All I need is the face pics and Im good to go. I really dont care how I get them...
woratana
I finally found file hosting that works laugh.gif

Download Faces here
starhammer1
THANK YOU
Denko
Woratana, I'm having a problem with the script that I hope you can help me with.
I finally got around to making a custom face to use with this script, to test it out.

This is the face I made. When I use it with the script, only the neck and above shows and the rest below is cut off. I have no idea what I'm doing wrong; can you guide me in the right direction as to resolve this?
woratana
Didn't test yet, but you may want to try change this line:

CODE
@face.y = y - (@face.width - 123)

to
CODE
@face.y = y - (@face.height - 123)


Let me know if it works or not smile.gif
Denko
Thank you, it worked perfectly.
I have one more question. My VX had lagged more than usual when I used this script, so I isolated it to figure out what was happening.
When I test-play, the game runs very smooth until the first event that triggers the use of this script. Everything after that is very laggy. Do you know why this might be, or is my computer just a little slower than others?
It's okay if you don't know, I just thought you might be the best person to ask.
lahandi
QUOTE
It will automatically flip your face, so you don't have to flip it in photoshop smile.gif



Thank you for the answer. banana.gif
woratana
NeoFace version 3 is coming!

New Features

- Allow 8 faces per file for NeoFace system~ (You can still use 1 face per file)

- New mode! $game_message.side = -1 Show Normal Face system in right side!


- New Effect! Move Face horizontally from outside to inside the screen!!

- More New Features that you can easily config!!
QUOTE
MOVE_TEXT = true # (true/false)
# Move text to right side of face, when showing NeoFace in left side.

FACE_X_PLUS = 0 # Move Face Horizontally
FACE_Y_PLUS = 0 # Move Face Vertically

^ 3 FEATURES ABOVE WILL ALLOW YOU TO SHOW FACE ABOVE MESSAGE BOX!!


TEXT_X_PLUS = 0 # Move Text Horizontally
CHOICE_INPUT_X_PLUS = 10 # Move Choices Text and Input Number Text Horizontally

EightFaces_File = false
# for NeoFace System: use 8 Faces per file / 1 Face per file (true/false)

DEFAULT_SIDE = 0 # Default Face's Side when game start~

FADE_EFFECT = true # Turn on/off fade effect (true/false)
FADE_SPEED = 20 # Speed up face's fade effect by increase this number

MOVE_EFFECT = true # Turn on/off "move in" effect (true/false)
MOVE_SPEED = 10 # Speed up face's "move in" effect by increase this number

NEW EFFECT! MOVE FACE FROM OUTSIDE TO INSIDE THE SCREEN!!


I'm planning to add NMS features in there, and maybe Name Box. What do you think about it?

Please let me know if you have any idea or suggestion about NeoFace 3 laugh.gif

==========================
@Denko

To be honest, now I've no idea how this script cause lag smile.gif

Anyway, I will appreciate if you find any thing about it that can cause lag, and let me know.

Thanks
shaman666
thank you woratana, you heard my prayers xD

and PLEASE put that Namebox because I WILL use it 100% guaranteed on my project
Denko
Everything you're putting into version 3 is awesome!!! Thank you for working on this still, woratana!
And I fixed my problem. I was running too many programs in the background of RMVX and it was lagging. But I closed them and it stopped. So I'm fine.
PLEASE make sure to put the name box in. happy.gif
SeeYouAlways
QUOTE (shaman666 @ Feb 20 2008, 05:14 AM) *
and PLEASE put that Namebox because I WILL use it 100% guaranteed on my project


Well, this is face script, not a message script. ohmy.gif
ImmortalDreamer
Unless he starts adding stuff like Nameboxes, then it becomes message box script. Yay, CMS.
Denko
QUOTE (SeeYouAlways @ Feb 19 2008, 09:16 PM) *
QUOTE (shaman666 @ Feb 20 2008, 05:14 AM) *
and PLEASE put that Namebox because I WILL use it 100% guaranteed on my project


Well, this is face script, not a message script. ohmy.gif

Well, his latest post did say he might put it in if the demand was high enough.
I hope he does, it would be useful. He's good at making scripts easy to use anyways.
woratana
Oh, I just finished name box and found these new posts

This Name Box will have connection to face, because you can allow name box to move to right side when showing face in right side~

Neo Face Advance + Name Box
QUOTE
- Neo Face script is now more support with normal face system in RMVX

- Name box,


- Name box move to right side when showing face in right side!


- Setup part is pretty long because it has more free to edit script, and you can just skip the part you don't want to edit smile.gif
CODE
  #---------------------------------
  # [START] SETUP SCRIPT PART
  #-------------------------------
  
  #------------------------------------------------
  # ** NEO-FACE / NORMAL FACE SYSTEM SETUP
  #----------------------------------------------
  DEFAULT_SIDE = 0 # Default Face's Side when game start~
  
  FACE_X_PLUS = 0 # Move Face Horizontally (Left: -, Right: +)
  FACE_Y_PLUS = 0 # Move Face Vertically (Up: -, Down: +)
  TEXT_X_PLUS = 0 # Move Text Horizontally
  CHOICE_INPUT_X_PLUS = 10
  # Move Choices Text and Input Number Text Horizontally
  
  #-------------------------------
  # ** NEO FACE SYSTEM
  #----------------------------
  MOVE_TEXT = true # (true/false)
  # Move text to right side of face, when showing NeoFace in left side.
  
  EightFaces_File = false
  # For NeoFace System: Use 8 Faces per file (or) 1 Face per file (true/false)
  
  #-------------------------------------
  # **SHOW FACE EFFECT
  # * For both Face Systems *
  #----------------------------------
  FADE_EFFECT = true # Turn on/off fade effect (true/false)
  FADE_SPEED = 20 # Speed up face's fade effect by increase this number
  
  MOVE_EFFECT = true # Turn on/off "move in" effect (true/false)
  MOVE_SPEED = 10 # Speed up face's "move in" effect by increase this number
  
  #------------------------------------
  # ** NAME BOX / NAME TEXT SETUP
  #----------------------------------
  NAMEBOX_SKIN = "Window" # Windowskin of Name Box (In folder 'Graphics/System')
  NAMEBOX_OPACITY = 200
  NAMEBOX_X_PLUS = 160#8 # Move Name Box & Text Horizontally
  NAMEBOX_Y_PLUS = 0 # Move Name Box & Text Vertically
  
  NAMEBOX_TEXT_LENGTH_PER_LETTER = 10 # Length of Text Per Letter (in pixel)
  NAMEBOX_TEXT_FONT = "UmePlus Gothic" # Name Text Font's Name
  NAMEBOX_TEXT_SIZE = 22 # Name Text Font's Size
  NAMEBOX_TEXT_HEIGHT_PLUS = 2 # Increase Name Text Height (For Big Size Text)

  NAMEBOX_TEXT_BOLD = false # Make Text in Name Box Bold
  NAMEBOX_TEXT_DEFAULT_COLOR = [255,255,255] # [Red,Green,Blue]: Name Text Color (RGB)
  # You can easily find color code for RGB (RedGreenBlue) color in Google :)
  # You are allow to change color in game by call script:
  # $game_message.color = [Red,Green,Blue]
  
  NAMEBOX_TEXT_AFTER_NAME = ":" # Add Text after Name, leave "" to disable.
  
  NAMEBOX_BOX_WIDTH_PLUS = 6 # Increase Name Box Width
  NAMEBOX_BOX_HEIGHT_PLUS = 7 # Increase Name Box Height
  
  MOVE_NAMEBOX = true
  # (true/false) Move Text Box to Right Side if showing Face in Right side.
  
  #---------------------------------
  # [END] SETUP SCRIPT PART
  #-------------------------------


I have a question here, what keyword you guys like to use to call name box, because \n[name] has used to call hero's name in original RGSS.

I'm using \b[name], b is from "box" tongue.gif, please let me know if you have any idea about this.

Ask me if there's anything in SETUP SCRIPT PART (script above) that you don't understand, so I can change its comment~

Thanks for your support!

p.s. I'm working on NMS Lite that can draw just about everything (that is text) on message box + compatible with any message system that still use Window_Message to display message~ (e.g. Neo Face laugh.gif)
Rory
Wow! Amazing! Is the Namebox + Picture above the box capatible?
woratana
@Magdreamer

What do you mean by Picture above the box? smile.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.