RPGVX.net

  RPG-Maker VX => VX Skripte [Fertiger Code] => Thema gestartet von: woratana am Februar 03, 2008, 10:29:59

Titel: NMS - Neo Message System Version 2.1//3
Beitrag von: woratana am Februar 03, 2008, 10:29:59
~Hier der DL zu NMS-3.0 von Wora: Klick (http://www.mediafire.com/?2mhjjkk4mte)

MfG, Colo





NMS2 - Neo Message System 2
by: Woratana

(http://i30.tinypic.com/2upuzxv.jpg)

Hi!
Some people may already heard about NMS before. But version 1 is really bad...
It can only use syntax to write text from database in it~

This version (version 2) is a lot better  :)

NMS is Message System that include many features that we have in AMS for XP.
Some of features are not included in AMS  :smile: here's features list:
Zitat
=====================================
     + NMS 2.0 FEATURES LIST +
=====================================
Use these features in message box
----------------------------------
? NMS MESSAGE FEATURES
----------------------------------
--------------------------
? [SPECIAL CALL] PART
--------------------------
\ce[Common Event ID] << Run Common Event immediately

\ani[Animation ID] << Show Animation on 'This Event'
\bal[Balloon ID] << Show Ballon on 'This Event'

*Note: This Event = Event that show this message

--------------------------
? [DRAW ICON] PART
--------------------------
\dw[weapon ID] << Draw Weapon Icon + Weapon Name
\da[armor ID]  << Draw Armor Icon + Armor Name
\di[item ID]   << Draw Item Icon + Item Name
\ds[skill ID]  << Draw Skill Icon + Skill Name

\ic[icon ID]   << Draw Icon

--------------------------
? [WRITE TEXT] PART
--------------------------
\map                         << Write Map Name

\nc[actor ID]                << Write Class of Actor
\np[1 to 4 (order in party)] << Write Name of actor in that order
\nm[monster ID]              << Write Monster Name
\nt[troop ID]                << Write Troop Name

\nw[weapon ID]               << Write Weapon Name
\na[armor ID]                << Write Armor Name
\ns[skill ID]                << Write Skill Name
\ni[item ID]                 << Write Item Name
\price[item ID]              << Write Item Price

--------------------------
? [TEXT EFFECT] PART
--------------------------
\fn[Font Name] << Change Font Name
\fs[Font Size] << Change Font Size
\delay[Delay]  << Change text Delay per letter (in frame, 60 frames = about 1 sec)

\ref           << Reset Font Name
\res           << Reset Font Size
\red           << Reset text Delay

\b             << Turn on/off BOLD text
\i             << Turn on/off ITALIC text
\lbl           << Turn on/off LETTER-BY-LETTER Mode (default is ON)

--------------------------
? [NAME BOX & FACE] PART
--------------------------
\nb[Name]  << Show Name Box in current message window
\rnb[Name] << Repeat Name Box,
Name Box with this name will show again and again in next messages
unless there is \nb[Name] in that message, or you've stop this option by type \rnb[]

\sd[side]      << Change Face Side
(0: Left Side Normal Face | -1: Right Side Normal Face)
(1: Left Side Neo Face | 2: Right Side Neo Face)

----------------------------------
? VX DEFAULT MESSAGE FEATURES
----------------------------------
\v[variable ID] << Write value from variable
\n[actor ID]    << Write actor's name
\c[color ID]    << Change text color (Color ID is from Down-right corner in Windowskin)
\g              << Show gold window
\.              << Wait 15 frames (about 1/4 sec)
\|              << Wait 60 frames (about 1 sec)
\!              << Wait for player to press button to continue message
\>              << Skip letter-by-letter in current line
\<              << Stop 'skip letter-by-letter' in current line
\^              << Close message box immediately
\\              << Write '\'

This script also included Neo Face System Advance, which has built-in Name Box and more support to use normal face size.

If you don't know what is Neo-Face System, check this out~
(http://i32.tinypic.com/29difx2.jpg)
http://www.rpgrevolution.com/forums/index.php?showtopic=8131 (http://www.rpgrevolution.com/forums/index.php?showtopic=8131)

Demo Download
Script is included in Demo~

http://doiop.com/nms2 (http://doiop.com/nms2)

Author's Note
Free for use in your work if credit included.

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

If you need support, have any suggestion, or any idea about features,
Please Post. I will be glad to see~^^
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Goldenboss am Februar 03, 2008, 11:32:02
Hi woratana,

when I did understand right, the script adds some more Shortcutes to the messagesystem.
I think you did a nice work, but does it work with the Messagebox-System of Yatzumo?

Greetings, Markus
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am Februar 03, 2008, 12:04:31
@Goldenboss
Yes, It will work. Because Yazumo's system didn't write on Window_Message.

@Yoda
Thanks to add the script in that little box~ >_<
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Goldenboss am Februar 03, 2008, 12:20:25
Hi,

but it will not work when I write in a Callevent §af.a_face("monster", 1, \nm[id], 1), doesn't it?

Greetings
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am Februar 03, 2008, 12:27:42
I don't sure, I didn't try it yet.

But I think it should work because Yazumo's script doesn't have any line that work with Window_Message.

so give it a try :), if it's not work, I will make it compatible~^^
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Goldenboss am Februar 03, 2008, 12:36:19
Ok, that's nice.

First I will finish my map and then I will test it. ;)
Titel: NMS - Neo Message System Version 2.1
Beitrag von: ERZENGEL am Februar 03, 2008, 14:27:52
Nice script again, woratana. It has Some features I need for my game.

I got some ideas:
- show items/weapons/armor icon in the message
- a namebox

@Yoda: Das Skript ist nicht sehr gut eingefügt, da die Einrückungen weg und Smilies da sind dry.gif\" style=\"vertical-align:middle\" emoid=\"<_<\" border=\"0\" alt=\"dry.gif\" /]

Mecker mecker, machs doch besser. Ist gefixt. :P
Nichts für ungut.
Yoda
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Dainreth am Februar 03, 2008, 17:53:14
wortana, you're my hero :)
Great script again, guy. Really nice features.

@Goldenboss
Have you tried this one with Yatzumo's yet?
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Goldenboss am Februar 03, 2008, 18:04:15
Hi wortana,

it works with Yatzumos Script but not when it should be in the Namebox. Yatzumo could it maybe modify it and then the both scripts would complete each other very good.

Nice Script, wortana.

@Dainreth:
Du kannst mit mir auch auf Deutsch sprechen.

MFG Markus
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Dainreth am Februar 03, 2008, 18:07:59
Sounds nice GB, thanks for testing. Think I will use them together they are good additions..so when it's working..great!

@Goldenboss
Kann ich schon, nur dachte ich, dass es auch woratana interessieren könnte, der versteht deutsch ja nicht und dann muss er sich nicht unnötig die Mühe machen und übersetzen :P
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am Februar 03, 2008, 19:13:36
@GoldenBoss
Can you send me test project for the script? (Which has Yatzumo's script with face file, and this script) so I can figure it out.

@Dainreth
I completely not understand German. But that's fine, just post in English when you're talking to me is okay for me :).

Quick Update Here:
I finally got name box, after nearly destroy my script :)

(http://woratana.fileave.com/namebox.jpg)

I want a suggestion about the namebox: what features you want in name box, and what do you want to be editable in name box (e.g. X of name box, width of name box, color of name text, etc.)
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Yatzumo am Februar 11, 2008, 13:37:04
Hi Woratana. :)

Nice Script, i like it, but the Namebox is to big.. Try to create 2 elements!
A window, and above the Text. You know?

Like...
class Name
  def namebox
    w = text.size
    width = w * (fontsize / 2) + 12
    height = fontsize + 2 + 12
    @window = window.new
    # ... etc
    @text = Sprite.new
    @text.bitmap = Bitmap.new(width, height)
    textrect = Rect.new (7, 7, width - 12, height - 12)
    @text.bitmap.draw_text (text, textrect)
  end
end

I think you'll understand what i mean. :)
If you have questions, ask :D

Bye, Yatzumo
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am Februar 12, 2008, 01:53:48
I see what you mean, Yatzumo.

Text separate from Box should be good.
Thanks for suggestion! :)
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Yatzumo am Februar 13, 2008, 00:47:29
Yeah, no problem. :)
I think it looks better, if the namebox is not so big.
But I have to thank you for your scirpt. I can learn something from it, which I can write in my Engine.
ANd I have a question about this.. Is it okay, if I take your script into my engine and show your name in the credits? Not so much work for me. :)

Bye, Yatzumo
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am Februar 13, 2008, 00:50:27
Sure, I will appreciate that :P

I'd like to annouce something:
I'm working on XP Save File Editor right now. So NMS will not update for a while...
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Neno am Februar 15, 2008, 02:34:18
:D Thanks!
I liked of script

 excl.gif\" style=\"vertical-align:middle\" emoid=\":excl:\" border=\"0\" alt=\"excl.gif\" /] but the \font have a error
repeat the ultimate word

woratana:
hey! I sent an PM for you
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am Februar 22, 2008, 10:12:23
UPDATE!!

These are features in NMS that I'm working on~
Zitat
([url]http://woratana.fileave.com/animaNbal.jpg[/url])
- You can play animation while message is processing...
- You can use balloon while message is processing...

Right now, you can play animation/balloon only on event that you're talking to~^^

([url]http://woratana.fileave.com/nmsadv.jpg[/url])
- Now can call common event immediately in message!, >_<" that should make a lot more free to do in message~
(you can use event command 'Show Message' in that common event, it will show after that message, not immediately  ;))

([url]http://woratana.fileave.com/bigfont.jpg[/url])
- Big size font is allowed!

- Combined with Neo-Face Advance System + Name Box, so you can use face effect like Neo-Face, and use name box~*
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Yatzumo am Februar 22, 2008, 13:59:22
You use my windowskin. :)
It's created by myself. :D
(you just change the background)

But really nice new features! I think I'll use it.
Thank you for your work, really nice.

Bye, Yatzumo
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Dainreth am Februar 22, 2008, 14:06:09
First the updates on the NFS and now you're working on a NMS..really great, both of them. I will definitely use them, keep up working! Thanks!
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am März 08, 2008, 10:16:37
Last Update for NMS2 :P

(http://i32.tinypic.com/xzyv.jpg)

Here is new features I added for face >>
Zitat
- You can set to use Move/Fade effect on face only when it's first message window.
- If you're using above feature, you can set it to use Move/Fade effect again when you changed face's graphic for face side. (So the effects will apply automatically when you change the speaker in conversation :))


Demo will probably be out by tomorrow or Sunday.


Same as Neo-Face, I will release the beta-version of script first :)for feed back and bug check.

Here is the script :)
Neo Message System 2 Beta
[code]#===============================================================
# ? [VX] ? NMS - Neo Message System 2.0 ? ?
#--------------------------------------------------------------
# ? by Woratana [woratana@hotmail.com]
# ? Thaiware RPG Maker Community
# ? Special Thanks: Mako, Yatzumo
#--------------------------------------------------------------
# BETA-RELEASE [Released on: 06/03/2008]
#--------------------------------------------------------------
# Include: NEO-FACE SYSTEM ADVANCE (Version 3.0) by Woratana
#===============================================================
# Note: This script started when VX English is not coming out yet,
# so some of comments here are still be Japanese :)

=begin
=====================================
     + NMS 2.0 FEATURES LIST +
=====================================
Use these features in message box
----------------------------------
? NMS MESSAGE FEATURES
----------------------------------
--------------------------
? [SPECIAL CALL] PART
--------------------------
\ce[Common Event ID] << Run Common Event immediately

\ani[Animation ID] << Show Animation on 'This Event'
\bal[Balloon ID] << Show Ballon on 'This Event'

*Note: This Event = Event that show this message

--------------------------
? [DRAW ICON] PART
--------------------------
\dw[weapon ID] << Draw Weapon Icon + Weapon Name
\da[armor ID]  << Draw Armor Icon + Armor Name
\di[item ID]   << Draw Item Icon + Item Name
\ds[skill ID]  << Draw Skill Icon + Skill Name

\ic[icon ID]   << Draw Icon

--------------------------
? [WRITE TEXT] PART
--------------------------
\map                         << Write Map Name

\nc[actor ID]                << Write Class of Actor
\np[1 to 4 (order in party)] << Write Name of actor in that order
\nm[monster ID]              << Write Monster Name
\nt[troop ID]                << Write Troop Name

\nw[weapon ID]               << Write Weapon Name
\na[armor ID]                << Write Armor Name
\ns[skill ID]                << Write Skill Name
\ni[item ID]                 << Write Item Name
\price[item ID]              << Write Item Price

--------------------------
? [TEXT EFFECT] PART
--------------------------
\fn[Font Name] << Change Font Name
\fs[Font Size] << Change Font Size
\delay[Delay]  << Change text Delay per letter (in frame, 60 frames = about 1 sec)

\ref           << Reset Font Name
\res           << Reset Font Size
\red           << Reset text Delay

\b             << Turn on/off BOLD text
\i             << Turn on/off ITALIC text
\lbl           << Turn on/off LETTER-BY-LETTER Mode (default is ON)

--------------------------
? [NAME BOX & FACE] PART
--------------------------
\nb[Name]  << Show Name Box in current message window
\rnb[Name] << Repeat Name Box,
Name Box with this name will show again and again in next messages
unless there is \nb[Name] in that message, or you've stop this option by type \rnb[]

\sd[side]      << Change Face Side
(0: Left Side Normal Face | -1: Right Side Normal Face)
(1: Left Side Neo Face | 2: Right Side Neo Face)

----------------------------------
? VX DEFAULT MESSAGE FEATURES
----------------------------------
\v[variable ID] << Write value from variable
\n[actor ID]    << Write actor's name
\c[color ID]    << Change text color (Color ID is from Down-right corner in Windowskin)
\g              << Show gold window
\.              << Wait 15 frames (about 1/4 sec)
\|              << Wait 60 frames (about 1 sec)
\!              << Wait for player to press button to continue message
\>              << Skip letter-by-letter in current line
\<              << Stop 'skip letter-by-letter' in current line
\^              << Close message box immediately
\\              << Write '\'

=end
class Window_Base
  
  #---------------------------------
  # [START] SETUP SCRIPT PART
  #-------------------------------
  #---------------------------------
  # ? MESSAGE SYSTEM
  #-------------------------------
  NMS_FONT_NAME = Font.default_name # Default Font Name
  NMS_FONT_SIZE = 20 # Default Font Size
  
  # COLOR_ID is from Windowskin image in down-right corder
  NMS_ITEM_NAME_COLOR_ID = 5
  NMS_WEAPON_NAME_COLOR_ID = 10
  NMS_ARMOR_NAME_COLOR_ID = 4
  NMS_SKILL_NAME_COLOR_ID = 2
  
  NMS_DELAY_PER_LETTER = 0 # Delay between letter when showing text letter-by-letter
  # Delay is in frame, 60 frames = 1 second
  
  TEXT_X_PLUS = 0 # Move Text Horizontally
  CHOICE_INPUT_X_PLUS = 0
  # Move Choices Text and Input Number Text Horizontally
  
  #---------------------------------
  # ? FACE SYSTEM
  #-------------------------------
  #------------------------------------------------
  # ** BOTH FACE SYSTEMS SETUP
  #----------------------------------------------
  DEFAULT_FACE_SIDE = 0 # Default Face Side when game start~
  # (0: Left Side Normal Face | -1: Right Side Normal Face)
  # (1: Left Side Neo Face | 2: Right Side Neo Face)
  
  FACE_X_PLUS = 0 # Move Face Horizontally (Left: -, Right: +)
  FACE_Y_PLUS = 0 # Move Face Vertically (Up: -, Down: +)
  
  MOVE_TEXT = true # (true/false)
  # Move text to right side of face, when showing face in left side.
  
  #-------------------------------------
  # **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
  FADE_ONLY_FIRST = true # Use Fade Effect only in first message window?
  
  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
  MOVE_ONLY_FIRST = true # Use Move Effect only in first message window?
  
  FADE_MOVE_WHEN_USE_NEW_FACE = true
  # Use Fade and Move effect when change Face graphic
  # (In case using FADE_ONLY_FIRST and MOVE_ONLY_FIRST)
  
  #-------------------------------
  # ** NEO FACE SYSTEM
  #----------------------------
  EightFaces_File = false
  # Use 8 Faces per file (or) 1 Face per file (true/false)
  
  #------------------------------------
  # ? NAME BOX SYSTEM
  #----------------------------------
  NAMEBOX_SKIN = "Window" # Windowskin of Name Box (In folder 'Graphics/System')
  NAMEBOX_OPACITY = 255 # Name Box Opacity (Lowest 0 - 255 Highest)
  NAMEBOX_BACK_OPACITY = 180 # Name Box Background Opacity
  
  NAMEBOX_X_PLUS_NOR = 20 # Additional Name Box X [Horizontal] for Normal Face Name Box
  NAMEBOX_X_PLUS_NEO = 160 # Additional Name Box X for Neo Face Name Box
  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 = Font.default_name # Name Text Font's Name
  NAMEBOX_TEXT_SIZE = Font.default_size # 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_OUTLINE = false # Make Black Outline around Text (Good with Opacity = 0)
  NAMEBOX_TEXT_DEFAULT_COLOR = [255,255,255]#[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
  #-------------------------------
end
  $worale = {} if $worale == nil
  $worale["NMS"] = true

class Window_Message < Window_Selectable
  #--------------------------------------------------------------------------
  # ? ALIAS
  #--------------------------------------------------------------------------
    alias wor_nms_winmsg_ini initialize
    def initialize
      wor_nms_winmsg_ini
      @nms = $game_message
      self.contents.font.name = @nms.nms_fontname
      self.contents.font.size = @nms.nms_fontsize
      @face = Sprite.new
      @face.z = self.z + 5
      @nametxt = Sprite.new
      @nametxt.z = self.z + 15
      @namebox = nil
      @ori_x = 0
      @name_text = nil
      @showtime = 0 # To check if this is first time it shows message (For face)
      @face_data = Array.new(3)
      @face_data_old = Array.new(3)
    end
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  def dispose
    super
    dispose_gold_window
    dispose_number_input_window
    dispose_back_sprite
  end
  #--------------------------------------------------------------------------
  # ? EDITED
  #--------------------------------------------------------------------------
  def update
    super
    update_gold_window
    update_number_input_window
    update_back_sprite
    update_show_fast
  if self.visible == true
    if @name_text != nil
      draw_name(@name_text,self.x,self.y)
    end
    if @face.bitmap != nil
      # UPDATE FADE IN EFFECT
      if @face.opacity < 255
        @face.opacity += FADE_SPEED
      end
      # UPDATE MOVE IN EFFECT
      if MOVE_EFFECT == true and @ori_x != @face.x
        if (@ori_x > @face.x and @face.x + MOVE_SPEED < @ori_x) or (@ori_x < @face.x and @face.x - MOVE_SPEED > @ori_x)
          @face.x += MOVE_SPEED if @ori_x > @face.x
          @face.x -= MOVE_SPEED if @ori_x < @face.x
        else
          @face.x = @ori_x
        end
      end
    end
  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?
        @showtime += 1
        start_message
        open
        $game_message.visible = true
      else
        close
        @showtime = 0
        if @face.bitmap != nil
         @face.bitmap.dispose
        end
        clear_namebox if @namebox != nil
        $game_message.visible = @closing
      end
    end
  end

  #--------------------------------------------------------------------------
  # ? ???????????
  #--------------------------------------------------------------------------
  def create_gold_window
    @gold_window = Window_Gold.new(384, 0)
    @gold_window.openness = 0
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def create_number_input_window
    @number_input_window = Window_NumberInput.new
    @number_input_window.visible = false
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def create_back_sprite
    @back_sprite = Sprite.new
    @back_sprite.bitmap = Cache.system("MessageBack")
    @back_sprite.visible = (@background == 1)
    @back_sprite.z = 190
  end
  #--------------------------------------------------------------------------
  # ? ???????????
  #--------------------------------------------------------------------------
  def dispose_gold_window
    @gold_window.dispose
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def dispose_number_input_window
    @number_input_window.dispose
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def dispose_back_sprite
    @back_sprite.dispose
  end
  #--------------------------------------------------------------------------
  # ? ???????????
  #--------------------------------------------------------------------------
  def update_gold_window
    @gold_window.update
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def update_number_input_window
    @number_input_window.update
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def update_back_sprite
    @back_sprite.visible = (@background == 1)
    @back_sprite.y = y - 16
    @back_sprite.opacity = openness
    @back_sprite.update
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def update_show_fast
    if self.pause or self.openness < 255
      @show_fast = false
    elsif Input.trigger?(Input::C) and @wait_count < 2
      @show_fast = true
    elsif not Input.press?(Input::C)
      @show_fast = false
    end
    if @show_fast and @wait_count > 0
      @wait_count -= 1
    end
  end
  #--------------------------------------------------------------------------
  # ? ????????????????????
  #--------------------------------------------------------------------------
  def continue?
    return true if $game_message.num_input_variable_id > 0
    return false if $game_message.texts.empty?
    if self.openness > 0 and not $game_temp.in_battle
      return false if @background != $game_message.background
      return false if @position != $game_message.position
    end
    return true
  end
  #--------------------------------------------------------------------------
  # ? EDITED
  #--------------------------------------------------------------------------
  def start_message
    @text = ""
    for i in 0...$game_message.texts.size
      # Change "    " to "" (Spacing for choice
      @text += "" if i >= $game_message.choice_start
      @text += $game_message.texts[i].clone + "\x00"
    end
    
    @item_max = $game_message.choice_max
    convert_special_characters
    reset_window
    new_page
  end
  #--------------------------------------------------------------------------
  # ? EDITED
  #--------------------------------------------------------------------------
  def new_page
    contents.clear
    if @face.bitmap != nil
    @face.bitmap.dispose
    end
    if $game_message.face_name.empty?
    @contents_x = TEXT_X_PLUS
    else
      name = $game_message.face_name
      index = $game_message.face_index
      # CALL DRAW FACE METHOD
      draw_face2(name, self.x, self.y, index)
      # CHECK FOR MOVE EFFECT
      @ori_x = @face.x
      if MOVE_EFFECT == true and ((MOVE_ONLY_FIRST and @showtime <= 1) or (MOVE_ONLY_FIRST == false))
        if $game_message.side == 0 or $game_message.side == 1
          @face.x = 0 - @face.width
        else
          @face.x = 416 + @face.width
        end
      end
      @contents_x = get_x_face
    end
    @contents_y = 0
    @line_count = 0
    @show_fast = false
    @line_show_fast = false
    @pause_skip = false
    contents.font.color = text_color(0)
    @contents_x += CHOICE_INPUT_X_PLUS if $game_message.choice_max > 00
  end
  #--------------------------------------------------------------------------
  # ? EDITED
  #--------------------------------------------------------------------------
  def new_line
    if $game_message.face_name.empty? or MOVE_TEXT == false
      @contents_x = TEXT_X_PLUS
    else
      @contents_x = get_x_face
    end
    @contents_x += CHOICE_INPUT_X_PLUS if $game_message.choice_max > 0
    # Find Text Height
    nms_line_width = WLH
    nms_line_width = $game_message.nms_fontsize if $game_message.nms_fontsize > WLH
    @contents_y += nms_line_width
    @line_count += 1
    @line_show_fast = false
  end
  #--------------------------------------------------------------------------
  # ? EDITED
  #--------------------------------------------------------------------------
  def convert_special_characters
    clear_namebox if @namebox != nil
    
    #--------------------------
    # DEFAULT FEATURES
    #-----------------------
    @text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
    @text.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name }
    @text.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" }
    @text.gsub!(/\\G/)              { "\x02" }
    @text.gsub!(/\\\./)             { "\x03" }
    @text.gsub!(/\\\|/)             { "\x04" }
    @text.gsub!(/\\!/)              { "\x05" }
    @text.gsub!(/\\>/)              { "\x06" }
    @text.gsub!(/\\</)              { "\x07" }
    @text.gsub!(/\\\^/)             { "\x08" }
    @text.gsub!(/\\\\/)             { "\\" }
    
    #--------------------------
    # * NMS FEATURES!!
    #-----------------------
    # Woratana's :: Draw Weapon Name + Icon
    @text.gsub!(/\\DW\[([0-9]+)\]/i) { "\x83[#{$data_weapons[$1.to_i].icon_index}]\\nw[#{$1.to_i}]"}
    # Woratana's :: Draw Item Name + Icon
    @text.gsub!(/\\DI\[([0-9]+)\]/i) { "\x83[#{$data_items[$1.to_i].icon_index}]\\ni[#{$1.to_i}]" }
    # Woratana's :: Draw Armor Name + Icon
    @text.gsub!(/\\DA\[([0-9]+)\]/i) { "\x83[#{$data_armors[$1.to_i].icon_index}]\\na[#{$1.to_i}]"}
    # Woratana's :: Draw Skill Name + Icon
    @text.gsub!(/\\DS\[([0-9]+)\]/i) { "\x83[#{$data_skills[$1.to_i].icon_index}]\\ns[#{$1.to_i}]"}

    # Woratana's :: Call Animation
    @text.gsub!(/\\ANI\[([0-9]+)\]/i) { "\x80[#{$1}]" }
    # Woratana's :: Call Balloon
    @text.gsub!(/\\BAL\[([0-9]+)\]/i) { "\x81[#{$1}]" }
    # Woratana's :: Call Common Event
    @text.gsub!(/\\CE\[([0-9]+)\]/i) { "\x82[#{$1}]" }
    # Woratana's :: Draw Icon
    @text.gsub!(/\\IC\[([0-9]+)\]/i) { "\x83[#{$1}]" }

    # Woratana's :: Map Name
    @text.gsub!(/\\MAP/i) { nms_get_map_name }
    # Woratana's :: Actor Class Name
    @text.gsub!(/\\NC\[([0-9]+)\]/i) { $data_classes[$data_actors[$1.to_i].class_id].name }
    # Woratana's :: Party Actor Name
    @text.gsub!(/\\NP\[([0-9]+)\]/i) { $game_party.members[($1.to_i - 1)].name }
    # Woratana's :: Monster Name
    @text.gsub!(/\\NM\[([0-9]+)\]/i) { $data_enemies[$1.to_i].name }
    # Woratana's :: Troop Name
    @text.gsub!(/\\NT\[([0-9]+)\]/i) { $data_troops[$1.to_i].name }
    # Woratana's :: Item Name
    @text.gsub!(/\\NI\[([0-9]+)\]/i) { "\x01[#{NMS_ITEM_NAME_COLOR_ID}]" + $data_items[$1.to_i].name + "\x01[#{@nms.last_color}]"}
    # Woratana's :: Weapon Name
    @text.gsub!(/\\NW\[([0-9]+)\]/i) { "\x01[#{NMS_WEAPON_NAME_COLOR_ID}]" + $data_weapons[$1.to_i].name + "\x01[#{@nms.last_color}]" }
    # Woratana's :: Armor Name
    @text.gsub!(/\\NA\[([0-9]+)\]/i) { "\x01[#{NMS_ARMOR_NAME_COLOR_ID}]" + $data_armors[$1.to_i].name + "\x01[#{@nms.last_color}]" }
    # Woratana's :: Skill Name
    @text.gsub!(/\\NS\[([0-9]+)\]/i) { "\x01[#{NMS_SKILL_NAME_COLOR_ID}]" + $data_armors[$1.to_i].name + "\x01[#{@nms.last_color}]" }
    # Woratana's :: Item Price
    @text.gsub!(/\\PRICE\[([0-9]+)\]/i) { $data_items[$1.to_i].price }
 
    # Woratana's :: Font Name Change
    @text.gsub!(/\\FN\[(.*?)\]/i) { "\x84[#{$1}]" }
    # Woratana's :: Font Size Change
    @text.gsub!(/\\FS\[(.*?)\]/i) { "\x85[#{$1}]" }
    # Woratana's :: Reset Font Name
    @text.gsub!(/\\REF/i) { "\x86" }
    # Woratana's :: Reset Font Size
    @text.gsub!(/\\RES/i) { "\x87" }
    # Woratana's :: BOLD Text
    @text.gsub!(/\\B/i) { "\x88" }
    # Woratana's :: ITALIC Text
    @text.gsub!(/\\I/i) { "\x89" }
    # Woratana's :: Text DELAY
    @text.gsub!(/\\DELAY\[([0-9]+)\]/i) { "\x90[#{$1}]"}
    # Woratana's :: Reset Text Delay
    @text.gsub!(/\\RED/i) { "\x91" }
    # Woratana's :: Turn On/Off Letter by Letter
    @text.gsub!(/\\LBL/i) { "\x92" }
    
    # Woratana's :: Name Box
     @text.scan(/\\NB\[(.*?)\]/i)
     if $1.to_s != ""
       @name_text = $1.to_s
       @text.sub!(/\\NB\[(.*?)\]/i) {}
     end
  
     # Woratana's :: Repeat Name Box
     @text.gsub!(/\\RNB\[(.*?)\]/i) do
       $game_message._name = $1.to_s
       a = ""
     end
  
     # Woratana's NeoFace System
     @text.scan(/\\SD\[([-,0-9]+)\]/i)
     if $1.to_s != ""
       $game_message.side = $1.to_i
       @text.sub!(/\\SD\[([-,0-9]+)\]/i) {}
     end
    
     @name_text = $game_message._name if @name_text == nil and $game_message._name != ""
   end
  #--------------------------------------------------------------------------
  # ? ??????????????
  #--------------------------------------------------------------------------
  def reset_window
    @background = $game_message.background
    @position = $game_message.position
    if @background == 0
      self.opacity = 255
    else
      self.opacity = 0
    end
    case @position
    when 0  # ?
      self.y = 0
      @gold_window.y = 360
    when 1  # ?
      self.y = 144
      @gold_window.y = 0
    when 2  # ?
      self.y = 288
      @gold_window.y = 0
    end
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def terminate_message
    self.active = false
    self.pause = false
    self.index = -1
    @gold_window.close
    @number_input_window.active = false
    @number_input_window.visible = false
    $game_message.main_proc.call if $game_message.main_proc != nil
    $game_message.clear
  end
  #--------------------------------------------------------------------------
  # ? EDITED
  #--------------------------------------------------------------------------
  def update_message
    loop do
      c = @text.slice!(/./m)
      case c
      when nil
        finish_message
        break
      when "\x00"
        new_line
        if @line_count >= MAX_LINE
          unless @text.empty?
            self.pause = true
            break
          end
        end
      when "\x80"
        @text.sub!(/\[([0-9]+)\]/, "")
        $game_map.events[$game_message.event_id].animation_id = $1.to_i
      when "\x81"
        @text.sub!(/\[([0-9]+)\]/, "")
        $game_map.events[$game_message.event_id].balloon_id = $1.to_i
      when "\x82"
        @text.sub!(/\[([0-9]+)\]/, "")
        a = $game_map.interpreter.params[0]
        $game_map.interpreter.params[0] = $1.to_i
        $game_map.interpreter.command_117
        $game_map.interpreter.params[0] = a
      when "\x83"
        @text.sub!(/\[([0-9]+)\]/, "")
        bitmap = Cache.system("Iconset")
        icon_index = $1.to_i
        draw_icon(icon_index, @contents_x, @contents_y,true)
        @contents_x += 24
      when "\x84"
        @text.sub!(/\[(.*?)\]/, "")
        @nms.nms_fontname = $1.to_s
      when "\x85"
        @text.sub!(/\[([0-9]+)\]/, "")
        @nms.nms_fontsize = $1.to_i
      when "\x86"
        @nms.nms_fontname = NMS_FONT_NAME
      when "\x87"
        @nms.nms_fontsize = NMS_FONT_SIZE
      when "\x88"
        contents.font.bold = contents.font.bold == true ? false : true
      when "\x89"
        contents.font.italic = contents.font.italic == true ? false : true
      when "\x90"
        @text.sub!(/\[([0-9]+)\]/, "")
        @nms.text_delay = $1.to_i
      when "\x91"
        @nms.text_delay = NMS_DELAY_PER_LETTER
      when "\x92"
        @nms.lbl = @nms.lbl == true ? false : true
      when "\x01"
        @text.sub!(/\[([0-9]+)\]/, "")
        @nms.last_color = $1.to_i
        contents.font.color = text_color($1.to_i)
        next
      when "\x02"
        @gold_window.refresh
        @gold_window.open
      when "\x03"
        @wait_count = 15
        break
      when "\x04"
        @wait_count = 60
        break
      when "\x05"
        self.pause = true
        break
      when "\x06"
        @line_show_fast = true
      when "\x07"
        @line_show_fast = false
      when "\x08"
        @pause_skip = true
      else
        self.contents.font.name = @nms.nms_fontname
        self.contents.font.size = @nms.nms_fontsize
        # Find Text Height
        nms_line_width = WLH
        nms_line_width = $game_message.nms_fontsize if $game_message.nms_fontsize > WLH
        contents.draw_text(@contents_x, @contents_y, 40, nms_line_width, c)
        c_width = contents.text_size(c).width
        @contents_x += c_width
        @show_fast = true if @nms.lbl == false
        if @nms.text_delay > 0
          for i in 0..@nms.text_delay - 1
            Graphics.update
          end
        end
      end
      break unless @show_fast or @line_show_fast
    end
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def finish_message
    if $game_message.choice_max > 0
      start_choice
    elsif $game_message.num_input_variable_id > 0
      start_number_input
    elsif @pause_skip
      terminate_message
    else
      self.pause = true
    end
    @wait_count = 10
    @text = nil
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def start_choice
    self.active = true
    self.index = 0
  end
  #--------------------------------------------------------------------------
  # ? EDITED
  #--------------------------------------------------------------------------
  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? or MOVE_TEXT == false
      @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 + text_x) - 23
      when 2
        @number_input_window.x = x - 23
      when -1
        @number_input_window.x = x - 23
      end
    end
    @number_input_window.x += CHOICE_INPUT_X_PLUS
    @number_input_window.y = y + @contents_y
    @number_input_window.active = true
    @number_input_window.visible = true
    @number_input_window.update
  end
  #--------------------------------------------------------------------------
  # ? EDITED
  #--------------------------------------------------------------------------
  def update_cursor
    if @index >= 0
      if $game_message.face_name.empty?
      x = TEXT_X_PLUS
      else
      x = get_x_face
      end
      y = ($game_message.choice_start + @index) * WLH
      # CHANGE WIDTH OF CURSOR FOR CHOICE SELECT
      if $game_message.face_name.empty? or MOVE_TEXT == false
        facesize = x
      else
        facesize = get_x_face
        facesize += @face.width if $game_message.side == 2
        facesize += @face.width + 16 if $game_message.side == -1
      end
      self.cursor_rect.set(x, y, contents.width - facesize, WLH)
    else
      self.cursor_rect.empty
    end
  end

  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def input_pause
    if Input.trigger?(Input::B) or Input.trigger?(Input::C)
      self.pause = false
      if @text != nil and not @text.empty?
        new_page if @line_count >= MAX_LINE
      else
        terminate_message
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def input_choice
    if Input.trigger?(Input::B)
      if $game_message.choice_cancel_type > 0
        Sound.play_cancel
        $game_message.choice_proc.call($game_message.choice_cancel_type - 1)
        terminate_message
      end
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      $game_message.choice_proc.call(self.index)
      terminate_message
    end
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def input_number
    if Input.trigger?(Input::C)
      Sound.play_decision
      $game_variables[$game_message.num_input_variable_id] =
        @number_input_window.number
      $game_map.need_refresh = true
      terminate_message
    end
  end
end

#==============================================================================
# NMS +[ADD ON]+ WINDOW_MESSAGE_CLASS
#------------------------------------------------------------------------------
#==============================================================================

class Window_Message < Window_Selectable
  
# Return X for Text
def get_x_face
  if MOVE_TEXT == true
    case $game_message.side
    when 0
      return 112 + TEXT_X_PLUS
    when 1
      return text_x
    when 2
      return TEXT_X_PLUS
    else
      return TEXT_X_PLUS
    end
  else
    return TEXT_X_PLUS
  end
end

  def text_x
    return @face.width + TEXT_X_PLUS
  end
  
  # Clear Name Box & Name Text
  def clear_namebox
    @nametxt.bitmap.dispose
    @namebox.dispose
    @namebox = nil
    @name_text = nil
  end
  
  def nms_get_map_name
    mapdata = load_data("Data/MapInfos.rvdata")
    map_id = $game_map.map_id
    return mapdata[map_id].name
  end
  
  #--------------------------------------
  # DRAW FACE [Both Systems] METHOD
  #------------------------------------
  def draw_face2(face_name, x, y, index = 0)
  if $game_message.side == 0 or $game_message.side == -1 or EightFaces_File == true
    # USE 8 FACES PER FILE
    bitmap = Cache.face(face_name)
    rect = Rect.new(0,0,0,0)
    rect.width = (bitmap.width / 4)
    rect.height = (bitmap.height / 2)
    rect.x = index % 4 * rect.width
    rect.y = index / 4 * rect.height
    @face.bitmap = Bitmap.new(rect.width,rect.height)
    @face.bitmap.blt(0,0,bitmap,rect)
    bitmap.dispose
  else
    # USE 1 FACES PER FILE
    @face.bitmap = Cache.face(face_name)
  end
  # SET X/Y OF FACE DEPENDS ON FACE SIDE
  if $game_message.side == 1
    @face.mirror = false
    @face.x = x + 6
    @face.y = y - (@face.height - 123)
  elsif $game_message.side == 2
    @face.mirror = true
    @face.x = x + (538 - @face.width)
    @face.y = y - (@face.height - 123)
  elsif $game_message.side == 0
    @face.mirror = false
    @face.x = x + 16
    @face.y = y + 16
  elsif $game_message.side == -1
    @face.mirror = true
    @face.x = self.contents.width - @face.width + 16
    @face.y = y + 16
  end
    @face.x += FACE_X_PLUS
    @face.y += FACE_Y_PLUS
    
    @face_data = [face_name, index, $game_message.side]
    if @face_data != @face_data_old and FADE_MOVE_WHEN_USE_NEW_FACE; @showtime = 1; @face_data_old = @face_data; end
    @face.opacity = 0 if FADE_EFFECT == true and ((FADE_ONLY_FIRST and @showtime <= 1) or (FADE_ONLY_FIRST == false))
  end
  
  #--------------------------------------
  # DRAW NAME BOX METHOD
  #-----------------------------------
  def draw_name(name,x,y)
    name = name + NAMEBOX_TEXT_AFTER_NAME
    namesize = calculate_name_size(name)
    @nametxt.bitmap = Bitmap.new(16 + (namesize * NAMEBOX_TEXT_LENGTH_PER_LETTER), 24 + NAMEBOX_TEXT_HEIGHT_PLUS)
    @nametxt.x = x + 8
    if $game_message.side == 1 or $game_message.side == 2
      @nametxt.x += NAMEBOX_X_PLUS_NF
    else
      @nametxt.x += NAMEBOX_X_PLUS_NOR
    end
    @nametxt.y = y - 20 + NAMEBOX_Y_PLUS
    @nametxt.x = 544 - @nametxt.x - @nametxt.width if MOVE_NAMEBOX == true and ($game_message.side == 2 or $game_message.side == -1)
    @namebox = Window.new
    @namebox.windowskin = Cache.system(NAMEBOX_SKIN)
    @namebox.z = self.z + 10
    @namebox.opacity = NAMEBOX_OPACITY
    @namebox.back_opacity = NAMEBOX_BACK_OPACITY
    @namebox.openness = 255
    @namebox.x = @nametxt.x - NAMEBOX_BOX_WIDTH_PLUS
    @namebox.y = @nametxt.y - NAMEBOX_BOX_HEIGHT_PLUS
    @namebox.width = @nametxt.bitmap.width + (NAMEBOX_BOX_WIDTH_PLUS * 2)
    @namebox.height = @nametxt.bitmap.height + (NAMEBOX_BOX_HEIGHT_PLUS * 2)
    @nametxt.bitmap.font.name = NAMEBOX_TEXT_FONT
    @nametxt.bitmap.font.size = NAMEBOX_TEXT_SIZE
    @namet
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Dainreth am März 08, 2008, 10:24:39
Nicely done, I will check out, if there is any bug. The new things sound great! Also, I'm looking forward to a demo because of all these functions it would be very useful and a bit easier. I love you and your NMS :)
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am März 09, 2008, 11:03:56
Neo Message System 2 Demo

(http://i30.tinypic.com/2upuzxv.jpg)

http://doiop.com/nms2 (http://doiop.com/nms2)

With fixed bug script in it~

-------------------------------

First post will update by tomorrow :)(I have to go to sleep now :P)
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Silvanus am März 09, 2008, 12:52:20
This is a famous script <3
I will use it in my Game! =D
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am März 12, 2008, 02:09:39
Fixed Name Box Bug!! :)

Please get new demo (version 2.1) in same link~
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Dainreth am März 12, 2008, 18:16:08
Hey wora, maybe you could add the link for demo to the first post, so that people don't overlook this useful, great demo! Would be nice if you add it.
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am März 13, 2008, 07:12:25
I will do that :)
Thanks for suggestion

Work in Progress:
(http://i29.tinypic.com/21b1yiv.jpg)

Thanks straycat for the script to get more messages in interpreter :)

P.s. Could anyone help me change the topic title to 'Neo Message System Version 2.1' ?
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Yatzumo am März 13, 2008, 07:39:59
Zitat
P.s. Could anyone help me change the topic title to 'Neo Message System Version 2.1' ?
Done.

Bye Yatzumo
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am März 31, 2008, 07:55:47
Here is the NMS 2.5 WORK IN PROGRESS DEMO

http://nms25wip.notlong.com (http://nms25wip.notlong.com)

I added some features in it, like... animated face/ editable window size/ typing sound

Try it and tell me what do you think about it. :)
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am April 02, 2008, 07:02:06
Thanks :)

Here is new WIP demo :)

(http://i28.tinypic.com/2hmddp5.jpg)

Features Added:
- Turn ON/OFF typing sound
- Draw Image on message (as shown in screenshot above)
- Play SE, ME during text
- Auto Cut text if it goes out of the message window

Enjoy! :)

Download Link:
http://www.rpgrevolution.com/users/woratana/NMS2_51WIP.rar (http://www.rpgrevolution.com/users/woratana/NMS2_51WIP.rar)
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Dainreth am April 04, 2008, 14:32:34
NMS gets better than I thought, fantastic new features wora..especially the feature with the pictures on message..thanks! I'm really looking forward to more of these great functions..keep it up!
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Silvanus am April 04, 2008, 14:38:23
Great...great...GREAAAT X3 xD
I love all the Functions, your Ruby Skills are very good ;)
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am April 06, 2008, 10:05:14
Thanks everyone :)

I finally get pop message to work! XD (It may not perfect yet~)

New WIP Demo - Neo Message System 2.53

(http://i32.tinypic.com/2r3w1sh.jpg)

Pop Message! (may not perfect yet, but worked in demo :P)

Zitat
Rough Draft of New Features List
- Remove Color for [WRITE TEXT] features
- 'Quick Text' feature
- Animated Face
- Play SE/ME
- Typing Sound
- Scroll Text Vertically and Horizontally
- Auto-cut text (Not work perfectly)
- Hex Color (Special Thanks: RPG & Erzengel)
- Pop Message (Work in Progress)
- Add the script code in comment of some settings,
so user can change it in game by call script.

and more...


Download Demo:
http://www.rpgrevolution.com/users/woratan...2_52%20Demo.rar (http://www.rpgrevolution.com/users/woratana/NMS2_52%20Demo.rar)

Thanks RRR for hosting this.
Titel: NMS - Neo Message System Version 2.1
Beitrag von: woratana am Juni 08, 2008, 10:40:55
Neo Message System 3.0 Beta

(http://www.rpgrevolution.com/users/woratana/script/Wora_Script/nms3.png)

New Features
I fixed many bugs in this demo :P
I also added some new features, like temporary X,Y,width,height or draw face in message~

Here is update list:
- Add 'Text Remove List'
- Change window size & position temporarily
- You can now call script:
$game_message.create_nms_data
to reset NMS data or create NMS data for old save file
- Fixed bug for write actor's class name
- Fixed bug for out-of-screen name box
- Add NAMEBOX_Y_PLUS_TOP to fix out-of-screen name box when show message on Top
- Set name box's opacity for different types of message background
- Auto fix if message window is out of screen
- You can draw new face while message is running, and also set new face size


Download Script & Demo

Go to my script stocks:
http://www.rpgrevolution.com/users/woratan...pt/Wora_Script/ (http://www.rpgrevolution.com/users/woratana/script/Wora_Script/)

Download file NMS3Beta.txt for script.

Download file NMS3 Demo.rar for demo.

:D
Titel: NMS - Neo Message System Version 2.1
Beitrag von: Kyoshiro am Juni 08, 2008, 12:27:41
It's fantastic, i love this script and i'll use it in my project. This helps to improve a lot of projects.
Thanks a lot.
Titel: Re: NMS - Neo Message System Version 2.1
Beitrag von: Deses am September 25, 2008, 13:49:35
wow i love it *-*
Titel: Re: NMS - Neo Message System Version 2.1
Beitrag von: Im Not Jesus am Dezember 27, 2008, 03:44:41
Ich kann es nicht downloaden T_T
kann es jemand vllt hochladen?

English:
Can someone up it again for me?
danke xD
Titel: Re: NMS - Neo Message System Version 2.1
Beitrag von: Stef-san am Dezember 29, 2008, 18:11:34
I cant find your new version of beta 3.0
o.O

Update:

I posted the new link woratana. I hope its okay :)

http://pastie.org/337417.txt

http://www.mediafire.com/?2mhjjkk4mte
Titel: Re: NMS - Neo Message System Version 2.1
Beitrag von: Sk!p am Dezember 29, 2008, 18:28:12
i didn't find it on this site too.

I never found a Script of Wora tehre xD
Did i do something wrong?

Sk!p
Titel: Re: NMS - Neo Message System Version 2.1
Beitrag von: Klex am Dezember 29, 2008, 18:34:55

On Page 9 PinedaX post a Demo Link http://www.mediafire.com/?2mhjjkk4mte

Grüße Klex
Titel: Re: NMS - Neo Message System Version 2.1
Beitrag von: Goldenboss am Februar 01, 2009, 10:30:59
Hi woratana,

great new Version. I think it could be helpful.

Thanks.

Greetings, Goldenboss.
Titel: Re: NMS - Neo Message System Version 2.1
Beitrag von: Goldenboss am Februar 08, 2009, 16:15:13
Hi,

sorry für Doppelpost.
Habe aber leider ein Problem... Wenn ich normale Faces nutze. (also \sd[0] oder \sd[1]], überlagern sich Namebox und Face.

Weiß jemand wie ich die Namebox entsprechend verschieben kann?

Gruß, Markus.
Titel: Re: NMS - Neo Message System Version 2.1
Beitrag von: Goldenboss am Februar 15, 2009, 18:14:03
Hi,

7 Tage sind vorüber, deshalb frage ich einfach noch einmal:

Habe aber leider ein Problem... Wenn ich normale Faces nutze. (also \sd[0] oder \sd[1]], überlagern sich Namebox und Face.

Weiß jemand wie ich die Namebox entsprechend verschieben kann?

Gruß, Markus.
Titel: Please help :(
Beitrag von: ~Koya~ am Juni 21, 2009, 21:53:34
I will do that :)
Thanks for suggestion

Work in Progress:
Removed from server.

Thanks straycat for the script to get more messages in interpreter :)

P.s. Could anyone help me change the topic title to 'Neo Message System Version 2.1' ?

How do I make that input? (That in the Picture)
I can only create 4

Please help me, tnx! :)
Titel: Re: NMS - Neo Message System Version 2.1
Beitrag von: Klex am Juni 21, 2009, 23:04:58
Go to the Event and look what the event do.
I think you need this

$nms.max_line = (number)

Instat of "number" you can make $nms.max_line = 10

Now your Window ist 10 Lines large.


Grüße Klex
Titel: Re: NMS - Neo Message System Version 2.1
Beitrag von: ~Koya~ am Juni 21, 2009, 23:52:37
Oh, ... that was it, tnx! :)
Titel: Re: NMS - Neo Message System Version 2.1
Beitrag von: Prince am Juli 05, 2009, 19:15:10
BIn ich nur zu Blöd oder wieso kann ich die Demo nicht downloaden???
BTW: Wie macht man diese Box mit dem Namen (iwie glaube ich das dieser Post mich grade unbeliebt macht, egal I NEED THIS)

MfG Prince
Titel: Re: NMS - Neo Message System Version 2.1
Beitrag von: Ðeity am Juli 05, 2009, 19:39:18
@Prince
Weis nicht ob ich zu kompliziert denke oder ob deine frage zu der Namebox nicht verstehe. :(
=====================================
     + NMS 2.0 FEATURES LIST +
=====================================
Use these features in message box
----------------------------------
? NMS MESSAGE FEATURES
----------------------------------
--------------------------
? [SPECIAL CALL] PART
--------------------------
\ce[Common Event ID] << Run Common Event immediately

\ani[Animation ID] << Show Animation on 'This Event'
\bal[Balloon ID] << Show Ballon on 'This Event'

*Note: This Event = Event that show this message

--------------------------
? [DRAW ICON] PART
--------------------------
\dw[weapon ID] << Draw Weapon Icon + Weapon Name
\da[armor ID]  << Draw Armor Icon + Armor Name
\di[item ID]   << Draw Item Icon + Item Name
\ds[skill ID]  << Draw Skill Icon + Skill Name

\ic[icon ID]   << Draw Icon

--------------------------
? [WRITE TEXT] PART
--------------------------
\map                         << Write Map Name

\nc[actor ID]                << Write Class of Actor
\np[1 to 4 (order in party)] << Write Name of actor in that order
\nm[monster ID]              << Write Monster Name
\nt[troop ID]                << Write Troop Name

\nw[weapon ID]               << Write Weapon Name
\na[armor ID]                << Write Armor Name
\ns[skill ID]                << Write Skill Name
\ni[item ID]                 << Write Item Name
\price[item ID]              << Write Item Price

--------------------------
? [TEXT EFFECT] PART
--------------------------
\fn[Font Name] << Change Font Name
\fs[Font Size] << Change Font Size
\delay[Delay]  << Change text Delay per letter (in frame, 60 frames = about 1 sec)

\ref           << Reset Font Name
\res           << Reset Font Size
\red           << Reset text Delay

\b             << Turn on/off BOLD text
\i             << Turn on/off ITALIC text
\lbl           << Turn on/off LETTER-BY-LETTER Mode (default is ON)

--------------------------
? [NAME BOX & FACE] PART
--------------------------
\nb[Name]  << Show Name Box in current message window
\rnb[Name] << Repeat Name Box,
Name Box with this name will show again and again in next messages
unless there is \nb[Name] in that message, or you've stop this option by type \rnb[]

\sd[side]      << Change Face Side
(0: Left Side Normal Face | -1: Right Side Normal Face)
(1: Left Side Neo Face | 2: Right Side Neo Face)

----------------------------------
? VX DEFAULT MESSAGE FEATURES
----------------------------------
\v[variable ID] << Write value from variable
\n[actor ID]    << Write actor's name
\c[color ID]    << Change text color (Color ID is from Down-right corner in Windowskin)
\g              << Show gold window
\.              << Wait 15 frames (about 1/4 sec)
\|              << Wait 60 frames (about 1 sec)
\!              << Wait for player to press button to continue message
\>              << Skip letter-by-letter in current line
\<              << Stop 'skip letter-by-letter' in current line
\^              << Close message box immediately
\\              << Write '\'
Das rotmrkierte sind die Befehle, die etwas mit der Namebox zutun haben.
Die Demo brauchst du eigentlich nicht, da die F.A.Q. bzw. die obengeschriebene Anleitung alle Befehle erklärt und beschreibt. ^^

MfG
Deity
Titel: Re: NMS - Neo Message System Version 2.1
Beitrag von: Colonios am Juli 05, 2009, 21:51:41
Hier ist der DL Link: Klick (http://www.mediafire.com/?2mhjjkk4mte)

Ich erlaube mir mal, den in den ersten Post zu schreiben.

MfG
Titel: Re: NMS - Neo Message System Version 2.1//3
Beitrag von: Prince am Juli 06, 2009, 12:35:20
Danke euch beiden ^^

MfG Prince
Titel: Re: NMS - Neo Message System Version 2.1//3
Beitrag von: DarkSun am Juli 11, 2009, 11:20:28
@ woratana:
Very good Script ;),
iam going to download it and the Demo.
Buth when i want to download the Face Graphics 192*192 by Rabu, there comes an error message on mediafire.
Can you send me the Face Graphics by PM, please?

THX
DS
SimplePortal 2.3.3 © 2008-2010, SimplePortal