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

[转载发布] Multiple Windowskins v. 1.0

[复制链接]
累计送礼:
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 17:16:16 | 显示全部楼层 |阅读模式
    Multiple Windowskins v. 1.0

    Crimson Rose

    Introduction

    This script is basically what the name implies: A script that allows you to use multiple windowskins in the same game. It has options for changing every default window, and custom windows will use the default skin.

    Screenshots

    [url=https://forums.rpgmakerweb.com/attachments/multiple-windowskins-example-png.15086/][/url]

    How To Use

    Just plug in the script and use the configuration to change the windowskins to your liking.

    Spoiler############################################################Multiple Windowskins v 1.0#by Crimson Rose###########################################################module CR_MultipleWindowSkins    #The Skin that is used for any windows other than the ones listed below.  #Included for compatibility. Do not remove, but feel free to change the  #windowskin given.  DEFAULT_WINDOW_SKIN = "Window"    #If this is true, then you don't need to bother with the next array.  ALL_DEFAULT = false    $windowskins = [                    "Window", #Help Window                    "Window", #Gold Window                    "Window2", #Menu Command                    "Window", #Window_MenuStatus                    "Window", #Window_MenuActor                    "Window", #Window_ItemCategory                    "Window", #Window_ItemList                    "Window", #Window_SkillCommand                    "Window", #Window_SkillStatus                    "Window", #Window_SkillList                    "Window", #Window_EquipStatus                    "Window", #Window_EquipCommand                    "Window", #Window_EquipSlot                    "Window", #Window_EquipItem                    "Window", #Window_Status                    "Window", #Window_SaveFile                    "Window", #Window_ShopCommand                    "Window", #Window_ShopBuy                    "Window", #Window_ShopSell                    "Window", #Window_ShopNumber                    "Window", #Window_ShopStatus                    "Window", #Window_NameEdit                    "Window", #Window_NameInput                    "Window", #Window_ChoiceList                    "Window", #Window_NumberInput                    "Window", #Window_KeyItem                    "Window", #Window_Message                    "Window", #Window_ScrollText                    "Window", #Window_MapName                    "Window", #Window_BattleLog                    "Window", #Window_PartyCommand                    "Window", #Window_ActorCommand                    "Window", #Window_BattleStatus                    "Window", #Window_BattleActor                    "Window", #Window_BattleEnemy                    "Window", #Window_BattleSkill                    "Window", #Window_BattleItem                    "Window", #Window_TitleCommand                    "Window", #Window_GameEnd                    "Window"  #Skin no. 39                 ]                    #If you wish to add more for custom windows, just   #extend the array to include them and make sure to   #pass the name of the windowskin to the Window's parent.      #The last element in this array is 38, so any more windows   #that you would add would be greater or equal to 39.      #Just add your windowskin to the array, and when calling super in your   #new window, make sure to pass the following variable at the end of the other   #variables you're giving:      #CR_MultipleWindowSkins::getSkin(the windowskin position in the array)                                    ##### DO NOT EDIT PAST THIS POINT UNLESS YOU KNOW WHAT YOU ARE DOING!                 def self.getSkin(num)    return $windowskins[num] unless ALL_DEFAULT    return DEFAULT_WINDOW_SKIN  endend               class Window_Base < Window  alias CR_MultipleWindowSkins_WindowBase_Initialize initialize  def initialize(x, y, width, height, skin = CR_MultipleWindowSkins:
    EFAULT_WINDOW_SKIN)    CR_MultipleWindowSkins_WindowBase_Initialize(x,y,width,height)    self.windowskin = Cache.system(skin)  end  endclass Window_Selectable < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #-------------------------------------------------------------------------  def initialize(x, y, width, height, skin=CR_MultipleWindowSkins:
    EFAULT_WINDOW_SKIN)    super(x,y,width,height,skin)    @index = -1    @handler = {}    @cursor_fix = false    @cursor_all = false    update_padding    deactivate  endendclass Window_Command < Window_Selectable  def initialize(x, y, skin = CR_MultipleWindowSkins:
    EFAULT_WINDOW_SKIN)        clear_command_list    make_command_list    super(x,y,window_width,window_height,skin)    refresh    select(0)    activate          endend###################################################class Window_Help < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(line_number = 2, skin = CR_MultipleWindowSkins::getSkin(0))    super(0, 0, Graphics.width, fitting_height(line_number), skin)  endendclass Window_Gold < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(skin = CR_MultipleWindowSkins::getSkin(1))    super(0, 0, window_width, fitting_height(1),skin)    refresh  endendclass Window_MenuCommand < Window_Command  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(skin = CR_MultipleWindowSkins::getSkin(2))    super(0, 0, skin)    select_last  endendclass Window_MenuStatus < Window_Selectable  #--------------------------------------------------------------------------  # * Public Instance Variables  #--------------------------------------------------------------------------  attr_reader   
    ending_index            # Pending position (for formation)  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(x, y, skin = CR_MultipleWindowSkins::getSkin(3))    super(x, y, window_width, window_height, skin)    @pending_index = -1    refresh  endendclass Window_MenuActor < Window_MenuStatus  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize (skin = CR_MultipleWindowSkins::getSkin(4))    super(0, 0, skin)    self.visible = false  endendclass Window_ItemCategory < Window_HorzCommand  def initialize(skin = CR_MultipleWindowSkins::getSkin(5))    super(0, 0, skin)  endendclass Window_ItemList < Window_Selectable  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(x, y, width, height, skin = CR_MultipleWindowSkins::getSkin(6))    super(x,y,width,height, skin)    @category = :none    @data = []  endendclass Window_SkillCommand < Window_Command  def initialize(x, y, skin = CR_MultipleWindowSkins::getSkin(7))    super(x, y, skin)    @actor = nil  endendclass Window_SkillStatus < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(x, y, skin = CR_MultipleWindowSkins::getSkin(8))    super(x, y, window_width, fitting_height(4), skin)    @actor = nil  endendclass Window_SkillList < Window_Selectable  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(x, y, width, height, skin = CR_MultipleWindowSkins::getSkin(9))    super(x,y,width,height, skin)    @actor = nil    @stype_id = 0    @data = []  endendclass Window_EquipStatus < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(x, y, skin = CR_MultipleWindowSkins::getSkin(10))    super(x, y, window_width, window_height, skin)    @actor = nil    @temp_actor = nil    refresh  endendclass Window_EquipCommand < Window_HorzCommand  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(x, y, width, skin=CR_MultipleWindowSkins::getSkin(11))    @window_width = width    super(x, y, skin)  endendclass Window_EquipSlot < Window_Selectable  def initialize(x, y, width, skin = CR_MultipleWindowSkins::getSkin(12))    super(x, y, width, window_height, skin)    @actor = nil    refresh  endendclass Window_EquipItem < Window_ItemList  def initialize(x, y, width, height, skin = CR_MultipleWindowSkins::getSkin(13))    super(x,y,width,height, skin)    @actor = nil    @slot_id = 0  endendclass Window_Status < Window_Selectable  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(actor, skin=CR_MultipleWindowSkins::getSkin(14))    super(0, 0, Graphics.width, Graphics.height, skin)    @actor = actor    refresh    activate  endendclass Window_SaveFile < Window_Base  def initialize(height, index, skin = CR_MultipleWindowSkins::getSkin(15))    super(0, index * height, Graphics.width, height, skin)    @file_index = index    refresh    @selected = false  endendclass Window_ShopCommand < Window_HorzCommand  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(window_width, purchase_only, skin = CR_MultipleWindowSkins::getSkin(16))    @window_width = window_width    @purchase_only = purchase_only    super(0, 0, skin)  endendclass Window_ShopBuy < Window_Selectable  def initialize(x, y, height, shop_goods, skin = CR_MultipleWindowSkins::getSkin(17))    super(x, y, window_width, height, skin)    @shop_goods = shop_goods    @money = 0    refresh    select(0)  endendclass Window_ShopSell < Window_ItemList  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(x, y, width, height, skin = CR_MultipleWindowSkins::getSkin(18))    super(x, y, width, height, skin)  endendclass Window_ShopNumber < Window_Selectable  def initialize(x, y, height, skin = CR_MultipleWindowSkins::getSkin(19))    super(x, y, window_width, height, skin)    @item = nil    @max = 1    @price = 0    @number = 1    @currency_unit = Vocab::currency_unit  endendclass Window_ShopStatus < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(x, y, width, height, skin = CR_MultipleWindowSkins::getSkin(20))    super(x, y, width, height, skin)    @item = nil    @page_index = 0    refresh  endendclass Window_NameEdit < Window_Base  def initialize(actor, max_char, skin = CR_MultipleWindowSkins::getSkin(21))    x = (Graphics.width - 360) / 2    y = (Graphics.height - (fitting_height(4) + fitting_height(9) + 8)) / 2    super(x, y, 360, fitting_height(4), skin)    @actor = actor    @max_char = max_char    @default_name = @name = actor.name[0, @max_char]    @index = @name.size    deactivate    refresh  endendclass Window_NameInput < Window_Selectable  def initialize(edit_window, skin = CR_MultipleWindowSkins::getSkin(22))    super(edit_window.x, edit_window.y + edit_window.height + 8,          edit_window.width, fitting_height(9), skin)    @edit_window = edit_window    @page = 0    @index = 0    refresh    update_cursor    activate  endendclass Window_ChoiceList < Window_Command  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(message_window,skin=CR_MultipleWindowSkins::getSkin(23))    @message_window = message_window    super(0, 0, skin)    self.openness = 0    deactivate  endendclass Window_NumberInput < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(message_window, skin=CR_MultipleWindowSkins::getSkin(24))    @message_window = message_window    super(0, 0, 0, 0, skin)    @number = 0    @digits_max = 1    @index = 0    self.openness = 0    deactivate  endendclass Window_KeyItem < Window_ItemList  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(message_window, skin=CR_MultipleWindowSkins::getSkin(25))    @message_window = message_window    super(0, 0, Graphics.width, fitting_height(4), skin)    self.openness = 0    deactivate    set_handler
    ok,     method
    on_ok))    set_handler
    cancel, method
    on_cancel))  endendclass Window_Message < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(skin = CR_MultipleWindowSkins::getSkin(26))    super(0, 0, window_width, window_height, skin)    self.z = 200    self.openness = 0    create_all_windows    create_back_bitmap    create_back_sprite    clear_instance_variables  endendclass Window_ScrollText < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(skin = CR_MultipleWindowSkins::getSkin(27))    super(0, 0, Graphics.width, Graphics.height, skin)    self.opacity = 0    self.arrows_visible = false    hide  endendclass Window_MapName < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(skin = CR_MultipleWindowSkins::getSkin(28))    super(0, 0, window_width, fitting_height(1), skin)    self.opacity = 0    self.contents_opacity = 0    @show_count = 0    refresh  endendclass Window_BattleLog < Window_Selectable  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(skin = CR_MultipleWindowSkins::getSkin(29))    super(0, 0, window_width, window_height, skin)    self.z = 200    self.opacity = 0    @lines = []    @num_wait = 0    create_back_bitmap    create_back_sprite    refresh  endendclass Window_PartyCommand < Window_Command  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(skin = CR_MultipleWindowSkins::getSkin(30))    super(0, 0, skin)    self.openness = 0    deactivate  endendclass Window_ActorCommand < Window_Command  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(skin = CR_MultipleWindowSkins::getSkin(31))    super(0, 0, skin)    self.openness = 0    deactivate    @actor = nil  endendclass Window_BattleStatus < Window_Selectable  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(skin = CR_MultipleWindowSkins::getSkin(32))    super(0, 0, window_width, window_height, skin)    refresh    self.openness = 0  endendclass Window_BattleActor < Window_BattleStatus  #--------------------------------------------------------------------------  # * Object Initialization  #     info_viewport : Viewport for displaying information  #--------------------------------------------------------------------------  def initialize(info_viewport, skin = CR_MultipleWindowSkins::getSkin(33))    super(skin)    self.y = info_viewport.rect.y    self.visible = false    self.openness = 255    @info_viewport = info_viewport  endendclass Window_BattleEnemy < Window_Selectable  #--------------------------------------------------------------------------  # * Object Initialization  #     info_viewport : Viewport for displaying information  #--------------------------------------------------------------------------  def initialize(info_viewport, skin = CR_MultipleWindowSkins::getSkin(34))    super(0, info_viewport.rect.y, window_width, fitting_height(4), skin)    refresh    self.visible = false    @info_viewport = info_viewport  endendclass Window_BattleSkill < Window_SkillList  #--------------------------------------------------------------------------  # * Object Initialization  #     info_viewport : Viewport for displaying information  #--------------------------------------------------------------------------  def initialize(help_window, info_viewport, skin=CR_MultipleWindowSkins::getSkin(35))    y = help_window.height    super(0, y, Graphics.width, info_viewport.rect.y - y, skin)    self.visible = false    @help_window = help_window    @info_viewport = info_viewport  endendclass Window_BattleItem < Window_ItemList  #--------------------------------------------------------------------------  # * Object Initialization  #     info_viewport : Viewport for displaying information  #--------------------------------------------------------------------------  def initialize(help_window, info_viewport, skin = CR_MultipleWindowSkins::getSkin(36))    y = help_window.height    super(0, y, Graphics.width, info_viewport.rect.y - y, skin)    self.visible = false    @help_window = help_window    @info_viewport = info_viewport  endendclass Window_TitleCommand < Window_Command  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(skin = CR_MultipleWindowSkins::getSkin(37))    super(0, 0, skin)    update_placement    select_symbol
    continue) if continue_enabled    self.openness = 0    open  end  endclass Window_GameEnd < Window_Command  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize(skin = CR_MultipleWindowSkins::getSkin(38))    super(0, 0, skin)    update_placement    self.openness = 0    open  endend



    Credit

    Just me.

    Terms of Use

    Make sure you credit me. You can use in free or commercial games, though with commercial games I would like a free copy of the finished result.


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

    本帖子中包含更多资源

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

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

    使用道具 举报

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

    本版积分规则

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

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2026-8-17 09:31 , Processed in 0.135464 second(s), 53 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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