collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: [VX] Neo-Face System 2.0  (Gelesen 7083 mal)

woratana

  • Gast
[VX] Neo-Face System 2.0
« am: Januar 23, 2008, 07:14:02 »
Hi everyone, I know this is not English board. But I found this website and just want to share my script.

It will be good if anyone can help me translate this, and I hope my English is not really hard to read. (I'm not native speaker by the way)

Version 1.0 of this script posted on Rpgrevolution.com Jan 20 2008, 11:26 AM
http://www.rpgrevolution.com/forums/index.php?showtopic=8131

Version 2.0 posted on Jan 22 2008, 04:39 PM
and the one I posted here is version 2.0

Enjoy  :lol:

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
http://www.rpgmakervx.net/index.php?showtopic=364

Introduction
Yesterday I read this thread: Your RPG Maker VX Maps and found Rabu's show face style

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
#==============================================================================
# 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!

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:
$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


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


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

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

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.

=====================================
For any comment, it will be good if you can type in English.

But if not, I will try translate it by Language tool~^^

Thank you

[VX] Neo-Face System 2.0

Offline Baur

  • Mr. MACK-Tile
  • ***
  • Beiträge: 272
    • http://
[VX] Neo-Face System 2.0
« Antwort #1 am: Januar 23, 2008, 10:43:31 »
Oh woratana hier zu Gast. Wir kriegen internationalen Zuwachs.

Obwohl Version 2 jetzt optimierter ist, benutz ich doch lieber Yatzu's Facescript, wegen der geilen Namens-Boxen.

Jedenfalls schön, dass schon einige Leute für VX scripten.
Formerly known as [size=]Rabu[/size] *g*

PS: In nächster Zeit selten im Forum. RL sucks.

[VX] Neo-Face System 2.0

Offline Goldenboss

  • Mr. MACK-Tile
  • ***
  • Beiträge: 251
    • http://www.goldenboss.de
[VX] Neo-Face System 2.0
« Antwort #2 am: Januar 23, 2008, 12:31:16 »
Hi,

i really like your Script.
It's nice. ;)

Greetings Markus
« Letzte Änderung: Januar 23, 2008, 16:44:59 von Goldenboss »

[VX] Neo-Face System 2.0

Offline Baur

  • Mr. MACK-Tile
  • ***
  • Beiträge: 272
    • http://
[VX] Neo-Face System 2.0
« Antwort #3 am: Januar 23, 2008, 13:10:03 »
Find ich jetzt etwas undankbar Yatzu gegenüber. Der reisst sich den Arsch auf...aber was reg ich mich auf.
BTW, so "much easier" ist's jetzt auch nicht.

PS: Mag diese Abzocker-Mentalität nicht sonderlich und werde das in Zukunft wohl berücksichtigen, wenn's um eigene Ressourcen geht.
« Letzte Änderung: Januar 23, 2008, 13:15:13 von Baur »
Formerly known as [size=]Rabu[/size] *g*

PS: In nächster Zeit selten im Forum. RL sucks.

[VX] Neo-Face System 2.0

Talyana Meriweather Rahl

  • Gast
[VX] Neo-Face System 2.0
« Antwort #4 am: Januar 23, 2008, 13:25:36 »
Ich mag beide Scripte muss ich sagen, ich respektiere auch jeden weil ich kann das ja nicht.
Irgendwie bin ich wohl für sachen die aus den PHP gehen zu dumm *g* obwohl ich nichtmal soooo gut PHP kann xD.

Das Face Script sieht echt toll aus und Baur (Rabu) hat schon recht die Namensboxen bei Yatzu-san sind auch genial *grins*.

Mal sehen welches ich nehme noch kann ich mich nicht entscheiden xD

[VX] Neo-Face System 2.0

Offline Baur

  • Mr. MACK-Tile
  • ***
  • Beiträge: 272
    • http://
[VX] Neo-Face System 2.0
« Antwort #5 am: Januar 23, 2008, 14:36:03 »
Hi woratana, now that you're staying right here immediately, let me welcome you.

Your Script is well done, but we have one done by a member of this forum, that includes name-box. Some people would like your script to be enhanced with this feature. Because your's seems to be more simple in usage.
« Letzte Änderung: Januar 23, 2008, 16:07:09 von Baur »
Formerly known as [size=]Rabu[/size] *g*

PS: In nächster Zeit selten im Forum. RL sucks.

[VX] Neo-Face System 2.0

woratana

  • Gast
[VX] Neo-Face System 2.0
« Antwort #6 am: Januar 23, 2008, 14:48:44 »
Hi Everyone~
Thanks for some posts that are in English. (I used Google Language Tools to help me translate though, so you guys don't have to post in English anymore <= (but sometimes Language tool is not work) ~^^)

@Rabu
Get it,
I will work on the name box, but I can't promise~^^
I want to find some solutions that works well too, because I don't like the user to call script a lot.

Anyone suggestion about this could help me~^^

Thanks

Woratana
« Letzte Änderung: Januar 23, 2008, 14:49:51 von woratana »

[VX] Neo-Face System 2.0

Yatzumo

  • Gast
[VX] Neo-Face System 2.0
« Antwort #7 am: Januar 23, 2008, 16:06:50 »
Hi woratana and welcome!

If you want to include a Namebox, try to get something out of my own Face-Script:
Click me!

The Code to create the namebox:
Spoiler for Hiden:
    if heroname == 0

    else
      @aname = Window.new
      @aname.windowskin = Cache.system("Window")
      @aname.back_opacity = 180
      @aname.openness = 255
      @aname.z = 202  
      #-----------------------------------------------------------------------
      # ? Namen färben: 0-7
      #-----------------------------------------------------------------------
      if afcolor == 0 # Weiß
        fontcolor = Color.new(255, 255, 255, 255)
      elsif afcolor == 1 # Blau
        fontcolor = Color.new(128, 128, 255, 255)
      elsif afcolor == 2 # Rot
        fontcolor = Color.new(255, 128, 128, 255)
      elsif afcolor == 3 # Grün
        fontcolor = Color.new(128, 255, 128, 255)
      elsif afcolor == 4 # Hellblau
        fontcolor = Color.new(128, 255, 255, 255)
      elsif afcolor == 5 # Lila
        fontcolor = Color.new(255, 128, 255, 255)
      elsif afcolor == 6 # Gelb
        fontcolor = Color.new(255, 255, 128, 255)
      elsif afcolor == 7 # Grau
        fontcolor = Color.new(192, 192, 192, 255)
      elsif afcolor == 8 # Braun
        fontcolor = Color.new(231, 197, 142, 255)
      end
      @anametext = Sprite.new
      @anametext.z = 203
      
      case heroname
        when 1..20
          actor = $data_actors[heroname]
          @actor_id = heroname
          @name = actor.name
          @aname.width = (@name.size * 10) + 40
          @aname.height = 34
          
          if position == 0
            @aname.x = 544 - @aname.width - 15
            @aname.y = 268
            @anametext.x = 544 - @aname.width - 15
            @anametext.y = 268
          elsif position == 1
            @aname.x = 10
            @aname.y = 268
            @anametext.x = 10
            @anametext.y = 268
          end
          
          @anametext.bitmap = Bitmap.new((@name.size * 10) + 40, 32)
          @anametext.bitmap.font.color = fontcolor
          @anametext.bitmap.font.size = 20
          nametexthoehe = @anametext.bitmap.font.size
          nametextrect = Rect.new(0, 7, @anametext.bitmap.width, nametexthoehe)
          @anametext.bitmap.draw_text(nametextrect, @name, 1)
        else
          @aname.width = (heroname.size * 10) + 40
          @aname.height = 34
          
          if position == 0
            @aname.x = 544 - @aname.width - 15
            @aname.y = 268
            @anametext.x = 544 - @aname.width - 15
            @anametext.y = 268
          elsif position == 1
            @aname.x = 10
            @aname.y = 268
            @anametext.x = 10
            @anametext.y = 268
          end
          
          @anametext.bitmap = Bitmap.new((heroname.size * 10) + 40, 32)
          @anametext.bitmap.font.color = fontcolor
          @anametext.bitmap.font.size = 20
          nametexthoehe = @anametext.bitmap.font.size
          nametextrect = Rect.new(0, 7, @anametext.bitmap.width, nametexthoehe)
          @anametext.bitmap.draw_text(nametextrect, heroname, 1)
      end
    end

But it need a parameter from a call script.
BUT you can look at the window_message script to get the code for "\N
  • " and can change it. Maybe its will works.


By the way: Sorry for my bad english.. I try the best. :)

@Rabu
Danke, dass du mich so schön verteidigst.. ^^
Zitat
PS: Mag diese Abzocker-Mentalität nicht sonderlich und werde das in Zukunft wohl berücksichtigen, wenn's um eigene Ressourcen geht.

Ganz deiner Meinung, schließe mich dem an.

MFG Yatzumo

[VX] Neo-Face System 2.0

Offline Baur

  • Mr. MACK-Tile
  • ***
  • Beiträge: 272
    • http://
[VX] Neo-Face System 2.0
« Antwort #8 am: Januar 23, 2008, 16:22:11 »
Vor allem sollte man bedenken, dass wenn jetzt wortana die Name-Box-Funktion einbaut, dem Script auch ein Stück an Einfachheit verloren geht, weil man ja letzlich gezwungen ist, im Call Script-Aufruf ein Namen zu übergeben.

Noch können Computer nicht Gedanken lesen, auch wenn's manche User gern so hätten.

PS: Hi, Dainreth, willkommen.
« Letzte Änderung: Januar 23, 2008, 16:23:43 von Baur »
Formerly known as [size=]Rabu[/size] *g*

PS: In nächster Zeit selten im Forum. RL sucks.

[VX] Neo-Face System 2.0

Dainreth

  • Gast
[VX] Neo-Face System 2.0
« Antwort #9 am: Januar 23, 2008, 16:25:37 »
Ach wie schön, bekannte Gesichter, Rabu und wortana. (Danke für die Empfehlung, Rabu)

@wortana
As I said on rmvx.net, I like your script..it's helpful, especially with update to version 2.0

@Yatzumo
Dein Skript kenne ich noch nicht, werde es gleich ausprobieren, bevor ich darüber urteile. Aber es scheint bei den anderen ja schon gut angekommen zu sein, bin gespannt.

@Rabu
Hab das jetzt nicht so mitbekommen, aber ich finde, ihr habt da Recht, Einfachheit ist lange nicht besser, dennoch wird es häufiger genutzt. Ist eben diese Bequemlichkeit.
« Letzte Änderung: Januar 23, 2008, 16:28:05 von Dainreth »

[VX] Neo-Face System 2.0

Yatzumo

  • Gast
[VX] Neo-Face System 2.0
« Antwort #10 am: Januar 23, 2008, 16:30:57 »
Es könnte einfacher werden, ich könnte mein Script genau so für den User einfacher machen. Allerdings würde das einen _VIEL_ längeren Code voraussetzen. Ich könnte das machen, ja, allerdings wäre es Zeitverschwendung.

Aber hey, was solls. Man kann niemanden übel nehmen, dass Einfachheit einfach lieber gesehen ist.
Ich verwende weiterhin meins, weil ich dadrin rumschreiben kann, wie ich will. :)Wenn mir was nicht dran passt => änder ich was. Wenn mir was fehlt => füg ichs hinzu.

@woratana
You script is really nice, but i like it to use 8 faces in one file. :)

MFG Yatzumo

[VX] Neo-Face System 2.0

Dainreth

  • Gast
[VX] Neo-Face System 2.0
« Antwort #11 am: Januar 23, 2008, 16:34:31 »
Genau das ist sehr verständlich, insbesondere möchte man es ja auch für sich nutzen und ich finde, dass es schon ein netter Zug ist, überhaupt etwas zu veröffentlichen (vor allem nach diesen ganzen Vorfällen von wegen Credits usw. z.B. mit Tana, wers mitbekommen hat). Deshalb mag ich diese Verteufelungen überhaupt nicht, von wegen besser und schlechter, jeder soll das nehmen, was ihm besser gefällt und fertig ist die Sache.

@Rabu
Danke fürs Willkommen heißen.

[VX] Neo-Face System 2.0

Offline Baur

  • Mr. MACK-Tile
  • ***
  • Beiträge: 272
    • http://
[VX] Neo-Face System 2.0
« Antwort #12 am: Januar 23, 2008, 16:35:38 »
Ist ja auch so, dass wenn du die Call Script-Aufrufe einmal hast, du das Zeug einfach nur kopierst und wieder irgendwo einfügst und anpasst. Ist ja jetzt wirklich nicht deeer grosse Aufwand.

Aber, BtT.
« Letzte Änderung: Januar 23, 2008, 16:42:24 von Baur »
Formerly known as [size=]Rabu[/size] *g*

PS: In nächster Zeit selten im Forum. RL sucks.

[VX] Neo-Face System 2.0

Yatzumo

  • Gast
[VX] Neo-Face System 2.0
« Antwort #13 am: Januar 23, 2008, 16:55:05 »
Zitat
Aber, BtT.
Richtig. ^^
Kritik und Vorschläge für das Script sollten hier gepostet werden, keine Diskussion welches Script letztendlich besser ist.

Nochmal zum Abschluss:
Brauch btw keiner denken "Oh, ich nutze jetzt mal lieber Yatzus Script, weil er es ja exta für uns gemacht hat!" Ich fühl mich nicht ans Bein gepisst, weil irgendjemand lieber ein anderes Script verwendet. Bin glücklich darüber, dass es - so gut wie - fertig ist. xD

MFG Yatzumo

[VX] Neo-Face System 2.0

woratana

  • Gast
[VX] Neo-Face System 2.0
« Antwort #14 am: Januar 24, 2008, 00:58:36 »
Sorry that I can answer just English post  :P

@Yatzumo
Thanks for share you script~^^
I just wonder why you use .bitmap instead of .contents as usual.

I'm so happy that window in RGSS and RGSS2 is not a lot different. It should be easier than I think to make one.  :lol:

The reason why I don't use 8 faces per file because I want to save the game's space and reduce work before import the file. If you import the 8 faces per file and you didn't use all the faces, it will waste your game's space. And if you want to make it more efficient, you have to paste just the faces you want in game on template. (which is slower than 1 face per file)

So this script will be good if you don't expect to use all the RTP faces and don't want to waste your game's size (and time to paste faces on template).~^^
« Letzte Änderung: Januar 24, 2008, 00:59:26 von woratana »

 


 Bild des Monats

rooftop party

Views: 3152
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal