您现在看到的是 66RPG.com 的资源列表,若这些对您有帮助,
希望您以充值论坛VIP点数的方式为我们捐款,
您的捐款将用于本站的三台服务器托管费,以及网通100M带宽的租金

66RPG充值页面 66RPG充值页面

最近更新记录

  • 2012-02-14 : 新增两个音乐素材
  • 2012-02-14 : 新增一个游戏资源
  • 2012-02-10 : 新增3个素材资源
  • 2012-02-09 : 新增/更新16个资源

66RPG 站内搜索

精确(推荐) 全文

本站收集内容是为了便于让游戏制作爱好者互相学习与交流,所有内容的版权与著作权均归原作者/公司所有。如进行有可能引起纠纷的使用,建议您先与原作方沟通。
日夜控制系统完美版
更新:2012-01-27 12:34:43 | 点击量:1280
日夜控制系统完美版
脚本作者:KEVIN5408
版本更新:Ver 1.0
适用版本:RPG Maker XP
时间为四个时段 晨、日、午、夜,每个时段有对应的自动开关,方便设计各时段特殊事件的启动

日夜控制系统完美版!
[功能说明:]
时间为四个时段 晨、日、午、夜,每个时段有对应的自动开关,方便设计各时段特殊
事件的启动。(比如时段为午,则会自动开启开关2号。玩家可利用此开关设计特殊事
件)
日夜控制系统总开关 默认为开关6,可控制此系统是否运作。
自设起始时间默认为变量6,比如:当变量6设定为5,表示此系统由 5:00 开始计时。
屋内/洞穴亮度恢复开关 预设为开关5。即当玩家进入屋内/洞穴需要把亮度恢复,可
利用此开关控制。

请将下面脚本内容复制/插入到 MAIN 上即可使用!
 
脚本内容

#==========================================================================
# ■ Window_Base
#--------------------------------------------------------------------------
#  游戏中全部窗口的超级程序。
#  由 Kevin Chang 制作,发布请保留原作者讯息。
#==========================================================================

class Window_Base < Window
  #------------------------------------------------------------------------
  #●日夜控制系统初始控制设定
  #------------------------------------------------------------------------
  Ctrl_daylight_sys = 6 #日夜控制系统开关编号,预设 开关6
  Ctrl_in_house = 5 #屋内/洞穴亮度恢复开关编号,预设 开关5
  Ctrl_morning = 4 #晨间作息开关编号,预设 开关4
  Ctrl_day = 1  #日间作息开关编号,预设 开关1
  Ctrl_afternoon = 2 #午间作息开关编号,预设 开关2
  Ctrl_night = 3 #夜间作息开关编号,预设 开关3
 
  $Ctrl_Set_hour = 6 #设定起始时间(小时)之变量编号,默认 变数6
  $Day_sec = 5 #时间轴秒的进制 预设为 6 进制(0~5)
  $Day_min = 5 #ㄧ小时几分钟的进制 预设为 6 进制(0~5)
  $Day_hour = 11 #每天为几小时的进制 预设为 12 小时1天(0~11)

  #------------------------------------------------------------------------
  # ● 初始化对像
  #     x      : 窗口的 X 坐标
  #     y      : 窗口的 Y 坐标
  #     width  : 窗口的宽
  #     height : 窗口的宽
  #------------------------------------------------------------------------

  def initialize(x, y, width, height)
    super()
    @windowskin_name = $game_system.windowskin_name
    self.windowskin = RPG::Cache.windowskin(@windowskin_name)
    self.x = x
    self.y = y
    self.width = width
    self.height = height
    self.z = 100
  end

  #------------------------------------------------------------------------
  #洞穴 屋内亮度正常化
  #------------------------------------------------------------------------
  def inside_normal
    if $game_switches[Ctrl_in_house] == true
      $game_screen.start_tone_change(Tone.new(0,0,0,0),5)
    end
  end
  #------------------------------------------------------------------------
  #---------------------------------------
  #时段使用图案代表
  #---------------------------------------
  def show_day #时段图案函式
    testname=$hour.to_s#将角色ID编号,转成字符串变量(to_s) 并存到testname
    bitmap=Bitmap.new("Graphics/pictures/#{testname}")#取出路径Graphics/pictures/下 testname 文件名的图
    src_rect=Rect.new(0,0,bitmap.width,bitmap.height)
    self.contents.blt(20,4,bitmap,src_rect)
  end
 
  #---------------------------------------
  #-----------------------------------------
  #天气变化
  #-----------------------------------------
  def weather_decision
    if $game_switches[Ctrl_in_house] == true
      $game_screen.weather(0, 3, 1)
    else      
      w_d = rand(100)
      if w_d >= 0 and w_d <= 80
        $game_screen.weather(0, 3, 50) #正常(类型0正常1雨天2刮风3下雪,强度,时间/10)
      else
        if w_d > 80 and w_d <= 90
          $game_screen.weather(1, 5, 50)#雨天
        else
          if w_d > 90 and w_d <= 100
            $game_screen.weather(1, 10, 500)#刮风
          end
        end
      end
    end
  end
  #---------------------------------------
  #------------各时间颜色变化---------------------
  def the_time
    case $hour
    when 11
      #self.contents.draw_text(0, 0, 120, 32, "『夜』")
      $game_screen.start_tone_change(Tone.new(-136,-136,0,136),50)
      inside_normal
      #show_day  #设定时段图案
      weather_decision
      $game_switches[Ctrl_morning] = false    #晨间作息开关
      $game_switches[Ctrl_day] = false   #日间作息开关
      $game_switches[Ctrl_afternoon] = false   #午间作息开关
      $game_switches[Ctrl_night] = true    #夜间作息开关
     
    when 0
      #self.contents.draw_text(0, 0, 120, 32, "『晨』")
      $game_screen.start_tone_change(Tone.new(0,0,85,85),50)
      inside_normal
      #show_day  #设定时段图案
      weather_decision
      $game_switches[Ctrl_morning] = true    #晨间作息开关
      $game_switches[Ctrl_day] = false   #日间作息开关
      $game_switches[Ctrl_afternoon] = false   #午间作息开关
      $game_switches[Ctrl_night] = false    #夜间作息开关
    
    when 1
      #self.contents.draw_text(0, 0, 120, 32, "『晨』")
      $game_screen.start_tone_change(Tone.new(0,0,51,68),50)
      inside_normal
      #show_day  #设定时段图案
      weather_decision
      $game_switches[Ctrl_morning] = true    #晨间作息开关
      $game_switches[Ctrl_day] = false   #日间作息开关
      $game_switches[Ctrl_afternoon] = false   #午间作息开关
      $game_switches[Ctrl_night] = false    #夜间作息开关
     
    when 2
      #self.contents.draw_text(0, 0, 120, 32, "『晨』")
      $game_screen.start_tone_change(Tone.new(0,0,0,40),50)
      inside_normal
      #show_day  #设定时段图案
      weather_decision
      $game_switches[Ctrl_morning] = true    #晨间作息开关
      $game_switches[Ctrl_day] = false   #日间作息开关
      $game_switches[Ctrl_afternoon] = false   #午间作息开关
      $game_switches[Ctrl_night] = false    #夜间作息开关
   
    when 3
      #self.contents.draw_text(0, 0, 120, 32, "『日』")
      $game_screen.start_tone_change(Tone.new(0,0,0,0),50)
      inside_normal
      #show_day  #设定时段图案
      weather_decision
      $game_switches[Ctrl_morning] = false    #晨间作息开关
      $game_switches[Ctrl_day] = true   #日间作息开关
      $game_switches[Ctrl_afternoon] = false   #午间作息开关
      $game_switches[Ctrl_night] = false    #夜间作息开关
     
    when 4
      #self.contents.draw_text(0, 0, 120, 32, "『日』")
      $game_screen.start_tone_change(Tone.new(50,0,0,0),50)
      inside_normal
      #show_day  #设定时段图案
      weather_decision
      $game_switches[Ctrl_morning] = false    #晨间作息开关
      $game_switches[Ctrl_day] = true   #日间作息开关
      $game_switches[Ctrl_afternoon] = false   #午间作息开关
      $game_switches[Ctrl_night] = false    #夜间作息开关
     
    when 5
      #self.contents.draw_text(0, 0, 120, 32, "『日』")
      $game_screen.start_tone_change(Tone.new(100,34,51,0),50)
      inside_normal
      #show_day  #设定时段图案
      weather_decision
      $game_switches[Ctrl_morning] = false    #晨间作息开关
      $game_switches[Ctrl_day] = true   #日间作息开关
      $game_switches[Ctrl_afternoon] = false   #午间作息开关
      $game_switches[Ctrl_night] = false    #夜间作息开关
     
    when 6
      #self.contents.draw_text(0, 0, 120, 32, "『午』")
      $game_screen.start_tone_change(Tone.new(100,34,-17,68),50)
      inside_normal
      #show_day  #设定时段图案
      weather_decision
      $game_switches[Ctrl_morning] = false    #晨间作息开关
      $game_switches[Ctrl_day] = false   #日间作息开关
      $game_switches[Ctrl_afternoon] = true   #午间作息开关
      $game_switches[Ctrl_night] = false    #夜间作息开关
     
    when 7
      #self.contents.draw_text(0, 0, 120, 32, "『午』")
      $game_screen.start_tone_change(Tone.new(100,34,-20,170),50)
      inside_normal
      #show_day  #设定时段图案
      weather_decision
      $game_switches[Ctrl_morning] = false    #晨间作息开关
      $game_switches[Ctrl_day] = false   #日间作息开关
      $game_switches[Ctrl_afternoon] = true   #午间作息开关
      $game_switches[Ctrl_night] = false    #夜间作息开关
     
    when 8
      #self.contents.draw_text(0, 0, 120, 32, "『午』")
      $game_screen.start_tone_change(Tone.new(68,0,-17,204),50)
      inside_normal
      #show_day  #设定时段图案
      weather_decision
      $game_switches[Ctrl_morning] = false    #晨间作息开关
      $game_switches[Ctrl_day] = false   #日间作息开关
      $game_switches[Ctrl_afternoon] = true   #午间作息开关
      $game_switches[Ctrl_night] = false    #夜间作息开关
    
    when 9
      #self.contents.draw_text(0, 0, 120, 32, "『夜』")
      $game_screen.start_tone_change(Tone.new(0,0,0,204),50)
      inside_normal
      #show_day  #设定时段图案
      weather_decision
      $game_switches[Ctrl_morning] = false    #晨间作息开关
      $game_switches[Ctrl_day] = false   #日间作息开关
      $game_switches[Ctrl_afternoon] = false   #午间作息开关
      $game_switches[Ctrl_night] = true    #夜间作息开关
     
    when 10
      #self.contents.draw_text(0, 0, 120, 32, "『夜』")
      $game_screen.start_tone_change(Tone.new(-51,-51,-51,170),50)
      inside_normal
      #show_day  #设定时段图案
      weather_decision
      $game_switches[Ctrl_morning] = false    #晨间作息开关
      $game_switches[Ctrl_day] = false   #日间作息开关
      $game_switches[Ctrl_afternoon] = false   #午间作息开关
      $game_switches[Ctrl_night] = true    #夜间作息开关
     
    end #end case
  end
end
#==========================================================================
#==========================================================================
# ■ Window_DayLight
#--------------------------------------------------------------------------
#    显示日夜/时间的窗口。
#==========================================================================

class Window_DayLight < Window_Base
  #--------------------------------------------
  #时间轴的进制
  #--------------------------------------------
  $sec_count = $Day_sec#5 #时间轴的进制 预设为 5 进制
  $min_count = $Day_min#5 #ㄧ小时几分钟的进制 预设为5进制
  $hour_count = $Day_hour#12 #每天为几小时的进制 预设为12小时1天

  #------------------------------------------------------------------------
  # ● 初始化窗口
  #------------------------------------------------------------------------
  def initialize
    super(0, 0, 160, 60) #(X,Y,宽,高)
    self.contents = Bitmap.new(width - 32, height - 32)
    $hour = 0
    $set_hour = $game_variables[$Ctrl_Set_hour]
    refresh
  end
  #------------------------------------------------------------------------
  # ●  初始化对象
  #------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.back_opacity = 0 #背景透明
    self.opacity = 0 #外框透明
    if $hour > $hour_count #当计时时间超过实际时间
      Graphics.frame_count = 0 #定时器归零
      $set_hour = 0
    end
    if $game_switches[Ctrl_daylight_sys] == false
      @color = $game_variables[11] #设定变量11的值,来改变字时间体颜色
      self.contents.font.color = text_color(@color)
      @total_sec = Graphics.frame_count / Graphics.frame_rate
      $hour =    (@total_sec / $sec_count /$sec_count %$hour_count) + $set_hour
      $min = @total_sec / $sec_count % $min_count
      $sec = @total_sec % $sec_count
      text = sprintf("T:%02d:%02d", $hour, $min)
      #self.contents.font.color = Color.new(255,255,255,255)#设定颜色(R,G,B,亮度)
      self.contents.draw_text(25, 5, 100, 20, text, 2)#(x,y宽,高,变量,字型颜色)
      the_time
    end
  end 
  #------------------------------------------------------------------------
  # ● 刷新
  #------------------------------------------------------------------------
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec           
    end
  end
end
#--------------------------------------------------------------------------#==========================================================================
# ■ Scene_Map
#--------------------------------------------------------------------------
#  处理地图画面的程序。
#==========================================================================

class Scene_Map
  def main
    # 生成游戏时间窗口
    @daylight_window = Window_DayLight.new
    @daylight_window.x = 450
    @daylight_window.y = 0
    # 生成活动块
    @spriteset = Spriteset_Map.new
    # 生成讯息窗口
    @message_window = Window_Message.new
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入讯息
      Input.update
      # 刷新画面
      update
      # 如果画面切换的话就中断循环
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
    # 释放活动块
    @spriteset.dispose
    @daylight_window.dispose #释放时间窗口
    # 释放讯息窗口
    @message_window.dispose
    # 标题画面切换中的情况下
    if $scene.is_a?(Scene_Title)
      # 淡入淡出画面
      Graphics.transition
      Graphics.freeze
    end
  end
 
  alias daylight_sys_update update
  def update
    @daylight_window.refresh #刷新时间显示
    daylight_sys_update
  end

end

搜到一些相关内容,看看有没有有用的:

教程 : VX地图名自动显示教程 : [PS0]线形视野系统教程 : VX双远景图系统(XP移植)教程 : vx新菜单样式教程 : vx新截图存档教程 : 区域控制战斗背景图教程 : 自定义战斗渐变图教程 : 物品颜色描绘脚本教程 : [PS0]物品颜色描绘教程 : 得失物品金钱提示(云版)教程 : VX使用单张头像图档教程 : 用中文显示数值教程 : 让VX支持单张的图标素材 : 《炼金术士梅露露~亚兰德的炼金..教程 : 显示ARPG用的窗口教程 : 新人入门录像1 初识RMXP游戏 : 赠予新手们的修改脚本的教程教程 : 大地图制作教程教程 : KKME整合系统教程 : 2种敌人战斗新的死法- -||..教程 : 人物能力状态图的多边形网状绘制教程 : 美化的动态选项窗口游戏 : 《OZ大乱斗:梦想与传说的延续..教程 : PS去行走图底色教程教程 : 日夜控制系统完美版教程 : 神秘羊皮纸教程 : RM反沉迷系统教程 : 动态选项光标教程 : 用流星当板擦,擦出Title标..教程 : 数据包的制作、加密以及解压运行

没找到你想要的?可以使用搜索功能 ↓

66RPG 站内搜索

精确(推荐) 全文

评论啦