Zelaron Gaming Forum  
Stats Arcade Portal Forum FAQ Community Calendar Today's Posts Search
Go Back   Zelaron Gaming Forum > Zelaron Gaming > RPGMaker

 
 
Thread Tools Display Modes

 
Question RMXP script help
Reply
Posted 2004-11-07, 07:08 AM
I cant remember if its allowed to post about it here but Ill try anyway :S

I need to find a way to utilise both of the following scripts can somebody tell me how to do it please, im confused :S

http://rrrevolution.net/rmxp/rgss/0002.php

http://www.phylomortis.com/resource/script/scr001.html
"Try not! Do or do not, there is, no try!" Quote Yoda.
Old
Profile PM WWW Search
05thouldm is neither ape nor machine; has so far settled for the in-between05thouldm is neither ape nor machine; has so far settled for the in-between
 
 
05thouldm
 



 
Reply
Posted 2004-11-07, 10:21 AM in reply to 05thouldm's post "RMXP script help"


That was a bit of Frankenstien-ing, but I was able to combine the two scripts into one. Took me a while, because for some reason it was having trouble and wouldn't fade in the name (so it stayed at 0 opacity). Found the issue, now it doesn't even bother fading in the name.

Copy the entire thing over the Window_Message function. BEHOLD

Code:
#==============================================================================
#  Window_Message
#------------------------------------------------------------------------------
class Window_Message < Window_Selectable
  attr_accessor :autoclosetime
  attr_accessor :op
# ----------------------------
  def initialize
    
    #Name Script ============
   @name_win = Window_Base.new(80,252,164,56)
   @name_win.z = 9998
   @name_win.visible = false
   @name_win.contents = Bitmap.new(132,22)
   @name_win.contents.font = Font.new("Arial")
   @name_win.contents.font.color = Color.new(255,255,0)
    # End name script ==========
    
    super(80, 304, 480, 160)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.visible = false
    self.z = 9998
    @fade_in = false
    @fade_out = false
    @contents_showing = false
    @cursor_width = 0
    @autoclosetime = -1
    @op = 255
    @refreshflag = false
    self.active = false
    self.index = -1
  end
# ----------------------------
  def dispose
    terminate_message
    $game_temp.message_window_showing = false
    if @input_number_window != nil
      @input_number_window.dispose
    end
    super
  end
# ----------------------------
  def terminate_message
    self.active = false
    self.pause = false
    self.index = -1
    self.contents.clear
    
    @contents_showing = false
    if $game_temp.message_proc != nil
      $game_temp.message_proc.call
    end
    
    @name_win.contents.clear
    @name_win.visible = false
    $game_temp.message_text = nil
    $game_temp.message_proc = nil
    $game_temp.choice_start = 99
    $game_temp.choice_max = 0
    $game_temp.choice_cancel_type = 0
    $game_temp.choice_proc = nil
    $game_temp.num_input_start = 99
    $game_temp.num_input_variable_id = 0
    $game_temp.num_input_digits_max = 0
    if @gold_window != nil
      @gold_window.dispose
      @gold_window = nil
    end
  end
# ----------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.font.name = "Arial"
    self.contents.font.size = 18
    @name_win.contents.clear
    
    x = y = 0
    @cursor_width = 0
    @autoclosetime = -1
    @refreshflag = true
 
    lineheight = 32
    active = ""
    a = ""
    centerflag = false
    rightflag = false
    bannerflag = false
    if $game_temp.choice_start == 0
      x = 8
    end
    if $game_temp.message_text != nil
      text = $game_temp.message_text
      begin
      last_text = text.clone
      text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
    end until text == last_text
    
      text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
       $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
     end     

       
      text.gsub!(/\\\\/) { "\000" }
      text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
      text.gsub!(/\\[Gg]/) { "\002" }
      text.gsub!(/\\[Ii]\[([0-9]+)\]/) { "\003[#{$1}]" }
      text.gsub!(/\\[Ff]\[([0-9]+)\]/) { "\004[#{$1}]" }
      text.gsub!(/\\[Aa]\[([0-9]+)\]/) { "\005[#{$1}]" }
      text.gsub!(/\\[Xx]/) { "\006" }
      text.gsub!(/\\[Rr]/) { "\007" }
      text.gsub!(/\\[Dd]/) { "\011" }
      text.gsub!(/\\[Ss]\[([0-9]+)\]/) { "\023[#{$1}]" }
      text.gsub!(/\\[Bb]/) { "\017" }
      text.gsub!(/\\[Ww]\[([0-9]+)\]/) { "\014[#{$1}]" }
      text.gsub!(/\\[Mm]\[([0-9]+)\]/) { "\015[#{$1}]" }
      text.gsub!(/\\[Oo]\[([0-9]+)\]/) { "\016[#{$1}]" }
      text.gsub!(/\\[Jj]\[([0-9]+)\]/) { "\013[#{$1}]" }
      text.gsub!(/\\[Hh]\[([0-9]+)\]/) { "\021[#{$1}]" }
      text.gsub!(/\\[Kk]\[([0-9]+)\]/) { "\022[#{$1}]" }
      
      
         text.gsub!(/\-([\w ]+)\-/) do
              @name = $1
              ""
          end    

      
      
if @name != nil and @name != "" and @name != " "
       @name_win.visible = true if @name_win.visible == false
       @name_win.contents.clear
       @name_win.contents.draw_text(4,0,120,25,@name)
end
      
      
      
      while ((c = text.slice!(/./m)) != nil)
        if c == "\000"
          c = "\\"
        end
        if c == "\001"
          text.sub!(/\[([0-9]+)\]/, "")
          color = $1.to_i
          if color >= 0 and color <= 7
            self.contents.font.color = text_color(color)
          end
          next
        end
        if c == "\002"
          if @gold_window == nil
            @gold_window = Window_Gold.new
            @gold_window.x = 560 - @gold_window.width
            if $game_temp.in_battle
              @gold_window.y = 192
            else
              @gold_window.y = self.y >= 128 ? 32 : 384
            end
            @gold_window.opacity = self.opacity
            @gold_window.back_opacity = self.back_opacity
          end
          next
        end
          if c == "\003"
          text.sub!(/\[([0-9]+)\]/, "")
          item_sub = $1.to_i
          c = $data_items[item_sub].name
          l = self.contents.text_size(c).width
          draw_item_name($data_items[item_sub], x, y * 32 + 1)
          x = x + l + 24
          next
        end
         if c == "\004"
          text.sub!(/\[([0-9]+)\]/, "")
          fontize = $1.to_i
          case fontize
            when 1 
              self.contents.font.name = "Arial"
            when 2 
              self.contents.font.name = "High Tower Text"
            when 3 
              self.contents.font.name = "Tw Cen MT"
            when 4 
              self.contents.font.name = "Tahoma"
          end
          next
        end
         if c == "\005"
          text.sub!(/\[([0-9]+)\]/, "")
          @autoclosetime = $1.to_i
          next
        end
        if c == "\006"
          centerflag = true
          next
        end
        if c == "\007"
          rightflag = true
          next
        end
        if c == "\011"
          self.contents.font.name = "Arial"
          self.contents.font.size = 18
          self.contents.font.color = normal_color
          lineheight = 32
          next
        end
        if c == "\014"
          text.sub!(/\[([0-9]+)\]/, "")
          w_sub = $1.to_i
          c = $data_weapons[w_sub].name
          l = self.contents.text_size(c).width
          bitmap = RPG::Cache.icon($data_weapons[w_sub].icon_name)
          self.contents.blt(x+4, y * 32+ 4, bitmap, Rect.new(0, 0, 24, 24))
          x += 28
          self.contents.draw_text(x+4, 32 * y, l+32, lineheight, c)
          x = x + l
          next
        end
          if c == "\015"
          text.sub!(/\[([0-9]+)\]/, "")
          a_sub = $1.to_i
          c = $data_armors[a_sub].name
          l = self.contents.text_size(c).width
          bitmap = RPG::Cache.icon($data_armors[a_sub].icon_name)
          self.contents.blt(x+4, y * 32+ 4, bitmap, Rect.new(0, 0, 24, 24))
          x += 28
          self.contents.draw_text(x+4, 32 * y, l+32, lineheight, c)
          x = x + l
          next
        end
          if c == "\016"
          text.sub!(/\[([0-9]+)\]/, "")
          @op = $1.to_i
          next
        end
         if c == "\017"
          bannerflag = true
          next
        end
        if c == "\018"
          text.sub!(/\[([0-9]+)\]/, "")
          jump = $1.to_i	
          x += jump
          next
        end
          if c == "\021"
          text.sub!(/\[([0-9]+)\]/, "")
          lineheight = $1.to_i
          next
        end
        if c == "\022"
          text.sub!(/\[([0-9]+)\]/, "")
          skill_sub = $1.to_i
          c = $data_skills[skill_sub].name
          l = self.contents.text_size(c).width
          bitmap = RPG::Cache.icon($data_skills[skill_sub].icon_name)
          self.contents.blt(x+4, y * 32+ 4, bitmap, Rect.new(0, 0, 24, 24))
          x += 28
          self.contents.draw_text(x+4, 32 * y, l+32, lineheight, c)
          x = x + l
          next
        end
         if c == "\023"
          text.sub!(/\[([0-9]+)\]/, "")
          bigness = $1.to_i
          self.contents.font.size = bigness
          next
        end
        if c == "\n"
          if centerflag == true
            x = 448 - x
            x = x / 2
            self.contents.draw_text(x, 32 * y, 448-x, lineheight, a)
          end
          if rightflag == true
            x = 448 - x
            self.contents.draw_text(x, 32 * y, 448-x, lineheight, a)
          end
          if bannerflag == true
            x = 448 - x
            x = x / 2
            self.contents.draw_text(x, 44, 448-x, lineheight, a)
          end
          a = ""
          centerflag = false
          rightflag = false
          bannerflag = false
          if y >= $game_temp.choice_start
            @cursor_width = [@cursor_width, x].max
          end
          y += 1
          x = 0
          if y >= $game_temp.choice_start
            x = 8
          end
          next
        end
        if centerflag == false && rightflag == false && bannerflag == false
        self.contents.draw_text(4 + x, 32 * y, 40, lineheight, c)
        x += self.contents.text_size(c).width
      else
        a += c
        x += self.contents.text_size(c).width
        end
      end
    end
    
    

     
     

     
     
     
    if $game_temp.choice_max > 0
      @item_max = $game_temp.choice_max
      self.active = true
      self.index = 0
    end
    if $game_temp.num_input_variable_id > 0
      digits_max = $game_temp.num_input_digits_max

      number = $game_variables[$game_temp.num_input_variable_id]
      @input_number_window = Window_InputNumber.new(digits_max)
      @input_number_window.number = number
      @input_number_window.x = self.x + 8
      @input_number_window.y = self.y + $game_temp.num_input_start * 32
    end
  end
# ----------------------------
  def reset_window
    if $game_temp.in_battle
      self.y = 16
    else
      case $game_system.message_position
      when 0
        self.y = 16
      when 1
        self.y = 160
      when 2
        self.y = 304
      end
    end
   if $game_system.message_frame == 0
     self.opacity = 255
     @name_win.opacity = 255
   else
     self.opacity = 0
     @name_win.opacity = 0
   end
   self.back_opacity = 160
   @name_win.back_opacity = 160
  end
# ----------------------------  
  def update
    super
    if @refreshflag && @fade_in == false
      self.contents_opacity = @op
      @name_win.contents_opacity = 255
     end
    if @autoclosetime == 0
    @autoclosetime = -1
     terminate_message
   end
    if @autoclosetime >= 1
    @autoclosetime -= 1
    end
    if @fade_in
      self.contents_opacity += 24
      @name_win.contents_opacity = 255
      if @input_number_window != nil
        @input_number_window.contents_opacity += 24
        
      end
      if self.contents_opacity >= @op
        @fade_in = false
      end
      return
    end
    if @input_number_window != nil
      @input_number_window.update
      if Input.trigger?(Input::C)
        $game_system.se_play($data_system.decision_se)
        $game_variables[$game_temp.num_input_variable_id] =
          @input_number_window.number
        $game_map.need_refresh = true
        @input_number_window.dispose
        @input_number_window = nil
        terminate_message
      end
      return
    end
    if @contents_showing
      if $game_temp.choice_max == 0
        self.pause = true
      end
      if Input.trigger?(Input::B)
        if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
          $game_system.se_play($data_system.cancel_se)
          $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
          terminate_message
        end
      end
      if Input.trigger?(Input::C)
        if $game_temp.choice_max > 0
          $game_system.se_play($data_system.decision_se)
          $game_temp.choice_proc.call(self.index)
        end
        @op = 255
        terminate_message
      end
      return
    end
    if @fade_out == false and $game_temp.message_text != nil
      @contents_showing = true
      $game_temp.message_window_showing = true
      reset_window
      refresh
      Graphics.frame_reset
      self.visible = true
      self.contents_opacity = 0
      @name_win.contents_opacity = 0
      
      

      if @name != nil and @name != "" and @name != " "
         @name_win.visible = true
     else
         @name_win.visible = false
     end
          @name_win.contents_opacity = 0
      if @input_number_window != nil
        @input_number_window.contents_opacity = 0
      end
      #Name ======================
      
      
      @fade_in = true
      return
    end
    if self.visible
      @fade_out = true
      self.opacity -= 48
      if self.opacity == 0
        self.visible = false
        @name_win.visible = false
        @fade_out = false
        $game_temp.message_window_showing = false
      end
      return
    end
  end
# ----------------------------
  def update_cursor_rect
    if @index >= 0
      n = $game_temp.choice_start + @index
      self.cursor_rect.set(8, n * 32, @cursor_width, 32)
    else
      self.cursor_rect.empty
    end
  end
end
Old
Profile PM WWW Search
BlueCube enjoys the static noises of ten television sets simultaneously tuned to 412.84 MHzBlueCube enjoys the static noises of ten television sets simultaneously tuned to 412.84 MHz
 
 
BlueCube
 



 
Reply
Posted 2004-11-07, 10:30 AM in reply to BlueCube's post starting "http://img12.paintedover.com/uploads/12/..."
Ok all hail bluecube the true god of rpg maker using! Gotta run simpsons is on, Ill put you in the credits, note it in sec, run tvs on!
"Try not! Do or do not, there is, no try!" Quote Yoda.
Old
Profile PM WWW Search
05thouldm is neither ape nor machine; has so far settled for the in-between05thouldm is neither ape nor machine; has so far settled for the in-between
 
 
05thouldm
 
 

Bookmarks

« Previous Thread | Next Thread »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules [Forum Rules]
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -6. The time now is 11:08 PM.
'Synthesis 2' vBulletin 3.x styles and 'x79' derivative
by WetWired the Unbound and Chruser
Copyright ©2002-2008 zelaron.com
Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
This site is best seen with your eyes open.