扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 160|回复: 0

[转载发布] 用变量控制的·完美日夜系统V0.90

[复制链接]
累计送礼:
0 个
累计收礼:
0 个
  • TA的每日心情
    开心
    昨天 18:01
  • 签到天数: 114 天

    连续签到: 4 天

    [LV.6]常住居民II

    2338

    主题

    403

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    10632
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    13401

    灌水之王

    发表于 2024-4-19 19:07:10 | 显示全部楼层 |阅读模式
    此脚本原型是地图显示变量,被我改造成了变量控制的日夜系统:)

    脚本功能:
    日夜变化,1-24时的明暗效果,可在脚本中设置使用明暗效果的地图ID
    分,时,年,月,日,星期,四季:全变量控制,可自行改变分的增进速度,各个单位的进制
    并且可以随时调整分,时,年,月,日,星期,四季的数值。
    可以控制脚本是否开启,窗口背景是否显示。
    只有在地图时间才会流逝,并且对话时时间也不会流逝!

    脚本在范例工程之中!此脚本请配合本人的工程使用。



    我在66找了不少日夜系统,不是计算公式不能改就是没有明暗,要不就是不能自由控制……
    这回终于做了个任意控制的了!这也是我做的第一个脚本吧!(在原基础上学习制作)
    1. #==============================================================================#  变量控制完美时间天气系统 V0.90   整合与重制作:牛肉面  #  原地图显变量脚本来自66rpg#  请使用本人配套范例工程#==============================================================================VAR_SWITCH = 5          # 工作开关VAR_REFRESH_SWITCH = 6  # 强制刷新COLOURMAPID = [1,3]       # 使用天气明暗效果的地图ID#1、把窗口由透明变为不透明(包括第一次使用时),2、游戏中用脚本更改了$var$var = []$var = [[2,20,0],[1,70,0],[6,130,0],[5,210,0],[3,260,0]]#所有需要显示在地图并且刷新的变量,可在游戏中用脚本更改。#格式:[变量编号,x坐标,y坐标]#==============================================================================# ■ Window_XY#------------------------------------------------------------------------------#  显示坐标的窗口。#==============================================================================class Window_MapVar < Window_Base #注意前面那个window_var是文件名#--------------------------------------------------------------------------# ● 初始化窗口#--------------------------------------------------------------------------def initialize #=======================此处可任意调整窗口位置  super(0,0,640,64) #   窗口内容的不透明度    self.contents_opacity=255    self.contents = Bitmap.new(width - 32, height - 32)    self.z=9999  #=======================  @var_value_old = -1  @var = $var  @var_a = []  for var_draw in $var    @var_a[var_draw[0]] = $game_variables[var_draw[0]]  end      refreshend#--------------------------------------------------------------------------# ● 刷新#--------------------------------------------------------------------------def refresh  if $game_switches[VAR_SWITCH]    @var = $var         # 记录现在变量数组结构    self.contents.clear # 清除以前的东西    for var_draw in @var      @var_a[var_draw[0]] = $game_variables[var_draw[0]] # 记录现在的游戏变量      self.contents.draw_text(var_draw[1],var_draw[2],640,32,@var_a[var_draw[0]].to_s)      self.contents.draw_text(45, 0, 32, 32, '时')      self.contents.draw_text(95, 0, 32, 32, '分')      self.contents.draw_text(185, 0, 32, 32, '年')      self.contents.draw_text(235, 0, 32, 32, '月')      self.contents.draw_text(285, 0, 32, 32, '日')      #self.contents.draw_text(330, 0, 64, 32, '星期')      @game_variables = $game_variables       case @game_variables[20]# 控制窗口背景变量 1显示0消失  when 1    self.opacity=150  # 窗口的不透明度       self.back_opacity=150 # 窗口背景的不透明度  when 0    self.opacity=0     self.back_opacity=0    end      case @game_variables[4]      when 1       self.contents.draw_text(330, 0, 96, 32, '星期一')        when 2       self.contents.draw_text(330, 0, 96, 32, '星期二')        when 3       self.contents.draw_text(330, 0, 96, 32, '星期三')        when 4       self.contents.draw_text(330, 0, 96, 32, '星期四')        when 5       self.contents.draw_text(330, 0, 96, 32, '星期五')        when 6       self.contents.draw_text(330, 0, 96, 32, '星期六')        when 7       self.contents.draw_text(330, 0, 96, 32, '星期日')       else       self.contents.draw_text(330, 0, 96, 32, '星期日')      end     case @game_variables[7]      when 1       self.contents.draw_text(420, 0, 64, 32, '春季')        when 2       self.contents.draw_text(420, 0, 64, 32, '夏天')        when 3       self.contents.draw_text(420, 0, 64, 32, '秋日')        when 4       self.contents.draw_text(420, 0, 64, 32, '寒冬')     end     @game_switches = $game_switches      if COLOURMAPID.include?($game_map.map_id)        #@game_switches[4]       case @game_variables[2]      when 1         $game_screen.start_tone_change(Tone.new(-136,-136,-85,34),5)       when 2         $game_screen.start_tone_change(Tone.new(-102,-102,-68,17),5)      when 3         $game_screen.start_tone_change(Tone.new(-102,-102,-68,17),5)      when 4         $game_screen.start_tone_change(Tone.new(-51,-51,-85,0),5)      when 5         $game_screen.start_tone_change(Tone.new(-51,-51,-85,0),5)      when 6         $game_screen.start_tone_change(Tone.new(-17,-17,-51,0),5)      when 7         $game_screen.start_tone_change(Tone.new(-17,-17,-51,0),5)      when 8         $game_screen.start_tone_change(Tone.new(0,0,0,0),5)            when 9         $game_screen.start_tone_change(Tone.new(0,0,0,0),5)            when 10         $game_screen.start_tone_change(Tone.new(0,0,0,0),5)            when 11         $game_screen.start_tone_change(Tone.new(34,34,0,0),5)             when 12         $game_screen.start_tone_change(Tone.new(34,34,0,0),5)            when 13         $game_screen.start_tone_change(Tone.new(34,34,0,0),5)            when 14         $game_screen.start_tone_change(Tone.new(17,17,0,0),5)                   when 15         $game_screen.start_tone_change(Tone.new(17,17,0,0),5)            when 16         $game_screen.start_tone_change(Tone.new(17,17,0,0),5)            when 17         $game_screen.start_tone_change(Tone.new(-17,-34,-68,0),5)                   when 18         $game_screen.start_tone_change(Tone.new(-17,-34,-68,0),5)              when 19         $game_screen.start_tone_change(Tone.new(-102,-102,-68,17),5)            when 20         $game_screen.start_tone_change(Tone.new(-102,-102,-68,17),5)            when 21         $game_screen.start_tone_change(Tone.new(-102,-102,-68,17),5)                when 22         $game_screen.start_tone_change(Tone.new(-136,-136,-85,34),5)             when 23         $game_screen.start_tone_change(Tone.new(-136,-136,-85,34),5)             when 0         $game_screen.start_tone_change(Tone.new(-136,-136,-85,34),5)        end        else     $game_screen.start_tone_change(Tone.new(0,0,0,0),5)          end   end  end end#--------------------------------------------------------------------------# ● 判断文字刷新。节约内存用#--------------------------------------------------------------------------def judge  for var_draw in $var    if @var_a[var_draw[0]] != $game_variables[var_draw[0]] #如果现在记录的变量和游戏变量不同,刷新      return true    end  end  if $game_switches[VAR_REFRESH_SWITCH]  # 强制刷新的时候,刷新    $game_switches[VAR_REFRESH_SWITCH] = false    return true  end  return false  endendclass Scene_Mapalias var_66rpg_main maindef main  @var_window = Window_MapVar.new#  @var_window.opacity = 0  var_66rpg_main  @var_window.disposeend#--------------------------------------------------------------------------# ● 刷新画面#--------------------------------------------------------------------------alias var_66rpg_update updatedef update  var_66rpg_update  if $game_switches[VAR_SWITCH]    @var_window.visible = true          @var_window.refresh    #if @var_window.judge  else    @var_window.visible = false  endendend复制代码
    复制代码
    此脚本不能直接外挂
                 本帖来自P1论坛作者a360015305,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=157451  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。

    本帖子中包含更多资源

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

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

    使用道具 举报

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

    本版积分规则

    关闭

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2025-3-15 04:30 , Processed in 0.136235 second(s), 54 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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