The RPG Maker Resource Kit

RMRK RPG Maker Creation => VX => VX Scripts Database => Topic started by: worale on January 24, 2008, 07:38:54 AM

Title: [RMVX] Neo-Face System 2.0
Post by: worale on January 24, 2008, 07:38:54 AM
Neo-Face System
Version 2.0
by Woratana
Release Date: 22/01/2008
(http://i83.photobucket.com/albums/j295/woratana/faced.png)

Introduction
Yesterday I read this thread: Your RPG Maker VX Maps (http://www.rpgrevolution.com/forums/index.php?showtopic=7968) and found Rabu (http://www.rpgrevolution.com/forums/index.php?showuser=6528)'s show face style
(http://www.rabugroup.homepage.t-online.de/Facepictures1.png)
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 (http://i83.photobucket.com/albums/j295/woratana/facess1.jpg)
Face size 255*255
http://i83.photobucket.com/albums/j295/woratana/facess2.jpg (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 (http://i83.photobucket.com/albums/j295/woratana/faced1.png)
Version 2.0
http://i83.photobucket.com/albums/j295/woratana/faced2.png (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: [Select]
#==============================================================================
# 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
- Face graphic cut in 192*192 pixel by Rabu
Download Faces Pack Here! (http://www.mediafire.com/?6gijxywmdz4)

example:

(http://i83.photobucket.com/albums/j295/woratana/People1-1a.png)

Instruction Version 2.0
1) First, import the face graphic (any size) to folder "Face" in your game folder.
(http://i83.photobucket.com/albums/j295/woratana/nface1.png)
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.
(http://i83.photobucket.com/albums/j295/woratana/nface2.png)
3) Type the message you want, and "Show Message" window should look like this:
(http://i83.photobucket.com/albums/j295/woratana/nface3.png)
4) Test the game, and you will see the result!
(http://i83.photobucket.com/albums/j295/woratana/nface4.png)
=================================

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: [Select]
$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 (http://i83.photobucket.com/albums/j295/woratana/facess8.jpg) << In Editor
(http://i83.photobucket.com/albums/j295/woratana/facess7.jpg)

$game_message.side = 1 NeoFace system in Left side
http://i83.photobucket.com/albums/j295/woratana/facess4.jpg (http://i83.photobucket.com/albums/j295/woratana/facess4.jpg) << In Editor
(http://i83.photobucket.com/albums/j295/woratana/facess3.jpg)

$game_message.side = 2 NeoFace system in Right side
http://i83.photobucket.com/albums/j295/woratana/facess6.jpg (http://i83.photobucket.com/albums/j295/woratana/facess6.jpg) << In Editor
(http://i83.photobucket.com/albums/j295/woratana/facess5.jpg)
=================================

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.
Title: Re: [RMVX] Neo-Face System 2.0
Post by: Kokowam on January 24, 2008, 12:05:11 PM
Wow, that's nice. :)
Title: Re: [RMVX] Neo-Face System 2.0
Post by: modern algebra on January 24, 2008, 02:27:51 PM
Looks very nice. What happens if you do not initialize $game_message.side? Does it assume NeoFace or regular? In any case, it looks great!
Title: Re: [RMVX] Neo-Face System 2.0
Post by: tSwitch on January 24, 2008, 04:16:43 PM
that's some very nice work
I'm liking the fact that we have some scripters jumping onto VX already
I might do so myself, translate some of my scripts over >.>
Title: Re: [RMVX] Neo-Face System 2.0
Post by: Kokowam on January 24, 2008, 08:13:29 PM
that's some very nice work
I'm liking the fact that we have some scripters jumping onto VX already
I might do so myself, translate some of my scripts over >.>
Find and replace for teh win! :V

Also, the forum board name should be changed to RPG Maker Scripts and not just RMXP because RMVX will feature scripts, too. And topic titles can just say what system it's for.
Title: Re: [RMVX] Neo-Face System 2.0
Post by: Irock on January 24, 2008, 08:16:02 PM
I'm assuming this is your work that you posted here (http://www.rpgrevolution.com/forums/-Updated-Neo-Face-System-2-0-t8131.html)?

If so, nice work.
Title: Re: [RMVX] Neo-Face System 2.0
Post by: worale on January 24, 2008, 11:29:28 PM
@Irock
Yes, that's same script  :)

@modern algrebra
You can change the default show face here:
Code: [Select]
$game_message.side = 1 # Default face's side when game start~ (default: 1)
Title: Re: [RMVX] Neo-Face System 2.0
Post by: worale on February 19, 2008, 06:43:03 AM
Sorry for double post  ;)

[size="4"]NeoFace version 3 is coming![/size]
[color="#FF0000"]
New Features
[/color]
- Allow 8 faces per file for NeoFace system~ (You can still use 1 face per file)

- New mode! $game_message.side = -1 [color="#8B0000"]Show Normal Face system in right side![/color]
(http://woratana.fileave.com/neoface3.jpg)

- 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

[color="#8B0000"]^ 3 FEATURES ABOVE WILL ALLOW YOU TO SHOW FACE ABOVE MESSAGE BOX!![/color]
(http://woratana.fileave.com/neoface31.jpg)

  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

[color="#FF0000"]NEW EFFECT! MOVE FACE FROM OUTSIDE TO INSIDE THE SCREEN!![/color]

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 :lol:
Title: Re: [RMVX] Neo-Face System 2.0
Post by: Doom_master1122 on March 01, 2008, 10:01:14 PM
Nice script. Gonna try it. However, The face pack is no longer available, anyone have a mirror?

Edit--- never mind. got some.
Great script just tested it.
Title: Re: [RMVX] Neo-Face System 2.0
Post by: Mr_Parakoloutho on March 08, 2008, 03:21:05 AM
Nice script. Gonna try it. However, The face pack is no longer available, anyone have a mirror?

Edit--- never mind. got some.
Great script just tested it.
where did you find it?
Title: Re: [RMVX] Neo-Face System 2.0
Post by: worale on March 08, 2008, 05:27:37 AM
I uploaded face pack :)

Here it is:
http://neofacepack.notlong.com/
Title: Re: [RMVX] Neo-Face System 2.0
Post by: modern algebra on April 03, 2008, 03:14:12 AM
This is quite nice. The big faces definitely look better than the 96x96 ones. Nice job here worale.
Title: Re: [RMVX] Neo-Face System 2.0
Post by: worale on April 03, 2008, 04:35:23 AM
Thanks a lot, MA. If Rabu didn't show me, I will never know how nice to use bigger face  ;)

Annoucement:
This script it already included in NMS (Neo Message System)

Neo Message System
http://rmrk.net/index.php/topic,24559.0.html
Title: Re: [RMVX] Neo-Face System 2.0
Post by: weee90 on October 26, 2009, 03:57:11 AM
its not working for me and i really want it !!!!!!!!! please help me PLEASE  :tpg:
Title: Re: [RMVX] Neo-Face System 2.0
Post by: Linkx7 on September 17, 2010, 08:55:46 AM
 :blizj: :blizj: :blizj: :blizj: :blizj: :blizj: :blizj: :blizj: :blizj:
Title: Re: [RMVX] Neo-Face System 2.0
Post by: Linkx7 on September 17, 2010, 01:23:16 PM
not working  :tpg:
Title: Re: [RMVX] Neo-Face System 2.0
Post by: Linkx7 on February 12, 2012, 06:58:59 PM
Cool Level 60  ;D ;D ;D
Title: Re: [RMVX] Neo-Face System 2.0
Post by: IneedHELP! on March 07, 2012, 10:51:10 AM
Sry to bother ya but, the link for some reason doesn't seem to work?
I tried it but then it says that the key has been deleted or something sry.
Is it possible if you can give me another source? PLEASE


thank you,
IneedHELP!
Title: Re: [RMVX] Neo-Face System 2.0
Post by: Little Psycho on February 03, 2013, 02:39:21 PM
Very cool!!
I'd like to use it but it gives a conflict with MA's ATS...

It says:
Script 'ATS' line 3507: TypeError occurred.
nil can't be coerced into FixNum

Don't know if it can be fixed... If it can be fixed, I'd love to use it! Otherwise, I'll just use regular faces.

Grtz