设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 126|回复: 0

[转载发布] Simple Message Busts

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    2026-7-12 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    9071

    主题

    864

    回帖

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    58883
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    68848

    灌水之王

    发表于 2026-8-2 07:59:43 | 显示全部楼层 |阅读模式
    Simple Message Busts v1.0
    by Hollow​


    Introduction
    This script allows the use of large portraits (busts) in place of facesets in message boxes.

    Features


    • Easy to install, and easy to use.
    • Show more detailed portraits of your characters.





    How to Use:


    • Create a new script slot below Materials and above Main in the Script Editor.
    • Copy and paste the script into the new slot.
    • Adjust the settings to your preferences.
    • Save all busts to the "Faces" folder.
    • Enjoy!  
      :
    Image Requirements
    Each individual bust must be in its own file, but the bust itself may be any size. In addition, the bust's filename must include the symbol chosen in the settings. If not, the script won't recognize it as a bust, and so it won't display properly in the message box.

    Script

    Spoiler                Code:       
    1. #==============================================================================
    2. # ** Simple Message Busts
    3. #------------------------------------------------------------------------------
    4. # Engine: RPG Maker VX Ace
    5. # Author: Hollow
    6. #==============================================================================
    7. # * Instructions
    8. #------------------------------------------------------------------------------
    9. #  This script allows the use of large portraits (busts) in place of facesets
    10. # in message boxes. All busts should be saved to the "Graphics/Faces" folder,
    11. # and it's file-name must include the symbol chosen in the settings below. To
    12. # use in game, simply select the bust you wish to use in the faceset box of the
    13. # "Show Text" command. The script will do the rest.
    14. #==============================================================================
    15. # ** Settings
    16. #==============================================================================
    17. module HMB  
    18.   BUST_INDENT = 180           
    19.   # Indentation width for text when bust is shown.
    20.   BUST_OFFSET = -75           
    21.   # Bust image's offset on the x-axis.
    22.   BUST_SYMBOL = "!"           
    23.   # Symbol to differentiate busts from facesets.
    24. end # HMB
    25. #==============================================================================
    26. # ** Window_Message
    27. #==============================================================================
    28. class Window_Message < Window_Base  
    29.   #--------------------------------------------------------------------------  
    30.   # * Alias  
    31.   #--------------------------------------------------------------------------  
    32.   alias hmb_window_message_create_back_bitmap create_back_bitmap  
    33.   alias hmb_window_message_dispose dispose  
    34.   alias hmb_window_message_update_back_sprite update_back_sprite  
    35.   #--------------------------------------------------------------------------  
    36.   # * Create Background Bitmap  
    37.   #--------------------------------------------------------------------------  
    38.   def create_back_bitmap   
    39.     @bust = Sprite.new if @bust.nil?   
    40.     @bust.visible = true   
    41.     @bust.z = z + 1   
    42.     hmb_window_message_create_back_bitmap  
    43.   end  
    44.   #--------------------------------------------------------------------------  
    45.   # * Free  
    46.   #--------------------------------------------------------------------------  
    47.   def dispose   
    48.     hmb_window_message_dispose   
    49.     dispose_bust  
    50.   end  
    51.   #--------------------------------------------------------------------------  
    52.   # * Free Bust  
    53.   #--------------------------------------------------------------------------  
    54.   def dispose_bust   
    55.     @bust.dispose if !@bust.nil?   
    56.     @bust.bitmap.dispose if !@bust.bitmap.nil?  
    57.   end  
    58.   #--------------------------------------------------------------------------  
    59.   # * Update Background Sprite  
    60.   #--------------------------------------------------------------------------  
    61.   def update_back_sprite   
    62.     hmb_window_message_update_back_sprite   
    63.     update_bust if openness > 0  
    64.   end  
    65.   #--------------------------------------------------------------------------  
    66.   # * Update Bust  
    67.   #--------------------------------------------------------------------------  
    68.   def update_bust   
    69.     if $game_message.face_name.include?(HMB::BUST_SYMBOL)      
    70.       @bust.bitmap = Cache.face($game_message.face_name)      
    71.       @bust.x = HMB::BUST_OFFSET      
    72.       @bust.y = Graphics.height - @bust.height   
    73.     else      
    74.       @bust.bitmap = nil   
    75.     end   
    76.     @bust.update  
    77.   end  
    78.   #--------------------------------------------------------------------------  
    79.   # * Get New Line Position  
    80.   #--------------------------------------------------------------------------  
    81.   def new_line_x   
    82.     if $game_message.face_name.include?(HMB::BUST_SYMBOL)      
    83.       $game_message.face_name.empty? ? 0 : HMB::BUST_INDENT   
    84.     else      
    85.       $game_message.face_name.empty? ? 0 : 112   
    86.     end  
    87.   end  
    88.   #--------------------------------------------------------------------------  
    89.   # * Draw Face Graphic  
    90.   #--------------------------------------------------------------------------  
    91.   def draw_face(face_name, face_index, x, y, enabled = true)   
    92.     return if $game_message.face_name.include?(HMB::BUST_SYMBOL)   
    93.     super  
    94.   end
    95. end # Window_Message
    复制代码





    Terms
    Free for non-commercial and commercial use as long as you credit me.  


    Author's Note
    I wrote this up a little while ago for personal use but decided to share since it is pretty simple. I hope you guys can get some good use out of it!


    本贴来自国际rpgmaker官方论坛作者:Hollow处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/simple-message-busts.45897/

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-8-17 13:51 , Processed in 0.142000 second(s), 55 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表