设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2723|回复: 14
打印 上一主题 下一主题

[已经过期] 关于日夜控制系统的问题~

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2013-4-5
帖子
10
跳转到指定楼层
1
发表于 2013-4-18 04:18:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
额,小弟是新手~望大神帮忙~最近下了一个日夜控制系统的脚本~(日夜控制系统可以模拟时间流逝效果~可以将一天分为几个重要的时间段,比如夜晚白天中午之类的,并且每个时间段拥有一个开关~到了特定的时间段对应的开关会自动开启关闭,可利用产生特殊效果)付地址
http://www.66rpg.com/articles/3333
但是问题是,日夜控制这个系统可以生效~但是对应的开关完全没作用~是为什么。
甩图举个例子,在2楼~

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2013-4-5
帖子
10
2
 楼主| 发表于 2013-4-18 04:43:33 | 只看该作者
这个附件的图片是关于开关的说明~到了特定时间段开启的开关,系统自己设定的是开关123456,时间流动可以顺序打开1234~
但是我这样设置,等时间到了夜晚到这个树这儿,会碰见女主角,其他时间不出现~但是设置了就不会出现效果~ 请问下这是我设置错了还是什么原因?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
182 小时
注册时间
2011-2-17
帖子
518
3
发表于 2013-4-18 06:29:58 | 只看该作者
xuhuanfm 发表于 2013-4-18 04:43
这个附件的图片是关于开关的说明~到了特定时间段开启的开关,系统自己设定的是开关123456,时间流动可以顺 ...

在游戏测试时按F9 看看预设开关是否打开

评分

参与人数 1星屑 +100 收起 理由
hys111111 + 100 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2013-4-5
帖子
10
4
 楼主| 发表于 2013-4-18 12:05:01 | 只看该作者
谢谢楼上~我之后也想到了~试了试~但是另一个貌似BUG发生了~如果我不切入F9查看开关的话系统不会触发任何日夜系统的开关变化产生的事件,但是一旦切入F9查看了开关信息之后开关触发的事件就正常~这是BUG么还是什么额?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
182 小时
注册时间
2011-2-17
帖子
518
5
发表于 2013-4-18 12:14:34 | 只看该作者
xuhuanfm 发表于 2013-4-18 12:05
谢谢楼上~我之后也想到了~试了试~但是另一个貌似BUG发生了~如果我不切入F9查看开关的话系统不会触发任何日 ...

你仅仅是查看吗?= = 有没有手动更改..
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

6
发表于 2013-4-18 12:33:43 | 只看该作者
缺少$game_map.need_refresh=true
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2013-4-5
帖子
10
7
 楼主| 发表于 2013-4-18 12:44:21 | 只看该作者
亿万星辰 发表于 2013-4-18 12:33
缺少$game_map.need_refresh=true

$game_map.need_refresh=true 麻烦这个脚本是插入到哪儿的啊
  如果我按F9查看的话感觉开关就像不执行那种   只有查看之后才会生效,查看时是正常数据,但是不查看开关就不执行
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2013-4-5
帖子
10
8
 楼主| 发表于 2013-4-18 12:45:48 | 只看该作者
没有手动更改~日夜控制系统他自动更改~但是不按F9切入他就感觉开关没生效
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

9
发表于 2013-4-18 14:22:42 | 只看该作者
  1. #==========================================================================
  2. # ■ Window_Base
  3. #--------------------------------------------------------------------------
  4. #  游戏中全部窗口的超级程序。
  5. #  由 Kevin Chang 制作,发布请保留原作者讯息。
  6. #==========================================================================

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

  22.   #------------------------------------------------------------------------
  23.   # ● 初始化对像
  24.   #     x      : 窗口的 X 坐标
  25.   #     y      : 窗口的 Y 坐标
  26.   #     width  : 窗口的宽
  27.   #     height : 窗口的宽
  28.   #------------------------------------------------------------------------

  29.   def initialize(x, y, width, height)
  30.     super()
  31.     @windowskin_name = $game_system.windowskin_name
  32.     self.windowskin = RPG::Cache.windowskin(@windowskin_name)
  33.     self.x = x
  34.     self.y = y
  35.     self.width = width
  36.     self.height = height
  37.     self.z = 100
  38.   end

  39.   #------------------------------------------------------------------------
  40.   #洞穴 屋内亮度正常化
  41.   #------------------------------------------------------------------------
  42.   def inside_normal
  43.     if $game_switches[Ctrl_in_house] == true
  44.       $game_screen.start_tone_change(Tone.new(0,0,0,0),5)
  45.     end
  46.   end
  47.   #------------------------------------------------------------------------
  48.   #---------------------------------------
  49.   #时段使用图案代表
  50.   #---------------------------------------
  51.   def show_day #时段图案函式
  52.     testname=$hour.to_s#将角色ID编号,转成字符串变量(to_s) 并存到testname
  53.     bitmap=Bitmap.new("Graphics/pictures/#{testname}")#取出路径Graphics/pictures/下 testname 文件名的图
  54.     src_rect=Rect.new(0,0,bitmap.width,bitmap.height)
  55.     self.contents.blt(20,4,bitmap,src_rect)
  56.   end
  57.   
  58.   #---------------------------------------
  59.   #-----------------------------------------
  60.   #天气变化
  61.   #-----------------------------------------
  62.   def weather_decision
  63.     if $game_switches[Ctrl_in_house] == true
  64.       $game_screen.weather(0, 3, 1)
  65.     else      
  66.       w_d = rand(100)
  67.       if w_d >= 0 and w_d <= 80
  68.         $game_screen.weather(0, 3, 50) #正常(类型0正常1雨天2刮风3下雪,强度,时间/10)
  69.       else
  70.         if w_d > 80 and w_d <= 90
  71.           $game_screen.weather(1, 5, 50)#雨天
  72.         else
  73.           if w_d > 90 and w_d <= 100
  74.             $game_screen.weather(1, 10, 500)#刮风
  75.           end
  76.         end
  77.       end
  78.     end
  79.   end
  80.   #---------------------------------------
  81.   #------------各时间颜色变化---------------------
  82.   def the_time
  83.     case $hour
  84.     when 11
  85.       #self.contents.draw_text(0, 0, 120, 32, "『夜』")
  86.       $game_screen.start_tone_change(Tone.new(-136,-136,0,136),50)
  87.       inside_normal
  88.       #show_day  #设定时段图案
  89.       weather_decision
  90.       $game_switches[Ctrl_morning] = false    #晨间作息开关
  91.       $game_switches[Ctrl_day] = false   #日间作息开关
  92.       $game_switches[Ctrl_afternoon] = false   #午间作息开关
  93.       $game_switches[Ctrl_night] = true    #夜间作息开关
  94.       
  95.     when 0
  96.       #self.contents.draw_text(0, 0, 120, 32, "『晨』")
  97.       $game_screen.start_tone_change(Tone.new(0,0,85,85),50)
  98.       inside_normal
  99.       #show_day  #设定时段图案
  100.       weather_decision
  101.       $game_switches[Ctrl_morning] = true    #晨间作息开关
  102.       $game_switches[Ctrl_day] = false   #日间作息开关
  103.       $game_switches[Ctrl_afternoon] = false   #午间作息开关
  104.       $game_switches[Ctrl_night] = false    #夜间作息开关
  105.      
  106.     when 1
  107.       #self.contents.draw_text(0, 0, 120, 32, "『晨』")
  108.       $game_screen.start_tone_change(Tone.new(0,0,51,68),50)
  109.       inside_normal
  110.       #show_day  #设定时段图案
  111.       weather_decision
  112.       $game_switches[Ctrl_morning] = true    #晨间作息开关
  113.       $game_switches[Ctrl_day] = false   #日间作息开关
  114.       $game_switches[Ctrl_afternoon] = false   #午间作息开关
  115.       $game_switches[Ctrl_night] = false    #夜间作息开关
  116.       
  117.     when 2
  118.       #self.contents.draw_text(0, 0, 120, 32, "『晨』")
  119.       $game_screen.start_tone_change(Tone.new(0,0,0,40),50)
  120.       inside_normal
  121.       #show_day  #设定时段图案
  122.       weather_decision
  123.       $game_switches[Ctrl_morning] = true    #晨间作息开关
  124.       $game_switches[Ctrl_day] = false   #日间作息开关
  125.       $game_switches[Ctrl_afternoon] = false   #午间作息开关
  126.       $game_switches[Ctrl_night] = false    #夜间作息开关
  127.    
  128.     when 3
  129.       #self.contents.draw_text(0, 0, 120, 32, "『日』")
  130.       $game_screen.start_tone_change(Tone.new(0,0,0,0),50)
  131.       inside_normal
  132.       #show_day  #设定时段图案
  133.       weather_decision
  134.       $game_switches[Ctrl_morning] = false    #晨间作息开关
  135.       $game_switches[Ctrl_day] = true   #日间作息开关
  136.       $game_switches[Ctrl_afternoon] = false   #午间作息开关
  137.       $game_switches[Ctrl_night] = false    #夜间作息开关
  138.       
  139.     when 4
  140.       #self.contents.draw_text(0, 0, 120, 32, "『日』")
  141.       $game_screen.start_tone_change(Tone.new(50,0,0,0),50)
  142.       inside_normal
  143.       #show_day  #设定时段图案
  144.       weather_decision
  145.       $game_switches[Ctrl_morning] = false    #晨间作息开关
  146.       $game_switches[Ctrl_day] = true   #日间作息开关
  147.       $game_switches[Ctrl_afternoon] = false   #午间作息开关
  148.       $game_switches[Ctrl_night] = false    #夜间作息开关
  149.       
  150.     when 5
  151.       #self.contents.draw_text(0, 0, 120, 32, "『日』")
  152.       $game_screen.start_tone_change(Tone.new(100,34,51,0),50)
  153.       inside_normal
  154.       #show_day  #设定时段图案
  155.       weather_decision
  156.       $game_switches[Ctrl_morning] = false    #晨间作息开关
  157.       $game_switches[Ctrl_day] = true   #日间作息开关
  158.       $game_switches[Ctrl_afternoon] = false   #午间作息开关
  159.       $game_switches[Ctrl_night] = false    #夜间作息开关
  160.       
  161.     when 6
  162.       #self.contents.draw_text(0, 0, 120, 32, "『午』")
  163.       $game_screen.start_tone_change(Tone.new(100,34,-17,68),50)
  164.       inside_normal
  165.       #show_day  #设定时段图案
  166.       weather_decision
  167.       $game_switches[Ctrl_morning] = false    #晨间作息开关
  168.       $game_switches[Ctrl_day] = false   #日间作息开关
  169.       $game_switches[Ctrl_afternoon] = true   #午间作息开关
  170.       $game_switches[Ctrl_night] = false    #夜间作息开关
  171.       
  172.     when 7
  173.       #self.contents.draw_text(0, 0, 120, 32, "『午』")
  174.       $game_screen.start_tone_change(Tone.new(100,34,-20,170),50)
  175.       inside_normal
  176.       #show_day  #设定时段图案
  177.       weather_decision
  178.       $game_switches[Ctrl_morning] = false    #晨间作息开关
  179.       $game_switches[Ctrl_day] = false   #日间作息开关
  180.       $game_switches[Ctrl_afternoon] = true   #午间作息开关
  181.       $game_switches[Ctrl_night] = false    #夜间作息开关
  182.       
  183.     when 8
  184.       #self.contents.draw_text(0, 0, 120, 32, "『午』")
  185.       $game_screen.start_tone_change(Tone.new(68,0,-17,204),50)
  186.       inside_normal
  187.       #show_day  #设定时段图案
  188.       weather_decision
  189.       $game_switches[Ctrl_morning] = false    #晨间作息开关
  190.       $game_switches[Ctrl_day] = false   #日间作息开关
  191.       $game_switches[Ctrl_afternoon] = true   #午间作息开关
  192.       $game_switches[Ctrl_night] = false    #夜间作息开关
  193.      
  194.     when 9
  195.       #self.contents.draw_text(0, 0, 120, 32, "『夜』")
  196.       $game_screen.start_tone_change(Tone.new(0,0,0,204),50)
  197.       inside_normal
  198.       #show_day  #设定时段图案
  199.       weather_decision
  200.       $game_switches[Ctrl_morning] = false    #晨间作息开关
  201.       $game_switches[Ctrl_day] = false   #日间作息开关
  202.       $game_switches[Ctrl_afternoon] = false   #午间作息开关
  203.       $game_switches[Ctrl_night] = true    #夜间作息开关
  204.       
  205.     when 10
  206.       #self.contents.draw_text(0, 0, 120, 32, "『夜』")
  207.       $game_screen.start_tone_change(Tone.new(-51,-51,-51,170),50)
  208.       inside_normal
  209.       #show_day  #设定时段图案
  210.       weather_decision
  211.       $game_switches[Ctrl_morning] = false    #晨间作息开关
  212.       $game_switches[Ctrl_day] = false   #日间作息开关
  213.       $game_switches[Ctrl_afternoon] = false   #午间作息开关
  214.       $game_switches[Ctrl_night] = true    #夜间作息开关
  215.       
  216.     end #end case
  217.     $game_map.need_refresh = true
  218.   end
  219. end
  220. #==========================================================================
  221. #==========================================================================
  222. # ■ Window_DayLight
  223. #--------------------------------------------------------------------------
  224. #    显示日夜/时间的窗口。
  225. #==========================================================================

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

  233.   #------------------------------------------------------------------------
  234.   # ● 初始化窗口
  235.   #------------------------------------------------------------------------
  236.   def initialize
  237.     super(0, 0, 160, 60) #(X,Y,宽,高)
  238.     self.contents = Bitmap.new(width - 32, height - 32)
  239.     $hour = 0
  240.     $set_hour = $game_variables[$Ctrl_Set_hour]
  241.     refresh
  242.   end
  243.   #------------------------------------------------------------------------
  244.   # ●  初始化对象
  245.   #------------------------------------------------------------------------
  246.   def refresh
  247.     self.contents.clear
  248.     self.back_opacity = 0 #背景透明
  249.     self.opacity = 0 #外框透明
  250.     if $hour > $hour_count #当计时时间超过实际时间
  251.       Graphics.frame_count = 0 #定时器归零
  252.       $set_hour = 0
  253.     end
  254.     if $game_switches[Ctrl_daylight_sys] == false
  255.       [url=home.php?mod=space&uid=10453]@color[/url] = $game_variables[11] #设定变量11的值,来改变字时间体颜色
  256.       self.contents.font.color = text_color(@color)
  257.       @total_sec = Graphics.frame_count / Graphics.frame_rate
  258.       $hour =    (@total_sec / $sec_count /$sec_count %$hour_count) + $set_hour
  259.       $min = @total_sec / $sec_count % $min_count
  260.       $sec = @total_sec % $sec_count
  261.       text = sprintf("T:%02d:%02d", $hour, $min)
  262.       #self.contents.font.color = Color.new(255,255,255,255)#设定颜色(R,G,B,亮度)
  263.       self.contents.draw_text(25, 5, 100, 20, text, 2)#(x,y宽,高,变量,字型颜色)
  264.       the_time
  265.     end
  266.   end  
  267.   #------------------------------------------------------------------------
  268.   # ● 刷新
  269.   #------------------------------------------------------------------------
  270.   def update
  271.     super
  272.     if Graphics.frame_count / Graphics.frame_rate != @total_sec
  273.       refresh
  274.     end
  275.   end
  276. end
  277. #--------------------------------------------------------------------------#==========================================================================
  278. # ■ Scene_Map
  279. #--------------------------------------------------------------------------
  280. #  处理地图画面的程序。
  281. #==========================================================================

  282. class Scene_Map
  283.   def main
  284.     # 生成游戏时间窗口
  285.     @daylight_window = Window_DayLight.new
  286.     @daylight_window.x = 450
  287.     @daylight_window.y = 0
  288.     # 生成活动块
  289.     @spriteset = Spriteset_Map.new
  290.     # 生成讯息窗口
  291.     @message_window = Window_Message.new
  292.     # 执行过渡
  293.     Graphics.transition
  294.     # 主循环
  295.     loop do
  296.       # 刷新游戏画面
  297.       Graphics.update
  298.       # 刷新输入讯息
  299.       Input.update
  300.       # 刷新画面
  301.       update
  302.       # 如果画面切换的话就中断循环
  303.       if $scene != self
  304.         break
  305.       end
  306.     end
  307.     # 准备过渡
  308.     Graphics.freeze
  309.     # 释放活动块
  310.     @spriteset.dispose
  311.     @daylight_window.dispose #释放时间窗口
  312.     # 释放讯息窗口
  313.     @message_window.dispose
  314.     # 标题画面切换中的情况下
  315.     if $scene.is_a?(Scene_Title)
  316.       # 淡入淡出画面
  317.       Graphics.transition
  318.       Graphics.freeze
  319.     end
  320.   end
  321.   
  322.   alias daylight_sys_update update
  323.   def update
  324.     @daylight_window.update #刷新时间显示
  325.     daylight_sys_update
  326.   end

  327. end
复制代码
没时间细看了,老实说这个脚本看着有点晕……

评分

参与人数 1星屑 +66 收起 理由
hys111111 + 66 感谢回答

查看全部评分

我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2013-4-5
帖子
10
10
 楼主| 发表于 2013-4-18 14:29:48 | 只看该作者
谢谢楼上~但是用了之后发生错误  521行发生syntaxerror

点评

上面的東西看起來沒有512行那麼多....  发表于 2013-4-27 23:50
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-26 02:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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