| 赞 | 8  | 
 
| VIP | 0 | 
 
| 好人卡 | 0 | 
 
| 积分 | 68 | 
 
| 经验 | 11339 | 
 
| 最后登录 | 2025-8-30 | 
 
| 在线时间 | 340 小时 | 
 
 
 
 
 
Lv4.逐梦者 
	- 梦石
 - 5 
 
        - 星屑
 - 1833 
 
        - 在线时间
 - 340 小时
 
        - 注册时间
 - 2014-4-1
 
        - 帖子
 - 270
 
 
 
 | 
	
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员  
 
x
 
 本帖最后由 funxlww 于 2017-8-7 13:05 编辑  
 
这个是图书馆的半身像脚本#encoding:utf-8 #============================================================================== # ■ 半身像对话框 by LBQ #------------------------------------------------------------------------------ #  一个简单的半身像对话框罢了= = #------------------------------------------------------------------------------ # ■ 用法一览 #     1:如何将半身像应用到游戏中? #       ——如果想要把一个脸图替换成半身像,则需要找到这个脸图的编号,比如说拉尔 #           夫,就是Actor1的编号0,之后去在Graphics/Busts这个文件夹里面拷贝一个 #           叫做Actor1_0的图像,这个图像会被当做半身像替换原有图像。 #============================================================================== # 2013.8.25 => 修复存档不能Bug (感谢小刀 #============================================================================== $imported ||= {} $imported[:LBQ_Bust]=true   module LBQ   module Bust     FOLDER="Busts"     SUB1=[/【/,    "\\c[1]【 "]     SUB2=[/】/,    " 】\\c[0]"]       TEXT_FOR_NEXT="[next]"     TEXT_FOR_END ="[end]"       INDENT=255 #半身像的缩进   end end   module Cache   def self.busts(filename)     load_bitmap("Graphics/#{LBQ::Bust::FOLDER}/", filename)   end end       class Sprite_Bust < Sprite_Base   attr_accessor   :bust_graphics   attr_accessor   :status     def initialize(vp=nil)     super(vp)     @bust_graphics=nil     @status=:nothing   end     def slide_in     @status=:sliding_in   end     def slide_out     @status=:sliding_out     if $game_temp.do_not_slide_out       @status=:slided_out        set_pos     end   end           def set_pos(slide_in=true)     self.x=0 - self.bitmap.width     self.y=Graphics.height-self.bitmap.height       self.x=0 unless slide_in   end       def set_graphics(bust_graphics)     self.bitmap=Cache.busts(bust_graphics)   end         def update     super     case @status     when :nothing       # Do Nothing     when :sliding_in       #Slide In       self.x+=12       if self.x>=0         self.x=0         @status=:slided_in       end       when :sliding_out       self.x-=12       if self.x<= -self.bitmap.width         self.x= -self.bitmap.width         @status=:slided_out       end       #Slide Out     when :slided_in       #Slided in     when :slided_out       #Sliede out     end     end     end       class Game_Temp   attr_accessor   :bust_name   attr_accessor   :bust   attr_accessor   :have_bust   attr_accessor   :do_not_slide_out     alias lbq_bust_shot_game_message_init initialize   def initialize     lbq_bust_shot_game_message_init     @bust_name=""     @bust=nil     @have_bust=false     @do_not_slide_out=false   end         end    class Game_Message    #--------------------------------------------------------------------------   # ● 添加内容   #--------------------------------------------------------------------------   def add(text)     new_text=text.gsub(LBQ::Bust::SUB1[0],LBQ::Bust::SUB1[1])     new_text2=new_text.gsub(LBQ::Bust::SUB2[0],LBQ::Bust::SUB2[1])     if new_text2.include? LBQ::Bust::TEXT_FOR_NEXT       new_text2.delete!(LBQ::Bust::TEXT_FOR_NEXT)       $game_temp.do_not_slide_out=true     end       if new_text2.include? LBQ::Bust::TEXT_FOR_END       new_text2.delete!(LBQ::Bust::TEXT_FOR_END)       $game_temp.do_not_slide_out=false     end     @texts.push(new_text2)   end end     class Game_Interpreter   alias lbq_bust_shot_command_101 command_101   #--------------------------------------------------------------------------   # ● 显示文字   #--------------------------------------------------------------------------   def command_101     $game_temp.bust=nil       unless @params[0].empty?         if File.exist?("Graphics/#{LBQ::Bust::FOLDER}/#{@params[0]}_#{@params[1]}.png")           $game_temp.have_bust=true         else           $game_temp.have_bust=false           $game_temp.bust_name=""         end       end        unless @params[3] == 2       $game_temp.have_bust=false     end       if $game_temp.have_bust       $game_temp.bust_name="#{@params[0]}_#{@params[1]}"       $game_temp.bust=nil       $game_temp.bust=Sprite_Bust.new       $game_temp.bust.set_graphics($game_temp.bust_name)       $game_temp.bust.z=99999       unless $game_temp.do_not_slide_out         $game_temp.bust.set_pos         $game_temp.bust.slide_in       else         $game_temp.bust.set_pos(false)         $game_temp.bust.slide_in       end     end       lbq_bust_shot_command_101     if $game_temp.have_bust         $game_temp.bust.slide_out         Fiber.yield until $game_temp.bust.status==:slided_out     end     $game_temp.have_bust=false     $game_temp.bust_name=""     end       alias lbq_bust_int_update update   def update     lbq_bust_int_update     $game_temp.bust.update unless $game_temp.bust.nil?   end   end     class Window_Message   #--------------------------------------------------------------------------   # ● 获取换行位置   #--------------------------------------------------------------------------   def new_line_x      # 如果有头像     unless $game_message.face_name.empty?       value=112       value=LBQ::Bust::INDENT unless $game_temp.bust_name.empty?     # 木有     else       value=0     end     return value   end end     class Window_Message   #--------------------------------------------------------------------------   # ● 翻页处理   #--------------------------------------------------------------------------   def new_page(text, pos)     contents.clear     draw_face($game_message.face_name, $game_message.face_index, 0, 0) if $game_temp.bust_name.empty?     reset_font_settings     pos[:x] = new_line_x     pos[:y] = 0     pos[:new_x] = new_line_x     pos[:height] = calc_line_height(text)     clear_flags   end end 
 
 #encoding:utf-8  
#==============================================================================  
# ■ 半身像对话框 by LBQ  
#------------------------------------------------------------------------------  
#  一个简单的半身像对话框罢了= =  
#------------------------------------------------------------------------------  
# ■ 用法一览  
#     1:如何将半身像应用到游戏中?  
#       ——如果想要把一个脸图替换成半身像,则需要找到这个脸图的编号,比如说拉尔  
#           夫,就是Actor1的编号0,之后去在Graphics/Busts这个文件夹里面拷贝一个  
#           叫做Actor1_0的图像,这个图像会被当做半身像替换原有图像。  
#==============================================================================  
# 2013.8.25 => 修复存档不能Bug (感谢小刀  
#==============================================================================  
$imported ||= {}  
$imported[:LBQ_Bust]=true  
   
module LBQ  
  module Bust  
    FOLDER="Busts"  
    SUB1=[/【/,    "\\c[1]【 "]  
    SUB2=[/】/,    " 】\\c[0]"]  
   
    TEXT_FOR_NEXT="[next]"  
    TEXT_FOR_END ="[end]"  
   
    INDENT=255 #半身像的缩进  
  end  
end  
   
module Cache  
  def self.busts(filename)  
    load_bitmap("Graphics/#{LBQ::Bust::FOLDER}/", filename)  
  end  
end  
   
   
   
class Sprite_Bust < Sprite_Base  
  attr_accessor   :bust_graphics  
  attr_accessor   :status  
   
  def initialize(vp=nil)  
    super(vp)  
    @bust_graphics=nil  
    @status=:nothing  
  end  
   
  def slide_in  
    @status=:sliding_in  
  end  
   
  def slide_out  
    @status=:sliding_out  
    if $game_temp.do_not_slide_out  
      @status=:slided_out   
      set_pos  
    end  
  end  
   
   
   
   
  def set_pos(slide_in=true)  
    self.x=0 - self.bitmap.width  
    self.y=Graphics.height-self.bitmap.height  
   
    self.x=0 unless slide_in  
  end  
   
   
  def set_graphics(bust_graphics)  
    self.bitmap=Cache.busts(bust_graphics)  
  end  
   
   
   
  def update  
    super  
    case @status  
    when :nothing  
      # Do Nothing  
    when :sliding_in  
      #Slide In  
      self.x+=12  
      if self.x>=0  
        self.x=0  
        @status=:slided_in  
      end  
   
    when :sliding_out  
      self.x-=12  
      if self.x<= -self.bitmap.width  
        self.x= -self.bitmap.width  
        @status=:slided_out  
      end  
      #Slide Out  
    when :slided_in  
      #Slided in  
    when :slided_out  
      #Sliede out  
    end  
   
  end  
   
   
end  
   
   
   
class Game_Temp  
  attr_accessor   :bust_name  
  attr_accessor   :bust  
  attr_accessor   :have_bust  
  attr_accessor   :do_not_slide_out  
   
  alias lbq_bust_shot_game_message_init initialize  
  def initialize  
    lbq_bust_shot_game_message_init  
    @bust_name=""  
    @bust=nil  
    @have_bust=false  
    @do_not_slide_out=false  
  end  
   
   
   
   
end  
   
 class Game_Message  
   #--------------------------------------------------------------------------  
  # ● 添加内容  
  #--------------------------------------------------------------------------  
  def add(text)  
    new_text=text.gsub(LBQ::Bust::SUB1[0],LBQ::Bust::SUB1[1])  
    new_text2=new_text.gsub(LBQ::Bust::SUB2[0],LBQ::Bust::SUB2[1])  
    if new_text2.include? LBQ::Bust::TEXT_FOR_NEXT  
      new_text2.delete!(LBQ::Bust::TEXT_FOR_NEXT)  
      $game_temp.do_not_slide_out=true  
    end  
   
    if new_text2.include? LBQ::Bust::TEXT_FOR_END  
      new_text2.delete!(LBQ::Bust::TEXT_FOR_END)  
      $game_temp.do_not_slide_out=false  
    end  
    @texts.push(new_text2)  
  end  
end  
   
   
class Game_Interpreter  
  alias lbq_bust_shot_command_101 command_101  
  #--------------------------------------------------------------------------  
  # ● 显示文字  
  #--------------------------------------------------------------------------  
  def command_101  
    $game_temp.bust=nil  
      unless @params[0].empty?  
        if File.exist?("Graphics/#{LBQ::Bust::FOLDER}/#{@params[0]}_#{@params[1]}.png")  
          $game_temp.have_bust=true  
        else  
          $game_temp.have_bust=false  
          $game_temp.bust_name=""  
        end  
      end   
   
    unless @params[3] == 2  
      $game_temp.have_bust=false  
    end  
   
    if $game_temp.have_bust  
      $game_temp.bust_name="#{@params[0]}_#{@params[1]}"  
      $game_temp.bust=nil  
      $game_temp.bust=Sprite_Bust.new  
      $game_temp.bust.set_graphics($game_temp.bust_name)  
      $game_temp.bust.z=99999  
      unless $game_temp.do_not_slide_out  
        $game_temp.bust.set_pos  
        $game_temp.bust.slide_in  
      else  
        $game_temp.bust.set_pos(false)  
        $game_temp.bust.slide_in  
      end  
    end  
   
    lbq_bust_shot_command_101  
    if $game_temp.have_bust  
        $game_temp.bust.slide_out  
        Fiber.yield until $game_temp.bust.status==:slided_out  
    end  
    $game_temp.have_bust=false  
    $game_temp.bust_name=""  
   
  end  
   
   
  alias lbq_bust_int_update update  
  def update  
    lbq_bust_int_update  
    $game_temp.bust.update unless $game_temp.bust.nil?  
  end  
   
end  
   
   
class Window_Message  
  #--------------------------------------------------------------------------  
  # ● 获取换行位置  
  #--------------------------------------------------------------------------  
  def new_line_x   
    # 如果有头像  
    unless $game_message.face_name.empty?  
      value=112  
      value=LBQ::Bust::INDENT unless $game_temp.bust_name.empty?  
    # 木有  
    else  
      value=0  
    end  
    return value  
  end  
end  
   
   
class Window_Message  
  #--------------------------------------------------------------------------  
  # ● 翻页处理  
  #--------------------------------------------------------------------------  
  def new_page(text, pos)  
    contents.clear  
    draw_face($game_message.face_name, $game_message.face_index, 0, 0) if $game_temp.bust_name.empty?  
    reset_font_settings  
    pos[:x] = new_line_x  
    pos[:y] = 0  
    pos[:new_x] = new_line_x  
    pos[:height] = calc_line_height(text)  
    clear_flags  
  end  
end  
 
  
 
这个是喵呜喵5的显示名字脚本=begin ===============================================================================   对话显示姓名 By喵呜喵5 ===============================================================================   【说明】     通过在对话开头加入       \name[姓名]     可以在对话中显示姓名      ( \name[姓名] 的后面不需要换行,另外,请注意对话框高度太小时系统会强制翻页)   =end $m5script ||= {};$m5script[:M5Name20141004] = 20150627 module M5Name20141004 #============================================================================== #  设定部分 #==============================================================================     FONT = ["黑体"]     # 姓名所使用的字体     SIZE = 18     # 姓名字体的大小     VOCAB = "【%s】:"     # 姓名的显示方式,%s 表示姓名的文字,   # 例如,默认的设置下,“\name[埃里克]”将在游戏中显示为“【埃里克】:”   # 不需要的话,直接填写一个 %s 就好     COLOR = Color.new(0,0,0,255)     # 姓名的颜色,四个数值分别是R、G、B以及透明度     SET = [false,false,false,true]     # 中括号中以逗号分隔开的单词分别设置姓名是否加粗、斜体、有阴影、加边框   # 需要的话填写true,不需要的话填写false     OUT_COLOR = Color.new(255, 255, 255, 0)     # 姓名边框的颜色,四个数值分别是R、G、B以及透明度     ALIGN =  0     # 姓名的对齐方式,0,1,2分别是居左、居中、居右     NAME_X = 0     # 姓名的X坐标,数值越大姓名位置越靠近屏幕右侧     NAME_Y = 3     # 姓名的Y坐标,数值越大姓名位置越靠近屏幕底部     DISTANCE = 10     # 对话与姓名的间距,数字越大间距越大     BACK_Y = 0     # 姓名背景的Y坐标,数值越大姓名位置越靠近屏幕底部     BACK_HEIGHT = 6     # 姓名背景的高度,数字越大高度越大     COLOR1 = Color.new(255, 255, 255, 200)     # 姓名的背景框左边的颜色,四个数值分别是R、G、B以及透明度     COLOR2 = Color.new(255, 255, 255, 0)     # 姓名的背景框右边的颜色,四个数值分别是R、G、B以及透明度   # 不需要背景的话,两个颜色的透明度都填0就好了   #============================================================================== #  设定结束 #============================================================================== end class Window_Message   alias m5_20141004_convert_escape_characters convert_escape_characters   def convert_escape_characters *arg     @m5_name_20150304 = nil     result = m5_20141004_convert_escape_characters *arg     result.gsub!(/\eNAME\[(.+?)\]/i) { @m5_name_20150304 = $1; "" }     result   end   alias m5_20141004_draw_face draw_face   def draw_face *arg     if @m5_name_20150304       set = M5Name20141004               temp = Bitmap.new(self.width, self.height)       temp.font.name = set::FONT       temp.font.size = set::SIZE       temp.font.color = set::COLOR       temp.font.out_color = set::OUT_COLOR       temp.font.bold = set::SET[0]       temp.font.italic = set::SET[1]       temp.font.shadow = set::SET[2]       temp.font.outline = set::SET[3]         @m5_name_20150304 = sprintf(set::VOCAB, @m5_name_20150304)       name_height = temp.text_size(@m5_name_20150304).height             temp.draw_text(0, 0, temp.width - new_line_x, name_height,          @m5_name_20150304, set::ALIGN)       contents.gradient_fill_rect(0, set::BACK_Y,          self.width, name_height + set::BACK_HEIGHT, set::COLOR1, set::COLOR2)       contents.blt(new_line_x + set::NAME_X, set::NAME_Y, temp, temp.rect)         temp.dispose       @m5_name_20150304 = name_height     end     m5_20141004_draw_face *arg   end   alias m5_20141004_new_page new_page   def new_page(text, pos)     m5_20141004_new_page(text, pos)     if @m5_name_20150304       pos[:y] += @m5_name_20150304 + M5Name20141004::DISTANCE       @m5_name_20150304 = nil     end   end end 
 
 =begin  
===============================================================================  
  对话显示姓名 By喵呜喵5  
===============================================================================  
   
【说明】  
   
  通过在对话开头加入  
   
    \name[姓名]  
   
  可以在对话中显示姓名  
    
  ( \name[姓名] 的后面不需要换行,另外,请注意对话框高度太小时系统会强制翻页)  
   
=end  
$m5script ||= {};$m5script[:M5Name20141004] = 20150627  
module M5Name20141004  
#==============================================================================  
#  设定部分  
#==============================================================================  
   
  FONT = ["黑体"]  
   
  # 姓名所使用的字体  
   
  SIZE = 18  
   
  # 姓名字体的大小  
   
  VOCAB = "【%s】:"  
   
  # 姓名的显示方式,%s 表示姓名的文字,  
  # 例如,默认的设置下,“\name[埃里克]”将在游戏中显示为“【埃里克】:”  
  # 不需要的话,直接填写一个 %s 就好  
   
  COLOR = Color.new(0,0,0,255)  
   
  # 姓名的颜色,四个数值分别是R、G、B以及透明度  
   
  SET = [false,false,false,true]  
   
  # 中括号中以逗号分隔开的单词分别设置姓名是否加粗、斜体、有阴影、加边框  
  # 需要的话填写true,不需要的话填写false  
   
  OUT_COLOR = Color.new(255, 255, 255, 0)  
   
  # 姓名边框的颜色,四个数值分别是R、G、B以及透明度  
   
  ALIGN =  0  
   
  # 姓名的对齐方式,0,1,2分别是居左、居中、居右  
   
  NAME_X = 0  
   
  # 姓名的X坐标,数值越大姓名位置越靠近屏幕右侧  
   
  NAME_Y = 3  
   
  # 姓名的Y坐标,数值越大姓名位置越靠近屏幕底部  
   
  DISTANCE = 10  
   
  # 对话与姓名的间距,数字越大间距越大  
   
  BACK_Y = 0  
   
  # 姓名背景的Y坐标,数值越大姓名位置越靠近屏幕底部  
   
  BACK_HEIGHT = 6  
   
  # 姓名背景的高度,数字越大高度越大  
   
  COLOR1 = Color.new(255, 255, 255, 200)  
   
  # 姓名的背景框左边的颜色,四个数值分别是R、G、B以及透明度  
   
  COLOR2 = Color.new(255, 255, 255, 0)  
   
  # 姓名的背景框右边的颜色,四个数值分别是R、G、B以及透明度  
  # 不需要背景的话,两个颜色的透明度都填0就好了  
   
#==============================================================================  
#  设定结束  
#==============================================================================  
end  
class Window_Message  
  alias m5_20141004_convert_escape_characters convert_escape_characters  
  def convert_escape_characters *arg  
    @m5_name_20150304 = nil  
    result = m5_20141004_convert_escape_characters *arg  
    result.gsub!(/\eNAME\[(.+?)\]/i) { @m5_name_20150304 = $1; "" }  
    result  
  end  
  alias m5_20141004_draw_face draw_face  
  def draw_face *arg  
    if @m5_name_20150304  
      set = M5Name20141004        
   
      temp = Bitmap.new(self.width, self.height)  
      temp.font.name = set::FONT  
      temp.font.size = set::SIZE  
      temp.font.color = set::COLOR  
      temp.font.out_color = set::OUT_COLOR  
      temp.font.bold = set::SET[0]  
      temp.font.italic = set::SET[1]  
      temp.font.shadow = set::SET[2]  
      temp.font.outline = set::SET[3]  
   
      @m5_name_20150304 = sprintf(set::VOCAB, @m5_name_20150304)  
      name_height = temp.text_size(@m5_name_20150304).height        
      temp.draw_text(0, 0, temp.width - new_line_x, name_height,   
        @m5_name_20150304, set::ALIGN)  
      contents.gradient_fill_rect(0, set::BACK_Y,   
        self.width, name_height + set::BACK_HEIGHT, set::COLOR1, set::COLOR2)  
      contents.blt(new_line_x + set::NAME_X, set::NAME_Y, temp, temp.rect)  
   
      temp.dispose  
      @m5_name_20150304 = name_height  
    end  
    m5_20141004_draw_face *arg  
  end  
  alias m5_20141004_new_page new_page  
  def new_page(text, pos)  
    m5_20141004_new_page(text, pos)  
    if @m5_name_20150304  
      pos[:y] += @m5_name_20150304 + M5Name20141004::DISTANCE  
      @m5_name_20150304 = nil  
    end  
  end  
end  
 
  
冲突提示:
 
 
 |   
 
 
 
 |