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

Project1

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

VX昼夜系统.请求翻译

 关闭 [复制链接]

Lv1.梦旅人

穿越一季:朔

梦石
0
星屑
50
在线时间
333 小时
注册时间
2007-4-11
帖子
5369

贵宾

跳转到指定楼层
1
发表于 2008-10-14 18:18:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/    ◆ 昼夜切り替え - KGC_DayNight ◆ VX ◆
  3. #_/    ◇ Last update : 2008/03/08 ◇
  4. #_/----------------------------------------------------------------------------
  5. #_/  ゲーム中に昼夜の概念を作成します。
  6. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

  7. #==============================================================================
  8. # ★ カスタマイズ項目 - Customize ★
  9. #==============================================================================

  10. module KGC
  11. module DayNight
  12.   # ◆ 昼夜切り替え方式
  13.   #  0..時間経過  1..歩数  2..現実時間(微妙)
  14.   METHOD = 1

  15.   # ◆ フェーズを保存する変数の番号
  16.   # ここで指定した変数に、現在のフェーズを格納します。
  17.   PHASE_VARIABLE     = 11
  18.   # ◆ 日数を保存する変数の番号
  19.   #  ここで指定した変数に、経過した日数を格納します。
  20.   PASS_DAYS_VARIABLE = 12

  21.   # ◆ イベント中はフェーズを変更しない
  22.   STOP_ON_EVENT = true
  23.   # ◆ 戦闘時は、背景のみ色調を適用する
  24.   #  false にすると、夜がとんでもないことになります。
  25.   TONE_BACK_ONLY_IN_BATTLE = true

  26.   # ◆ 各フェーズの設定
  27.   #  各フェーズを
  28.   #   ["名称", 色調(Tone), 切り替え時間],
  29.   #  という書式で作成。
  30.   #  フェーズを増やすこともできますが、慣れないうちはおすすめしません。
  31.   #
  32.   #  [名称]
  33.   #    フェーズの名前。
  34.   #    名前自体に意味はありません。
  35.   #  [色調]
  36.   #    画面全体の色。
  37.   #    よく分からない場合は変更しないでください。
  38.   #  [切り替え時間]
  39.   #    次のフェーズに移るまでの時間。
  40.   #    切り替え方式が時間経過の場合は秒、歩数の場合は歩数そのまま。
  41.   #    現実時間の場合、次の状態へ切り替える時刻 (24時間方式)。
  42.   PHASE = [
  43.     ["昼",   Tone.new(   0,    0,   0), 300],  # フェーズ 0
  44.     ["夕方", Tone.new( -32,  -96, -96), 100],  # フェーズ 1
  45.     ["夜",   Tone.new(-128, -128, -32), 250],  # フェーズ 2
  46.     ["朝",   Tone.new( -48,  -48, -16), 100],  # フェーズ 3
  47.   ]  # ← これは消さないこと!

  48.   # 現実時間のときは、
  49.   #  ["昼",   Tone.new(  0,   0,   0), 16],  # フェーズ 0 (16時に夕方)
  50.   #  ["夕方", Tone.new(  0, -96, -96), 20],  # フェーズ 1 (20時に夜)
  51.   #  ["夜",   Tone.new(-96, -96, -64),  6],  # フェーズ 2 (6時に朝)
  52.   #  ["朝",   Tone.new(-48, -48, -16), 10],  # フェーズ 3 (10時に昼)
  53.   # このような感じ。

  54.   # ◆ 日付が変わるフェーズ
  55.   #  ここで指定したフェーズになったとき、日数を加算する。
  56.   #  初期状態の場合  0..昼  1..夕方  2..夜  3..朝
  57.   # ※ 現実時間の場合、現実と同じ日数にはならないので注意。
  58.   PASS_DAY_PHASE = 3

  59.   # ◆ 状態切り替え時のフェード時間 (フレーム)
  60.   #  省略時もこの値を使用します。
  61.   PHASE_DURATION = 60

  62.   # ◆ 曜日名
  63.   #  初日は先頭から始まり、最後の曜日まで行くと最初の曜日に戻る。
  64.   #  曜日自体に意味はありません。
  65.   # ※ 現実時間を使用する場合は 7 個にしてください。
  66.   WEEK_NAME = ["日", "月", "火", "水", "木", "金", "土"]
  67. end
  68. end

  69. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  70. $imported = {} if $imported == nil
  71. $imported["DayNight"] = true

  72. if $data_mapinfos == nil
  73.   $data_mapinfos = load_data("Data/MapInfos.rvdata")
  74. end

  75. module KGC::DayNight
  76.   METHOD_TIME  = 0  # 時間経過
  77.   METHOD_STEP  = 1  # 歩数
  78.   METHOD_RTIME = 2  # 現実時間

  79.   # 正規表現
  80.   module Regexp
  81.     # マップ情報
  82.     module MapInfo
  83.       # 遷移を止める
  84.       DAYNIGHT_STOP = /\[DN_STOP\]/i
  85.       # 昼夜エフェクト無効
  86.       DAYNIGHT_VOID = /\[DN_VOID\]/i
  87.     end

  88.     # 敵グループ
  89.     module Troop
  90.       # 出現フェーズ
  91.       APPEAR_PHASE = /\[DN((?:[ ]*[\-]?\d+(?:[ ]*,)?)+)\]/i
  92.     end
  93.   end

  94.   #--------------------------------------------------------------------------
  95.   # ○ 敵グループ出現判定
  96.   #     troop : 判定対象の敵グループ
  97.   #     phase : 判定するフェーズ
  98.   #--------------------------------------------------------------------------
  99.   def self.troop_appear?(troop, phase = $game_system.daynight_phase)
  100.     # 出現判定
  101.     unless troop.appear_daynight_phase.empty?
  102.       return false unless troop.appear_daynight_phase.include?(phase)
  103.     end
  104.     # 非出現判定
  105.     unless troop.nonappear_daynight_phase.empty?
  106.       return false if troop.nonappear_daynight_phase.include?(phase)
  107.     end

  108.     return true
  109.   end
  110. end

  111. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  112. #==============================================================================
  113. # □ KGC::Commands
  114. #==============================================================================

  115. module KGC
  116. module Commands
  117.   module_function
  118.   #--------------------------------------------------------------------------
  119.   # ○ 昼夜切り替えを停止
  120.   #--------------------------------------------------------------------------
  121.   def stop_daynight
  122.     $game_system.daynight_change_enabled = false
  123.   end
  124.   #--------------------------------------------------------------------------
  125.   # ○ 昼夜切り替えを起動
  126.   #--------------------------------------------------------------------------
  127.   def start_daynight
  128.     $game_system.daynight_change_enabled = true
  129.   end
  130.   #--------------------------------------------------------------------------
  131.   # ○ 現在のフェーズ名を取得
  132.   #--------------------------------------------------------------------------
  133.   def get_daynight_name
  134.     return KGC::DayNight::PHASE[get_daynight_phase][0]
  135.   end
  136.   #--------------------------------------------------------------------------
  137.   # ○ 現在の曜日を取得
  138.   #     variable_id : 代入する変数 ID
  139.   #--------------------------------------------------------------------------
  140.   def get_daynight_week(variable_id = 0)
  141.     if KGC::DayNight::METHOD == KGC::DayNight::METHOD_RTIME
  142.       week = Time.now.wday
  143.     else
  144.       days = $game_variables[KGC::DayNight::PASS_DAYS_VARIABLE]
  145.       week = (days % KGC::DayNight::WEEK_NAME.size)
  146.     end

  147.     if variable_id > 0
  148.       $game_variables[variable_id] = week
  149.     end
  150.     return week
  151.   end
  152.   #--------------------------------------------------------------------------
  153.   # ○ 現在の曜日名を取得
  154.   #--------------------------------------------------------------------------
  155.   def get_daynight_week_name
  156.     return KGC::DayNight::WEEK_NAME[get_daynight_week]
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ○ フェーズ切り替え
  160.   #     phase     : 切り替え後のフェーズ
  161.   #     duration  : 切り替え時間(フレーム)
  162.   #     pass_days : 経過させる日数  (省略時: 0)
  163.   #--------------------------------------------------------------------------
  164.   def change_daynight_phase(phase,
  165.       duration = KGC::DayNight::PHASE_DURATION,
  166.       pass_days = 0)
  167.     $game_temp.manual_daynight_duration = duration
  168.     $game_system.daynight_counter = 0
  169.     $game_system.daynight_phase = phase
  170.     $game_variables[KGC::DayNight::PASS_DAYS_VARIABLE] += pass_days
  171.     $game_map.need_refresh = true
  172.   end
  173.   #--------------------------------------------------------------------------
  174.   # ○ 次のフェーズへ遷移
  175.   #     duration : 切り替え時間(フレーム)
  176.   #--------------------------------------------------------------------------
  177.   def transit_daynight_phase(duration = KGC::DayNight::PHASE_DURATION)
  178.     $game_screen.transit_daynight_phase(duration)
  179.     $game_map.need_refresh = true
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # ○ デフォルトの色調に戻す
  183.   #     duration : 切り替え時間(フレーム)
  184.   #--------------------------------------------------------------------------
  185.   def set_daynight_default(duration = KGC::DayNight::PHASE_DURATION)
  186.     $game_screen.set_daynight_default(duration)
  187.     $game_map.need_refresh = true
  188.   end
  189.   #--------------------------------------------------------------------------
  190.   # ○ 現在のフェーズを復元
  191.   #     duration : 切り替え時間(フレーム)
  192.   #--------------------------------------------------------------------------
  193.   def restore_daynight_phase(duration = KGC::DayNight::PHASE_DURATION)
  194.     $game_screen.restore_daynight_phase(duration)
  195.     $game_map.need_refresh = true
  196.   end
  197. end
  198. end

  199. class Game_Interpreter
  200.   include KGC::Commands
  201. end

  202. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  203. #==============================================================================
  204. # ■ RPG::MapInfo
  205. #==============================================================================

  206. class RPG::MapInfo
  207.   #--------------------------------------------------------------------------
  208.   # ● マップ名取得
  209.   #--------------------------------------------------------------------------
  210.   def name
  211.     return @name.gsub(/\[.*\]/) { "" }
  212.   end
  213.   #--------------------------------------------------------------------------
  214.   # ○ オリジナルマップ名取得
  215.   #--------------------------------------------------------------------------
  216.   def original_name
  217.     return @name
  218.   end
  219.   #--------------------------------------------------------------------------
  220.   # ○ 昼夜切り替え停止
  221.   #--------------------------------------------------------------------------
  222.   def daynight_stop
  223.     return @name =~ KGC::DayNight::Regexp::MapInfo::DAYNIGHT_STOP
  224.   end
  225.   #--------------------------------------------------------------------------
  226.   # ○ 昼夜エフェクト無効
  227.   #--------------------------------------------------------------------------
  228.   def daynight_void
  229.     return @name =~ KGC::DayNight::Regexp::MapInfo::DAYNIGHT_VOID
  230.   end
  231. end

  232. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  233. #==============================================================================
  234. # ■ RPG::Area
  235. #==============================================================================

  236. unless $@
  237. class RPG::Area
  238.   #--------------------------------------------------------------------------
  239.   # ○ エンカウントリストの取得
  240.   #--------------------------------------------------------------------------
  241.   alias encounter_list_KGC_DayNight encounter_list
  242.   def encounter_list
  243.     list = encounter_list_KGC_DayNight.clone

  244.     # 出現条件判定
  245.     list.each_index { |i|
  246.       list[i] = nil unless KGC::DayNight.troop_appear?($data_troops[list[i]])
  247.     }
  248.     return list.compact
  249.   end
  250. end
  251. end

  252. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  253. #==============================================================================
  254. # ■ RPG::Troop
  255. #==============================================================================

  256. class RPG::Troop
  257.   #--------------------------------------------------------------------------
  258.   # ○ 昼夜切り替えのキャッシュ生成
  259.   #--------------------------------------------------------------------------
  260.   def create_daynight_cache
  261.     @__appear_daynight_phase = []
  262.     @__nonappear_daynight_phase = []

  263.     # 出現するフェーズ
  264.     if @name =~ KGC::DayNight::Regexp::Troop::APPEAR_PHASE
  265.       $1.scan(/[\-]?\d+/).each { |num|
  266.         phase = num.to_i
  267.         if phase < 0
  268.           # 出現しない
  269.           @__nonappear_daynight_phase << phase.abs
  270.         else
  271.           # 出現する
  272.           @__appear_daynight_phase << phase
  273.         end
  274.       }
  275.     end
  276.   end
  277.   #--------------------------------------------------------------------------
  278.   # ○ 出現するフェーズ
  279.   #--------------------------------------------------------------------------
  280.   def appear_daynight_phase
  281.     create_daynight_cache if @__appear_daynight_phase == nil
  282.     return @__appear_daynight_phase
  283.   end
  284.   #--------------------------------------------------------------------------
  285.   # ○ 出現しないフェーズ
  286.   #--------------------------------------------------------------------------
  287.   def nonappear_daynight_phase
  288.     create_daynight_cache if @__nonappear_daynight_phase == nil
  289.     return @__nonappear_daynight_phase
  290.   end
  291. end

  292. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  293. #==============================================================================
  294. # ■ Game_Temp
  295. #==============================================================================

  296. class Game_Temp
  297.   #--------------------------------------------------------------------------
  298.   # ● 公開インスタンス変数
  299.   #--------------------------------------------------------------------------
  300.   attr_accessor :manual_daynight_duration # 手動フェーズ変更フラグ
  301.   #--------------------------------------------------------------------------
  302.   # ● オブジェクト初期化
  303.   #--------------------------------------------------------------------------
  304.   alias initialize_KGC_DayNight initialize
  305.   def initialize
  306.     initialize_KGC_DayNight

  307.     @manual_daynight_duration = nil
  308.   end
  309. end

  310. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  311. #==============================================================================
  312. # ■ Game_System
  313. #==============================================================================

  314. class Game_System
  315.   #--------------------------------------------------------------------------
  316.   # ● 公開インスタンス変数
  317.   #--------------------------------------------------------------------------
  318.   attr_writer   :daynight_counter         # フェーズ遷移カウンタ
  319.   attr_writer   :daynight_change_enabled  # 昼夜切り替え有効
  320.   #--------------------------------------------------------------------------
  321.   # ● オブジェクト初期化
  322.   #--------------------------------------------------------------------------
  323.   alias initialize_KGC_DayNight initialize
  324.   def initialize
  325.     initialize_KGC_DayNight

  326.     @daynight_counter = 0
  327.     @daynight_change_enabled = true
  328.   end
  329.   #--------------------------------------------------------------------------
  330.   # ○ フェーズ遷移カウンタを取得
  331.   #--------------------------------------------------------------------------
  332.   def daynight_counter
  333.     @daynight_counter = 0 if @daynight_counter == nil
  334.     return @daynight_counter
  335.   end
  336.   #--------------------------------------------------------------------------
  337.   # ○ 現在のフェーズを取得
  338.   #--------------------------------------------------------------------------
  339.   def daynight_phase
  340.     return $game_variables[KGC::DayNight::PHASE_VARIABLE]
  341.   end
  342.   #--------------------------------------------------------------------------
  343.   # ○ 現在のフェーズを変更
  344.   #--------------------------------------------------------------------------
  345.   def daynight_phase=(value)
  346.     $game_variables[KGC::DayNight::PHASE_VARIABLE] = value
  347.   end
  348.   #--------------------------------------------------------------------------
  349.   # ○ 昼夜切り替え有効フラグを取得
  350.   #--------------------------------------------------------------------------
  351.   def daynight_change_enabled
  352.     @daynight_change_enabled = 0 if @daynight_change_enabled == nil
  353.     return @daynight_change_enabled
  354.   end
  355.   #--------------------------------------------------------------------------
  356.   # ○ フェーズ進行
  357.   #--------------------------------------------------------------------------
  358.   def progress_daynight_phase
  359.     self.daynight_phase += 1
  360.     if self.daynight_phase >= KGC::DayNight::PHASE.size
  361.       self.daynight_phase = 0
  362.     end
  363.     $game_map.need_refresh = true
  364.   end
  365.   #--------------------------------------------------------------------------
  366.   # ○ 現在のフェーズオブジェクトを取得
  367.   #--------------------------------------------------------------------------
  368.   def daynight_phase_object
  369.     return KGC::DayNight::PHASE[daynight_phase]
  370.   end
  371.   #--------------------------------------------------------------------------
  372.   # ○ 以前のフェーズオブジェクトを取得
  373.   #--------------------------------------------------------------------------
  374.   def previous_daynight_phase_object
  375.     return KGC::DayNight::PHASE[daynight_phase - 1]
  376.   end
  377. end

  378. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  379. #==============================================================================
  380. # ■ Game_Screen
  381. #==============================================================================

  382. class Game_Screen
  383.   #--------------------------------------------------------------------------
  384.   # ● 公開インスタンス変数
  385.   #--------------------------------------------------------------------------
  386.   attr_reader   :daynight_tone            # 昼夜の色調
  387.   #--------------------------------------------------------------------------
  388.   # ● クリア
  389.   #--------------------------------------------------------------------------
  390.   alias clear_KGC_DayNight clear
  391.   def clear
  392.     clear_KGC_DayNight

  393.     clear_daynight
  394.   end
  395.   #--------------------------------------------------------------------------
  396.   # ○ 昼夜切り替え用変数をクリア
  397.   #--------------------------------------------------------------------------
  398.   def clear_daynight
  399.     @default_tone = Tone.new(0, 0, 0)

  400.     # 移動判定用座標初期化
  401.     @daynight_x = 0
  402.     @daynight_y = 0

  403.     # フレーム更新用カウント初期化
  404.     @frame_count = Graphics.frame_count
  405.     @daynight_tone_duration = 0

  406.     apply_daynight
  407.   end
  408.   #--------------------------------------------------------------------------
  409.   # ○ 昼夜の色調を適用
  410.   #--------------------------------------------------------------------------
  411.   def apply_daynight
  412.     return if $game_map == nil

  413.     # 切り替えを無効化するマップの場合
  414.     if $game_map.daynight_void?
  415.       if @daynight_tone_changed
  416.         # 初期の色調に戻す
  417.         @tone = @default_tone.clone
  418.         @daynight_tone_changed = false
  419.       end
  420.       @daynight_tone = @tone.clone
  421.       return
  422.     end

  423.     # フェーズがおかしければ修復
  424.     if $game_system.daynight_phase_object == nil
  425.       $game_system.daynight_phase = 0
  426.     end

  427.     # 現在の色調を適用
  428.     @tone = $game_system.daynight_phase_object[1].clone
  429.     @daynight_tone = @tone.clone

  430.     # 現実時間遷移の場合
  431.     if KGC::DayNight::METHOD == KGC::DayNight::METHOD_RTIME
  432.       time = Time.now
  433.       # マッチするフェーズに遷移
  434.       KGC::DayNight::PHASE.each_with_index { |phase, i|
  435.         if phase[2] <= time.hour
  436.           start_tone_change(phase[1], 1)
  437.           $game_system.daynight_phase = i
  438.           break
  439.         end
  440.       }
  441.     end

  442.     @daynight_tone_changed = true
  443.   end
  444.   #--------------------------------------------------------------------------
  445.   # ○ 色調の取得
  446.   #--------------------------------------------------------------------------
  447.   def tone
  448.     if $game_temp.in_battle && KGC::DayNight::TONE_BACK_ONLY_IN_BATTLE
  449.       return @default_tone
  450.     else
  451.       return @tone
  452.     end
  453.   end
  454.   #--------------------------------------------------------------------------
  455.   # ● 色調変更の開始
  456.   #     tone     : 色調
  457.   #     duration : 時間
  458.   #--------------------------------------------------------------------------
  459.   alias start_tone_change_KGC_DayNight start_tone_change
  460.   def start_tone_change(tone, duration)
  461.     duration = [duration, 1].max
  462.     start_tone_change_KGC_DayNight(tone, duration)

  463.     @daynight_tone_target = tone.clone
  464.     @daynight_tone_duration = duration
  465.   end
  466.   #--------------------------------------------------------------------------
  467.   # ● フレーム更新
  468.   #--------------------------------------------------------------------------
  469.   alias update_KGC_DayNight update
  470.   def update
  471.     update_KGC_DayNight

  472.     update_daynight_transit
  473.   end
  474.   #--------------------------------------------------------------------------
  475.   # ● 色調の更新
  476.   #--------------------------------------------------------------------------
  477.   alias update_tone_KGC_DayNight update_tone
  478.   def update_tone
  479.     update_tone_KGC_DayNight

  480.     if @daynight_tone_duration >= 1
  481.       d = @daynight_tone_duration
  482.       target = @daynight_tone_target
  483.       @daynight_tone.red = (@daynight_tone.red * (d - 1) + target.red) / d
  484.       @daynight_tone.green = (@daynight_tone.green * (d - 1) + target.green) / d
  485.       @daynight_tone.blue = (@daynight_tone.blue * (d - 1) + target.blue) / d
  486.       @daynight_tone.gray = (@daynight_tone.gray * (d - 1) + target.gray) / d
  487.       @daynight_tone_duration -= 1
  488.     end
  489.   end
  490.   #--------------------------------------------------------------------------
  491.   # ○ フェーズ遷移の更新
  492.   #--------------------------------------------------------------------------
  493.   def update_daynight_transit
  494.     # 手動切り替えが行われた場合
  495.     if $game_temp.manual_daynight_duration
  496.       start_tone_change($game_system.daynight_phase_object[1],
  497.         $game_temp.manual_daynight_duration)
  498.       $game_temp.manual_daynight_duration = nil
  499.       @daynight_tone_changed = true
  500.     end

  501.     return unless $game_system.daynight_change_enabled  # 切り替えを
  502.     return if $game_map.daynight_stop?                  # 停止中

  503.     if KGC::DayNight::STOP_ON_EVENT
  504.       interpreter = ($game_temp.in_battle ? $game_troop.interpreter :
  505.         $game_map.interpreter)
  506.       return if interpreter.running?                    # イベント実行中
  507.     end

  508.     case KGC::DayNight::METHOD
  509.     when KGC::DayNight::METHOD_TIME   # 時間
  510.       update_daynight_pass_time
  511.     when KGC::DayNight::METHOD_STEP   # 歩数
  512.       update_daynight_step
  513.     when KGC::DayNight::METHOD_RTIME  # 現実時間
  514.       update_daynight_real_time
  515.     end
  516.   end
  517.   #--------------------------------------------------------------------------
  518.   # ○ 遷移 : 時間経過
  519.   #--------------------------------------------------------------------------
  520.   def update_daynight_pass_time
  521.     # カウント増加量計算
  522.     inc_count = Graphics.frame_count - @frame_count
  523.     # 加算量がおかしい場合は戻る
  524.     if inc_count >= 100
  525.       @frame_count = Graphics.frame_count
  526.       return
  527.     end
  528.     # カウント加算
  529.     $game_system.daynight_counter += inc_count
  530.     @frame_count = Graphics.frame_count

  531.     # 状態遷移判定
  532.     count = $game_system.daynight_counter / Graphics.frame_rate
  533.     if count >= $game_system.daynight_phase_object[2]
  534.       transit_daynight_next
  535.     end
  536.   end
  537.   #--------------------------------------------------------------------------
  538.   # ○ 遷移 : 歩数
  539.   #--------------------------------------------------------------------------
  540.   def update_daynight_step
  541.     # 移動していなければ戻る
  542.     return if @daynight_x == $game_player.x && @daynight_y == $game_player.y

  543.     @daynight_x = $game_player.x
  544.     @daynight_y = $game_player.y
  545.     # カウント加算
  546.     $game_system.daynight_counter += 1
  547.     # 状態遷移判定
  548.     count = $game_system.daynight_counter
  549.     if count >= $game_system.daynight_phase_object[2]
  550.       transit_daynight_next
  551.     end
  552.   end
  553.   #--------------------------------------------------------------------------
  554.   # ○ 遷移 : 現実時間
  555.   #--------------------------------------------------------------------------
  556.   def update_daynight_real_time
  557.     time = Time.now
  558.     # 状態遷移判定
  559.     time1 = $game_system.daynight_phase_object[2]
  560.     transit = (time1 <= time.hour)
  561.     if $game_system.previous_daynight_phase_object != nil
  562.       time2 = $game_system.previous_daynight_phase_object[2]
  563.       if time1 < time2
  564.         transit &= (time.hour < time2)
  565.       end
  566.     end

  567.     if transit
  568.       transit_daynight_next
  569.     end
  570.   end
  571.   #--------------------------------------------------------------------------
  572.   # ○ 次の状態へ遷移
  573.   #     duration : 遷移時間
  574.   #--------------------------------------------------------------------------
  575.   def transit_daynight_next(duration = KGC::DayNight::PHASE_DURATION)
  576.     $game_system.daynight_counter = 0
  577.     $game_system.progress_daynight_phase
  578.     # 日数経過判定
  579.     if $game_system.daynight_phase == KGC::DayNight::PASS_DAY_PHASE
  580.       $game_variables[KGC::DayNight::PASS_DAYS_VARIABLE] += 1
  581.     end
  582.     # 色調切り替え
  583.     start_tone_change($game_system.daynight_phase_object[1], duration)
  584.     @daynight_tone_changed = true
  585.   end
  586.   #--------------------------------------------------------------------------
  587.   # ○ デフォルトの状態(0, 0, 0)に戻す
  588.   #     duration : 遷移時間
  589.   #--------------------------------------------------------------------------
  590.   def set_daynight_default(duration)
  591.     start_tone_change(@default_tone, duration)
  592.   end
  593.   #--------------------------------------------------------------------------
  594.   # ○ 現在のフェーズを復元
  595.   #     duration : 遷移時間
  596.   #--------------------------------------------------------------------------
  597.   def restore_daynight_phase(duration)
  598.     start_tone_change($game_system.daynight_phase_object[1], duration)
  599.     @daynight_tone_changed = true
  600.   end
  601. end

  602. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  603. #==============================================================================
  604. # ■ Game_Map
  605. #==============================================================================

  606. class Game_Map
  607.   #--------------------------------------------------------------------------
  608.   # ● セットアップ
  609.   #     map_id : マップ ID
  610.   #--------------------------------------------------------------------------
  611.   alias setup_KGC_DayNight setup
  612.   def setup(map_id)
  613.     setup_KGC_DayNight(map_id)

  614.     @screen.apply_daynight
  615.   end
  616.   #--------------------------------------------------------------------------
  617.   # ○ 昼夜切り替えを停止するか
  618.   #--------------------------------------------------------------------------
  619.   def daynight_stop?
  620.     info = $data_mapinfos[map_id]
  621.     return false if info == nil
  622.     return (info.daynight_stop || info.daynight_void)
  623.   end
  624.   #--------------------------------------------------------------------------
  625.   # ○ 昼夜切り替えが無効か
  626.   #--------------------------------------------------------------------------
  627.   def daynight_void?
  628.     info = $data_mapinfos[map_id]
  629.     return false if info == nil
  630.     return info.daynight_void
  631.   end
  632.   #--------------------------------------------------------------------------
  633.   # ● エンカウントリストの取得
  634.   #--------------------------------------------------------------------------
  635.   alias encounter_list_KGC_DayNight encounter_list
  636.   def encounter_list
  637.     list = encounter_list_KGC_DayNight.clone

  638.     # 出現条件判定
  639.     list.each_index { |i|
  640.       list[i] = nil unless KGC::DayNight.troop_appear?($data_troops[list[i]])
  641.     }
  642.     return list.compact
  643.   end
  644. end

  645. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  646. #==============================================================================
  647. # ■ Spriteset_Battle
  648. #==============================================================================

  649. if KGC::DayNight::TONE_BACK_ONLY_IN_BATTLE
  650. class Spriteset_Battle
  651.   #--------------------------------------------------------------------------
  652.   # ● バトルバックスプライトの作成
  653.   #--------------------------------------------------------------------------
  654.   alias create_battleback_KGC_DayNight create_battleback
  655.   def create_battleback
  656.     create_battleback_KGC_DayNight

  657.     if @battleback_sprite.wave_amp == 0
  658.       @battleback_sprite.tone = $game_troop.screen.daynight_tone
  659.     end
  660.   end
  661.   #--------------------------------------------------------------------------
  662.   # ● バトルフロアスプライトの作成
  663.   #--------------------------------------------------------------------------
  664.   alias create_battlefloor_KGC_DayNight create_battlefloor
  665.   def create_battlefloor
  666.     create_battlefloor_KGC_DayNight

  667.     @battlefloor_sprite.tone = $game_troop.screen.daynight_tone
  668.   end
  669. end
  670. end

  671. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  672. #==============================================================================
  673. # ■ Scene_Map
  674. #==============================================================================

  675. class Scene_Map < Scene_Base
  676.   #--------------------------------------------------------------------------
  677.   # ● 開始処理
  678.   #--------------------------------------------------------------------------
  679.   alias start_KGC_DayNight start
  680.   def start
  681.     $game_map.screen.clear_daynight

  682.     start_KGC_DayNight
  683.   end
  684. end
复制代码


我只看得懂一部分..后面的注释不怎么详细..希望翻译详细.VX的昼夜貌似就只有这个脚本了
版务信息:本贴由楼主自主结贴~
6R复活?别扯淡了.

柳柳一旦接手66RPG,我果断呵呵啊。

Lv1.梦旅人

敌敌畏

梦石
0
星屑
80
在线时间
52 小时
注册时间
2008-5-12
帖子
1748
2
发表于 2008-10-14 21:25:38 | 只看该作者
760行,獎勵為0.76v,日語,難度簡單
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
63 小时
注册时间
2007-8-26
帖子
138
3
发表于 2008-10-14 22:40:53 | 只看该作者
官方悬赏翻译贴
难度不高,专等 约束嬷嬷来翻译{/cy}
本人接受任何脚本制作和翻译。 请确保你本身有20vip以上。 大型脚本的翻译和大型制作脚本都可。 有意者请短信联络,价值3vip以下的公开。以上的直接邮送依赖人,是否公开依赖人决定
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-8-4
帖子
608
4
发表于 2008-10-15 01:22:04 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-8-4
帖子
608
5
发表于 2008-10-15 05:14:08 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

穿越一季:朔

梦石
0
星屑
50
在线时间
333 小时
注册时间
2007-4-11
帖子
5369

贵宾

6
 楼主| 发表于 2008-10-15 07:28:11 | 只看该作者
以下引用約束于2008-10-14 21:14:08的发言:

只是脚本的话已经汉化完毕

不知是否需要写一份完整使用手册

版主对此帖的认可:『760分,剩下的就等lz認可了』,积分『+760』。

版主对此帖的评论:『那啥,分先給了,待會出去』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。


只要解释那11号变量怎么用就行
6R复活?别扯淡了.

柳柳一旦接手66RPG,我果断呵呵啊。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
63 小时
注册时间
2007-8-26
帖子
138
7
发表于 2008-10-15 19:38:25 | 只看该作者
以下引用約束于2008-10-14 17:22:04的发言:

我还以为柳XX你会汉化的咧,

好吧……我来好了

晚上出,我刚放学

都是翻译苦力,边缘人,何必相互为难呢,是把


我不和你抢,这么抢你的,你vip就上不去了,我自有办法赚vip。不过还是你的策略好,
我3个小时翻译10000行以上的葡萄牙语的arpg-vx脚本,没有人说我效率高。
还是翻译小脚本划算,显得多啊

--------------------------------


楼上的 ,有人看了咱们的留言居然觉得对话像吵架……

厄,那什么,我这个柳XX是柳某某的意思,

嘛 有秘密,我不知道柳某某是不是要说,

所以我都没有公开只能这么叫了

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~


[本贴由作者于 2008-10-14 18:22:47 最后编辑]


特许你叫什么都行,前提是我听得懂{/tp}

除了type momo 齿车之城 樱雅 kgc 的脚本,似乎日本也不剩什么rmrgss作者了
本人接受任何脚本制作和翻译。 请确保你本身有20vip以上。 大型脚本的翻译和大型制作脚本都可。 有意者请短信联络,价值3vip以下的公开。以上的直接邮送依赖人,是否公开依赖人决定
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-5 18:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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