collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Hilfe zu Events.  (Gelesen 60880 mal)

Offline Kasaar

  • Epic Scripter !!
  • Eventmeister
  • ***
  • Beiträge: 305
  • Satanistischer Misantroph... noch Fragen? ]:)
Re: Hilfe zu Events.
« Antwort #45 am: Dezember 24, 2008, 11:39:09 »
Soviel ich weiß ist das nicht möglich..beim maker unter hilfe kannste außerdem die allen message-funktionen nachlesen wasses da so gibt ;)
Besucht mich auf


Und gebt Kommentare im Blog =)

Re: Hilfe zu Events.

Offline Im Not Jesus

  • Eventmeister
  • ***
  • Beiträge: 384
  • Still not Jesus.
Re: Hilfe zu Events.
« Antwort #46 am: Dezember 24, 2008, 11:57:19 »
gibts da denn vllt ein Script der dann sowas anzeigen kann?
also allgemein mehr befehle wie Items zeigen usw?

Re: Hilfe zu Events.

Offline Sk!p

  • Foren-ReArchitekt
  • VX-Großmeister
  • *****
  • Beiträge: 975
  • Mit(t)arbeiter schreibt man mit einem T =P
    • Foren-ReArchitekt
Re: Hilfe zu Events.
« Antwort #47 am: Dezember 24, 2008, 12:25:45 »
Das NeoMessegeSystem (NMS) von unserem über alles geschätztem Woratana.
Hier kannst du viel mehr Feineinstellungen annehmen was die Texte
angeht, Bilder einfügen, Waffen,Item Helden ID's und vieles mehr.

Ich weiß jetzt nicht, ob man die ausgerüsteten Gegenstände anzeigen lassen kann,
müsstest du mal schauen. Den Download findest du in unserer Skripte Sektion.
Solltest du dieses Fiture nicht finden, schreib eine pm an Woratana, er freut sich sicher
über Anregungen seinen Skript zu verbessern ;)

P.S pls Speak in English. Er spricht kein deutsch :P

Sk!p

Klischee Antagonist! | Back From Hell To Conquer The World!


Re: Hilfe zu Events.

Samael

  • Gast
Re: Hilfe zu Events.
« Antwort #48 am: Dezember 24, 2008, 14:51:44 »
Hi ich hab mich gerad mal registriert um gleich ma n paar Fragen zu stellen die mich schon seit einiger zeit Wurmem:

1. Wenn ich Wetter und/oder Nebel Events mache, kann ich mich nichtmehr vortbewegen. Ich hab den verdacht das es daran liegt, das der Nebel auf selber höhe mit meinem Charakter ist... aber das zu ändern bringt nichts...?

2. Wo bekomm ich n guten Deutsch Patch her? Ich hatte mir einen geladen, der aber den Maker unbrauchbar macht, da er alles so vergrößert, das man die Buttons (OK/Apply/Cancer usw...) Nichtmehr ins Bild reinbekommt?

Hoffe hab jetzt nichts gefragt, das schonmal beantwortet wurde *-.-
Bin gerad im Weinachtsstress und konnt nicht so schnell suchen...

Gruß & Frohes Fest: Samael

Re: Hilfe zu Events.

Offline Sk!p

  • Foren-ReArchitekt
  • VX-Großmeister
  • *****
  • Beiträge: 975
  • Mit(t)arbeiter schreibt man mit einem T =P
    • Foren-ReArchitekt
Re: Hilfe zu Events.
« Antwort #49 am: Dezember 24, 2008, 16:14:37 »
Hallo, und willkommen in der Com.

Zu Punkt 1: Das Event mit dem Wetter oder auch dem Nebel muss auf 'Parallel Process'
Stehen, damit das Event im Hintergrund läuft und nicht die Haupthandlung
unterbricht. Das hat nichts mit dem Layer des Events zu tun ;)

Zu Punkt 2: Ich glaube einer der besten Deutsch Patches im Moment ist der von
Magic Maker (?). Den benutzen einige. Ich an deienr Stelle wüprde allerdings die Englische
Version beibehalten. Denn wenn du speziellere Fragen hast, stiften die deutschen übersetzungen
meist Verwirrung, weil viele die Englische Org. Version verwenden.

Sk!p

Klischee Antagonist! | Back From Hell To Conquer The World!


Re: Hilfe zu Events.

Samael

  • Gast
Re: Hilfe zu Events.
« Antwort #50 am: Dezember 24, 2008, 16:36:22 »
Danke für die schnelle Antwort!
Aber genau so schnell hab ich auch wieder ne neue Frage^^:

Wenn ich beim guten alten RPG-XP in ner Sprachbox /n1 (oder /n[1] eins davon wars glaub ich) eingegeben hab, kam der Charaktername.
Geht das beim VX auch? Wenn ja mit welchem befehl? Bei mir sagt der nähmlich immer nur /n1 oder halt /n[1]?

Weiterer Gruß: Samael

Re: Hilfe zu Events.

Offline Sk!p

  • Foren-ReArchitekt
  • VX-Großmeister
  • *****
  • Beiträge: 975
  • Mit(t)arbeiter schreibt man mit einem T =P
    • Foren-ReArchitekt
Re: Hilfe zu Events.
« Antwort #51 am: Dezember 24, 2008, 17:39:13 »
Schau mal bitte 2-3 Beiträge weiter oben.
Ich habe dort Im Not Jesus erklärt, dass dies mit dem NMS von
Woratana umzusetzen ist.

Dieses Skript findest du in unserer Skript Sektion und erklärt
sich eigentlich von selbst ;)

Sk!p
« Letzte Änderung: Dezember 24, 2008, 17:41:10 von Sk!p »

Klischee Antagonist! | Back From Hell To Conquer The World!


Re: Hilfe zu Events.

Samael

  • Gast
Re: Hilfe zu Events.
« Antwort #52 am: Dezember 24, 2008, 18:55:09 »
Hab mal getestet, aber ich find nur die version 2, die muss man ja als archiv runterladen und mein PC blockt irgentwie die seite immer.
Könntest das Script kurz reinstellen?

Re: Hilfe zu Events.

Offline Sk!p

  • Foren-ReArchitekt
  • VX-Großmeister
  • *****
  • Beiträge: 975
  • Mit(t)arbeiter schreibt man mit einem T =P
    • Foren-ReArchitekt
Re: Hilfe zu Events.
« Antwort #53 am: Dezember 24, 2008, 19:22:12 »
Aber selbstverständlich

Das dürfte die aktuelle Version sein (glaube ich)
Einfach unter Matirials einfügen.
In Woratanas Archiv ist allerdings noch eine Demo enthalten, welche viele Begriffe
direkt zeigt, die ist nun leider nicht dabei. Ich glaube diese habe ich auch nicht mehr, aber
vllt kann sie ja jemand für dich hochladen.

Spoiler for Hiden:
Zitat
#===============================================================
# + [VX] [ NMS - Neo Message System 3.0 Beta ] +
#--------------------------------------------------------------
# >> by Woratana [woratana@hotmail.com]
# >> Thaiware RPG Maker Community
# >> Special Thanks: Mako, Yatzumo, Straycat, Erzengel, RPG,
# Dubalex, Modern Algebra, Equilibrium Keeper
#--------------------------------------------------------------
# Released on: 07/06/2008 (D-M-Y)
#--------------------------------------------------------------
# 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 :)
# - This script is included newest version of Neo-Face System,
# so you have to remove old Neo-Face System if you have it.

=begin
=============================================
+ NMS 3 Beta + [07/06/2008]
- 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
=============================================
=============================================
+ NMS 2.3 + [11/03/2008 - 06/04/2008]
- 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.
=============================================
=============================================
+ NMS 2.1 + [11/03/2008]: Fixed Name Box Bug
=============================================
=====================================
     + 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

--------------------------
>> [MESSAGE WINDOW] PART
--------------------------
* temporary properties will be using only one time
\wx
  •         << Set temporary X to x

\wy[y]        << Set temporary Y to y
\ww[width]    << Set temporary Width to width
\wh[height]   << Set temporary Height to height

----------------------------------------
>> +[ POP TEXT ]+
----------------------------------------
Pop text is the message box that will show over character
and has size equal to message size

You can call pop text by put this in message
\p[character]

* character: Character you want to show message box over~
0 for Player
-1 for This Event
1 or more for that event ID

----------------------------------------
>> +[ QUICK TEXT ]+ a.k.a. Shortcut
----------------------------------------
Add & Call your very long text (or) text that you use many times by shortcut.
You can put special syntax in it, e.g. 'Welcome to \c[10]Syria Village\c[0]

$nms.qt[Quick Text ID] = 'Text you want' << Add Quick Text

\qt[Quick Text ID] << Call Quick Text from message box

--------------------------
>> [DRAW IMAGE] 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

\dp[image_name] << Draw Image from folder 'System'

--------------------------
>> [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] (or) << 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
\sh            << Turn on/off SHADOW 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] (or) $nms._name = '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] (or) $nms.side = side << Change Face Side:
(0: Left Side Normal Face | -1: Right Side Normal Face)
(1: Left Side Neo Face | 2: Right Side Neo Face)

$nms.color = [Red,Green,Blue] << Change Name Text Color:
Put RGB Color in, e.g. [255,100,200]

\fa[face_file_name, face_index] (or) \fa[face_file_name, face_index, new_side]
<< Draw new face while message is running~
face_file_name: Face image's name
face_index:     Index of the face in image (0 - 7)
new_side:       Face side you want to change to

--------------------------
>> [SOUND] PART
--------------------------
\se[filename]   << Play SE
\me[filename]   << Play ME
\bgm[filename]  << Play BGM

\typ            << Turn on/off typing sound

--------------------------
>> [Misc.] PART
--------------------------
\cb           << Turn on/off cancel skip text feature (Player can/can't press [Enter] to skip text)
\nl           << Start new line
\sc
  •         << Create blank space x pixel

\w
  •          << Wait x frames

\c[#XXXXXX]   << Use Hex Color for text

----------------------------------
>> 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
  # $nms.text_delay = (number)
 
  TEXT_X_PLUS = 0 # Move Text Horizontally
  CHOICE_INPUT_X_PLUS = 0
  # Move Choices Text and Input Number Text Horizontally
 
  # [NEW SETTING] #
  NMS_MSGWIN_X = 0 # Default Message Window X
  # $nms.msg_x = (number)
 
  NMS_MSGWIN_WIDTH = 544 # Default Message Window Width
  # $nms.msg_w = (number)
  NMS_MSGWIN_MIN_HEIGHT = 128 # Default & Minimum Message Window Height
  # $nms.msg_h_user = (number)
 
  NMS_MAX_LINE = 4 # Max Message Lines to display per page
  # $nms.max_line = (number)
  NMS_GET_NEXT_LINE = false # Get messages from next message command, if box is not full
  # $nms.next_msg = true/false
 
  NMS_MSG_BACK = "MessageBack" # Message Back Image File Name (For 'Dim Background' Message)
  # (Must be in folder 'System')
  # $nms.mback = 'Image Name'
  NMS_MSG_BACK_OPACITY = 255 # message Back's Opacity
  # $nms.mback_opac = (0 - 255)
 
  NMS_TEXT_SCROLL = false # Use Vertical Text Scroll?
  # $nms.txt_scrl = true/false
 
  NMS_TEXT_AUTO_CUT = false # Text will automatically start new line if that line is full
  # (Some bug, it may cut in the middle of word..)
  # $nms.txt_cut = true/false
 
  NMS_TEXT_AUTO_SCROLL_HORIZONTAL = false # Text will automatically scroll to the left if line is full
  # This will not work if NMS_TEXT_AUTO_CUT is true
  # $nms.txt_scrl_hori = true/false
  NMS_TEXT_AUTO_SCROLL_HORIZONTAL_DELAY = 1 # Scroll Delay (in frame)
  # $nms.txt_scrl_hori_delay = (number)
 
  NMS_USER_NEW_LINE = false # Text will goes in new line ONLY when type \nl
  # (Good for Text Auto Cut)
  # $nms.txt_unl = true/false
 
  NMS_REMOVE_LIST = [] # List of text that you want to remove from message
  # for example, NMS_REMOVE_LIST = ['test', '[MS]']
  # will remove text 'test' and '[MS]' before show message
  # Note that this is NOT case sensitive
 
  #---------------------------------
  # ? 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)
  # $nms.side = (side no.)
 
  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)
  # $nms.face_fade = 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)
  # $nms.face_move = 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)
 
  #-------------------------------
  # ** ANIMATED FACE SYSTEM
  #----------------------------
  ANIMATE_FACE_DELAY = 6 # Face animate every _ frame
  # $nms.animf_delay = (number)
 
  ANIMATE_FACE_CONTINUE = false # Face continue to animate after text stop writing?
  # $nms.animf_cont = (true/false)
 
  #------------------------------------
  # ? NAME BOX SYSTEM
  #----------------------------------
  NAMEBOX_SKIN = 'Window' # Windowskin of Name Box (In folder 'Graphics/System')
  NAMEBOX_OPACITY = 255 # Name Box Opacity when using 'Normal Background' message
  # (Lowest 0 - 255 Highest)
  NAMEBOX_OPACITY_DIM_BG = 0 # Name Box Opacity when using 'Dim Background'
  NAMEBOX_OPACITY_NO_BG = 0 # Name Box Opacity when using 'Transparent' Background
  NAMEBOX_BACK_OPACITY = 180 # Name Box Background Opacity
 
  NAMEBOX_X_PLUS_NOR = 100 # 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_Y_PLUS_TOP = 140
  # Move Name Box & Text Vertically if message box is on Top
 
  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 (Red Green Blue) color in Google :)
  # You are allow to change color in game by call script:
  # $nms.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.

  #---------------------------------
  # ? TEXT TYPING SOUND SYSTEM
  #-------------------------------
  TYPING_SOUND = true # Use Typing Sound?
  # $nms.typ_se = true/false
  TYPING_SOUND_FILE = 'Open1'
  # Sound File Name for Typing Sound (Must be in Folder 'Audio/SE')
  # $nms.typ_file = 'filename'
  TYPING_SOUND_VOLUME = 40 # Typing Sound's Volume
  # $nms.typ_vol = 0 - 100
  TYPING_SOUND_SKIP = 4
  # How many frames you want to skip before play typing sound again?
  # $nms.typ_skip = (no. of frames)
  #---------------------------------
  # [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
      contents.font.name = $nms.nms_fontname
      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)
     
      #NMS 2++
      self.width = $nms.msg_w
      self.height = $nms.msg_h
      update_window_size(true)
      self.x = $nms.msg_x
     
      @typse_count = 0
      @delay_text = 0
      @no_press_input = false
      @biggest_text_height = 0
      @all_text_width = 0
      @animf_dl = 0 # Animation Face Delay
      @animf = false # Using Animation Face?
      @animf_ind = 0 # Animation Face Index
      @pop = nil # Pop ID
    end
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  def dispose
    super
    dispose_gold_window
    dispose_number_input_window
    dispose_back_sprite
  end
  #--------------------------------------------------------------------------
  # ? EDITED
  #--------------------------------------------------------------------------
  def update
    super
  if self.visible == true
    update_back_sprite
    update_gold_window
    update_number_input_window
    update_show_fast
    update_window_size
    update_animate_face if @animf
   
    @typse_count -= 1 if @typse_count > 0
   
    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 $nms.face_move 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
        if @delay_text > 0
          @delay_text -= 1
        else
          update_message
        end
      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
  #--------------------------------------------------------------------------
  # ? NEW
  #--------------------------------------------------------------------------
  def update_window_size(direct = false, create_bitmap = true)
    if (self.width != $nms.msg_w or self.height != $nms.msg_h) or direct
      self.width = $nms.msg_w if $nms.msg_w > 32
      self.height = $nms.msg_h if $nms.msg_h > 32
      create_contents if create_bitmap
    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 = @old_mback = Cache.system($game_message.mback)
    @back_sprite.opacity = @old_mback_opac = $game_message.mback_opac
    @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 = $nms.mback_opac > openness ? openness : $nms.mback_opac
    @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 and !@no_press_input
      @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: NMS 2.2+
  #--------------------------------------------------------------------------
  def start_message
    @all_text_width = 0
    @pop = nil
   
    @text = ""
    @text_line = $game_message.texts.size < $game_message.max_line ? $game_message.texts.size + 1 : MAX_LINE + 1
    for i in 0...$game_message.texts.size
      # Change "    " to "" (Spacing for choice)
      @text += "" if i >= $game_message.choice_start
      @text += $game_message.texts.clone + "\x00"
    end
     
    @item_max = $game_message.choice_max
    convert_special_characters
    reset_window
    update_window_size
    new_page
  end
  #--------------------------------------------------------------------------
  # ? EDITED
  #--------------------------------------------------------------------------
  def new_page
    @animf = false
    contents.clear
   
    if @face.bitmap != nil
    @face.bitmap.dispose
    end
    if $game_message.face_name.empty?
    @contents_x = TEXT_X_PLUS
    else
      nms_draw_new_face
      # CHECK FOR MOVE EFFECT
      @ori_x = @face.x
      if $nms.face_move 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 = Graphics.width
        end
      end
      @contents_x = get_x_face
    end
    @main_contents_x = @contents_x
    @contents_y = 0
    @line_count = 0
    @typse_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
   
    if @old_mback != Cache.system($nms.mback) or @old_mback_opac != $nms.mback_opac
      dispose_back_sprite; create_back_sprite
    end
   
    @no_press_input = false
    self.oy = 0
  end
  #--------------------------------------------------------------------------
  # ? EDITED
  #--------------------------------------------------------------------------
  def new_line
    biggest = @biggest_text_height > WLH ? @biggest_text_height : WLH
    @contents_y += biggest
    if $nms.txt_scrl and @contents_y >= contents.height and @text != ""
      rect = Rect.new(0, biggest, contents.width, contents.height - biggest)
      cont_s = Bitmap.new(contents.width,contents.height)
      cont_s.blt(0, 0, contents, rect)
      rect_s = Rect.new(0,0,contents.width,contents.height)
      contents.clear_rect(0, 0, contents.width, contents.height)
      contents.blt(0, 0, cont_s, rect_s)
      @contents_y = rect.height
      cont_s.dispose
      @show_fast = false
      @no_press_input = true
    end
    @contents_x = @main_contents_x
    @contents_x += CHOICE_INPUT_X_PLUS if $game_message.choice_max > 0
    @biggest_text_height = WLH
    @line_count += 1
    @line_show_fast = false
  end
  #--------------------------------------------------------------------------
  # ? EDITED
  #--------------------------------------------------------------------------
  def convert_special_characters
    clear_namebox if @namebox != nil
   
    # Woratana's :: Quick Text
    @text.gsub!(/\\QT\[([0-9]+)\]/i) { $nms.qt[$1.to_i] }
   
    #--------------------------
    # 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\[(.*?)\]/i) { "\x01{#{$1}}" }
    @text.gsub!(/\\G/i)              { "\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}]\x01{#{NMS_WEAPON_NAME_COLOR_ID}}\\nw[#{$1.to_i}]\x01{#{$nms.last_color}}"}
    # Woratana's :: Draw Item Name + Icon
    @text.gsub!(/\\DI\[([0-9]+)\]/i) { "\x83[#{$data_items[$1.to_i].icon_index}]\x01{#{NMS_ITEM_NAME_COLOR_ID}}\\ni[#{$1.to_i}]\x01{#{$nms.last_color}}" }
    # Woratana's :: Draw Armor Name + Icon
    @text.gsub!(/\\DA\[([0-9]+)\]/i) { "\x83[#{$data_armors[$1.to_i].icon_index}]\x01{#{NMS_ARMOR_NAME_COLOR_ID}}\\na[#{$1.to_i}]\x01{#{$nms.last_color}}"}
    # Woratana's :: Draw Skill Name + Icon
    @text.gsub!(/\\DS\[([0-9]+)\]/i) { "\x83[#{$data_skills[$1.to_i].icon_index}]\x01{#{NMS_ITEM_NAME_COLOR_ID}}\\ns[#{$1.to_i}]\x01{#{$nms.last_color}}"}

    # 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[$game_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) { $data_items[$1.to_i].name }
    # Woratana's :: Weapon Name
    @text.gsub!(/\\NW\[([0-9]+)\]/i) { $data_weapons[$1.to_i].name }
    # Woratana's :: Armor Name
    @text.gsub!(/\\NA\[([0-9]+)\]/i) { $data_armors[$1.to_i].name }
    # Woratana's :: Skill Name
    @text.gsub!(/\\NS\[([0-9]+)\]/i) { $data_skills[$1.to_i].name }
    # Woratana's :: Item Price
    @text.gsub!(/\\PRICE\[([0-9]+)\]/i) { $data_items[$1.to_i].price.to_s }
   
    # 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 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
   
     # Woratana's :: Name Box
     @text.scan(/\\NB\[(.*?)\]/i)
     if $1.to_s != ""
       n_text = $1.to_s.gsub(/\x01\{(.*?)\}/i) {} # Clear If there's Color
       @name_text = n_text
       @text.sub!(/\\NB\[(.*?)\]/i) {}
     end
   
     # Woratana's :: Repeat Name Box
     @text.gsub!(/\\RNB\[(.*?)\]/i) do
       $game_message._name = $1.to_s
       a = ""
     end
     
     # NMS 2++
     # Woratana's :: SHADOW Text
     @text.gsub!(/\\SH/i) { "\x93" }
     # Woratana's :: Cancel Skip Text Button
     @text.gsub!(/\\CB/i) { "\x94" }
     # Woratana's :: Wait X Frame
     @text.gsub!(/\\W\[([0-9]+)\]/i) { "\x95[#{$1}]" }
     # Woratana's :: Add Space X Pixel
     @text.gsub!(/\\SC\[([0-9]+)\]/i) { "\x96[#{$1}]" }
     
     # Woratana's :: Play SE
     @text.gsub!(/\\SE\[(.*?)\]/i) { "\x97[#{$1}]" }
     # Woratana's :: Play ME
     @text.gsub!(/\\ME\[(.*?)\]/i) { "\x98[#{$1}]" }
     # Woratana's :: Play BGM
     @text.gsub!(/\\BGM\[(.*?)\]/i) { "\x99[#{$1}]" }
     
     # Woratana's :: Start New Line
     @text.gsub!(/\\NL/i) { "\x09" }
     # Woratana's :: Turn ON/OFF Typing Sound
     @text.gsub!(/\\TYP/i) { "\x10" }
     # Woratana's :: Draw Picture
     @text.gsub!(/\\DP\[(.*?)\]/i) { "\x11[#{$1}]" }
     
     # Woratana's :: Draw Face
     @text.gsub!(/\\FA\{(.*?)\}/i) { "\x12{#{$1}}" }
     
     # Woratana's :: Temporary Width
     @text.scan(/\\WW\[([-,0-9]+)\]/i)
     if $1.to_s != ''
       $nms.msg_temp_w = $1.to_i
       @text.sub!(/\\WW\[([-,0-9]+)\]/i) {}
     end
     # Woratana's :: Temporary Height
     @text.scan(/\\WH\[([-,0-9]+)\]/i)
     if $1.to_s != ''
       $nms.msg_temp_h = $1.to_i
       @text.sub!(/\\WH\[([-,0-9]+)\]/i) {}
     end
     # Woratana's :: Temporary X
     @text.scan(/\\WX\[([-,0-9]+)\]/i)
     if $1.to_s != ''
       $nms.msg_temp_x = $1.to_i
       @text.sub!(/\\WX\[([-,0-9]+)\]/i) {}
     end
     # Woratana's :: Temporary Y
     @text.scan(/\\WY\[([-,0-9]+)\]/i)
     if $1.to_s != ''
       $nms.msg_temp_y = $1.to_i
       @text.sub!(/\\WY\[([-,0-9]+)\]/i) {}
     end

    # Woratana's :: Remove text list
     NMS_REMOVE_LIST.each {|i| @text.gsub!(/#{i}/i) {} }
     
     # Woratana's :: Pop Text
     @text.scan(/\\P\[(.*?)\]/i)
     if $1.to_s != ""
      @pop = $1.to_i
      contents.font.name = $nms.nms_fontname if contents.font.name != $nms.nms_fontname
      contents.font.size = $nms.nms_fontsize if contents.font.size != $nms.nms_fontsize
      a = @text.split(/\x00/)
      for i in 0..(a.size - 1)
        text_width = contents.text_size(a).width
        @all_text_width = text_width if @all_text_width < text_width
      end
       nms_draw_new_face
       if @face.bitmap != nil
        if get_x_face == 0 and MOVE_TEXT
          @all_text_width += (@face.width + TEXT_X_PLUS)
        else
          @all_text_width += get_x_face
        end
        @face.bitmap.dispose
        @face.bitmap = nil
      end
      @text.sub!(/\\P\[(.*?)\]/i) {}
      end
 
     @name_text = $game_message._name if @name_text == nil and $game_message._name != ""
   end
  #--------------------------------------------------------------------------
  # ? EDIT: NMS 2.2++
  #--------------------------------------------------------------------------
  def reset_window
    @background = $game_message.background
    @position = $game_message.position
    if @background == 0
      self.opacity = 255
    else
      self.opacity = 0
    end
    # Calculate Window X/Y and Size depends on Pop or normal message
    if @pop != nil
      $nms.msg_h = [((@text_line * WLH) + 8), $nms.msg_h_user].min
      $nms.msg_w = @all_text_width + 32
     
      case @pop
      when 0 # Player
        set_window_xy($game_player)
      when -1 # This Event
        set_window_xy($game_map.events[$game_message.event_id])
      else # Event ID
        set_window_xy($game_map.events[@pop])
      end
    else
      $nms.msg_h = ((((@text_line * WLH) + 8) > $nms.msg_h_user) and ($nms.txt_scrl == false)) ? ((@text_line * WLH) + 8) : $nms.msg_h_user
      $nms.msg_w = NMS_MSGWIN_WIDTH
      self.x = $nms.msg_x
      case @position
      when 0  # Down
        self.y = 0
        @gold_window.y = 360
      when 1  # Middle
        self.y = ((Graphics.height - $nms.msg_h) / 2)
        @gold_window.y = 0
      when 2  # Up
        self.y = Graphics.height - $nms.msg_h
        @gold_window.y = 0
      end
    end
    # Temporary Size & Position
    if !$nms.msg_temp_w.nil?
      $nms.msg_w = $nms.msg_temp_w
      $nms.msg_temp_w = nil
    end
    if !$nms.msg_temp_h.nil?
      $nms.msg_h = $nms.msg_temp_h
      $nms.msg_temp_h = nil
    end
    if !$nms.msg_temp_x.nil?
      self.x = $nms.msg_temp_x
      $nms.msg_temp_x = nil
    end
    if !$nms.msg_temp_y.nil?
      self.y = $nms.msg_temp_y
      $nms.msg_temp_y = nil
    end
    # Fix Window Position if it's out of screen
    self.x = 0 if self.x < 0
    self.x = Graphics.width - $nms.msg_w if (self.x + $nms.msg_w) > Graphics.width
    self.y = 0 if self.y < 0
    self.y = Graphics.height - $nms.msg_h if (self.y + $nms.msg_h) > Graphics.height
  end
  #--------------------------------------------------------------------------
  # ? SET Window XY for Pop Message
  #--------------------------------------------------------------------------
  def set_window_xy(chara)
    char_x = chara.screen_x
    char_y = chara.screen_y
    self.x = char_x - ($nms.msg_w / 2)
    self.y = ((char_y - 32 - $nms.msg_h) >= 0) ? (char_y - 32 - $nms.msg_h) : (char_y + 32)
  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 !$nms.txt_unl
        if @line_count >= $game_message.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
        # Check for Auto Cut
        new_line if $nms.txt_cut and (@contents_x + 24 > contents.width)
        # Draw ICON
        draw_icon(icon_index, @contents_x, @contents_y, true)
        @contents_x += 24
      when "\x84"
        @text.sub!(/\[(.*?)\]/, "")
        $nms.nms_fontname = $1.to_s
        next
      when "\x85"
        @text.sub!(/\[([0-9]+)\]/, "")
        $nms.nms_fontsize = $1.to_i; next
      when "\x86"
        $nms.nms_fontname = NMS_FONT_NAME; next
      when "\x87"
        $nms.nms_fontsize = NMS_FONT_SIZE; next
      when "\x88"
        contents.font.bold = contents.font.bold == true ? false : true
        next
      when "\x89"
        contents.font.italic = contents.font.italic == true ? false : true
        next
      when "\x90"
        @text.sub!(/\[([0-9]+)\]/, "")
        $nms.text_delay = $1.to_i; next
      when "\x91"
        $nms.text_delay = NMS_DELAY_PER_LETTER; next
      when "\x92"
        $nms.lbl = $nms.lbl == true ? false : true; next
      when "\x93"
        contents.font.shadow = contents.font.shadow == true ? false : true
        next
      when "\x94"
        @no_press_input = @no_press_input == true ? false : true
        next
      when "\x95"
        @text.sub!(/\[([0-9]+)\]/, "")
        @wait_count = $1.to_i
        break
      when "\x96"
        @text.sub!(/\[([0-9]+)\]/, "")
        @contents_x += $1.to_i
        next
      when "\x97"
        @text.sub!(/\[(.*?)\]/, "")
        RPG::SE.new($1).play
      when "\x98"
        @text.sub!(/\[(.*?)\]/, "")
        RPG::ME.new($1).play
      when "\x99"
        @text.sub!(/\[(.*?)\]/, "")
        RPG::BGM.new($1).play
      when "\x09"
        new_line
      when "\x10"
        $nms.typ_se = !$nms.typ_se
      when "\x11"
        @text.sub!(/\[(.*?)\]/, "")
        bitmap = Cache.system($1.to_s)
        rect = Rect.new(0,0,0,0)
        rect.width = bitmap.width
        rect.height = bitmap.height
        # Check for Auto Cut & Scroll
        if (@contents_x + bitmap.width > contents.width)
          if $nms.txt_cut; new_line
          elsif $nms.txt_scrl_hori; nms_scroll_hori(bitmap.width)
          end
        end
        # Draw Image
        self.contents.blt(@contents_x, @contents_y, bitmap, rect)
        @contents_x += bitmap.width
        @biggest_text_height = bitmap.height if bitmap.height > @biggest_text_height
        bitmap.dispose
      when "\x12"
        @text.sub!(/\{(.*?)\}/, "")
        a = $1.to_s.split(',')
        $nms.face_name = a[0]
        $nms.face_index = a[1].to_i
        $nms.side = a[2].to_i unless a[2].nil?
        nms_draw_new_face
        @ori_x = @face.x
      when "\x01"
        @text.sub!(/\{(.*?)\}/, "")
        color_code = $1.to_s
        if color_code.include?('#')
          color_code.sub!(/([0123456789ABCDEF]+)/, "")
          contents.font.color = get_hex($1)
        else
          $nms.last_color = color_code.to_i
          contents.font.color = text_color($nms.last_color)
        end
        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
        contents.font.name = $nms.nms_fontname if contents.font.name != $nms.nms_fontname
        contents.font.size = $nms.nms_fontsize if contents.font.size != $nms.nms_fontsize
        c_width = contents.text_size(c).width
       
        # Check for Text Cut & Scroll Horizontal
        if (@contents_x + c_width > contents.width)
          if $nms.txt_cut; new_line
          elsif $nms.txt_scrl_hori
            nms_scroll_hori(c_width)
            @wait_count = $nms.txt_scrl_hori_delay
            @text = c + @text
            return
          end
        end
        nms_line_height = contents.text_size(c).height
        contents.draw_text(@contents_x, @contents_y, 40, nms_line_height, c)
        @contents_x += c_width
        # Change Biggest Text Height
        @biggest_text_height = nms_line_height if nms_line_height > @biggest_text_height
       
        # Play Typing Sound
        if $nms.typ_se and @typse_count <= 0
          RPG::SE.new($nms.typ_file, $nms.typ_vol).play
          @typse_count += $nms.typ_skip
        end
        #Show Fast & Text Delay
        @show_fast = true if $nms.lbl == false

        @delay_text += $nms.text_delay
      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 >= $game_message.max_line
      else
        terminate_message
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def input_choice
    if Input.trigger?(Input::B)
      if $game_message.choice_cancel
« Letzte Änderung: Dezember 24, 2008, 19:25:12 von Sk!p »

Klischee Antagonist! | Back From Hell To Conquer The World!


Re: Hilfe zu Events.

igromanru

  • Gast
Re: Hilfe zu Events.
« Antwort #54 am: Dezember 24, 2008, 19:29:48 »
Hallo Leute!
Ich habe ein Problem und zwar:
Wenn ich bei einen event mache der sich  bewegen soll und bei "Warte bis fertig" das Häkchen weg mache, dann kann ich laufen aber das event das dabei sich Bewegt kommt irgendwie in die andere Richtung als ich eingestellt hab.

Re: Hilfe zu Events.

Samael

  • Gast
Re: Hilfe zu Events.
« Antwort #55 am: Dezember 24, 2008, 19:39:38 »
Danke für den Skript aber durch die Smylies ergibt das n Error im Maker...
Könnteste da nochma gucken?

Re: Hilfe zu Events.

Offline Sk!p

  • Foren-ReArchitekt
  • VX-Großmeister
  • *****
  • Beiträge: 975
  • Mit(t)arbeiter schreibt man mit einem T =P
    • Foren-ReArchitekt
Re: Hilfe zu Events.
« Antwort #56 am: Dezember 24, 2008, 20:35:17 »
Du müsstest eigentlich nur schauen welcher Text einen Smily ergibt
und den Text dementsprechend wieder abändern. Ich weiß auch nicht, warum
er den Text mit Smilys ausgestattet hat, aber ich habe dir das Skript nochmal als
Word-Datei ohne Smilys hochgeladen.

><a href="http://www.mediafire.com/?4gm1nyz2yoj">Woratanas Neo Messege Skript</a>

Sk!p

Klischee Antagonist! | Back From Hell To Conquer The World!


Re: Hilfe zu Events.

Offline eugene222

  • König der Lügner
  • VX-Meister
  • ****
  • Beiträge: 675
Re: Hilfe zu Events.
« Antwort #57 am: Dezember 24, 2008, 21:38:09 »
Skip füg das nicht als quote ein sondern als code:

Spoiler for Hiden:
Hier Skript rein

Auserdem wurde ein großer Teil abgeschnitten. Deswegen hat Wora ja ne Demo gepostet. Also das nächste mal lieber die Demo oder ne Word Datei.

mfg. eugene

Re: Hilfe zu Events.

frostwolf_13

  • Gast
Re: Hilfe zu Events.
« Antwort #58 am: Dezember 28, 2008, 11:32:28 »
Auf wunsch von sk!p stelle ich meine Frage hier rein:

Hey Leutz,
ich habe 2 Fragen:

Einmal möchte ich den Level meines ersten Bosses bestimmen,
und dann möchte ich an einer stelle noch den durchgang versperren, bis man diesen Boss besiegt hat!

Kann mir da jemand helfen?

Re: Hilfe zu Events.

Offline Gilgamesch

  • IRC-Fraktion
  • Mr. MACK-Tile
  • ***
  • Beiträge: 245
  • Live Free or Die
    • Irgendein Blog
Re: Hilfe zu Events.
« Antwort #59 am: Dezember 28, 2008, 11:36:13 »
Was genau verstehst du unter Level? Du erstellst den Bossgegner ganz einfach in der Database unter Enemies und kannst dort seine Werte nach belieben einstellen.
Und wodurch soll der Durchgang denn versperrt sein? Durch eine Tür? Dann mache eine Tür als Event dorthin und lasse nach dem Sieg über den Boss einen Switch anschalten. Dann erstellst du beim Tür-Event eine neue Seite, die als Bedingung eben diesen Switch hat und sich dann öffnet.
Falls dir das nicht geholfen hat, konkretisiere dein Problem doch bitte noch etwas genauer, kann mir so jetzt wenig darunter vorstellen.
Mein Haus.
Mein Auto.
Mein Blog.

(Zugegeben, an zwei von dreien arbeite ich noch.)

 


 Bild des Monats

rooftop party

Views: 3581
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