Project1
标题:
读取电脑日期和时间
[打印本页]
作者:
xiaoxiyp
时间:
2014-11-9 18:11
标题:
读取电脑日期和时间
我想在游戏里加一个脚本,如果今天是几月几日,则……这种怎么做?
还有就是每天的12:00自动触发一个事件。怎么做?最好是脚本。
作者:
taroxd
时间:
2014-11-9 18:23
使用 Time.now,详情参考Ruby文档
第二个要求可以在场景的 update 中每帧判断一次时间
作者:
tseyik
时间:
2014-11-9 20:00
本帖最后由 tseyik 于 2014-11-9 20:05 编辑
現実時刻(=PC時計)取得。
使用方法
在事件指令的「脚本」使用以詞法。
nrt_year(n) :年数存入変数n
nrt_month(n) :月数存入変数n
nrt_day(n) :日数存入変数n
nrt_hour(n) :時数存入変数n
nrt_min(n) :分数存入変数n
nrt_sec(n) :秒数存入変数n
nrt_wday(n) :曜日数(星期)存入変数n(0星期日、1星期一...)
脚本中
#常月~秒自動取得(予設不取得)及使用変数ID
ALLWAYS_MODE = false
AW_MONTH = 1 #月を受け取る変数ID
AW_DAY = 2 #日を受け取る変数ID
AW_HOUR = 3 #時を受け取る変数ID
AW_MIN = 4 #分を受け取る変数ID
AW_SEC = 5 #秒を受け取る変数ID
end
#==============================================================================
# 「リアル時刻の取得」(ACE) ver1.0
# 製作者:奈々(なな)
# へぷたなすくろーる http://heptanas.mamagoto.com/
#
# ◇使用規約
# 使用される場合はスクリプト作成者として「奈々」を明記して下さい。
# このスクリプトを改変したり、改変したものを配布するなどは自由ですが
# その場合も元のスクリプトの作成者として名前は載せて下さい。
#
#------------------------------------------------------------------------------
#
# 現実の時刻を(PCの時計から)変数に入れることができます。
# 期間限定イベントや、某ど○ぶつの森のようなシステムにどうぞ。
#
# 使い方はイベントコマンドの「スクリプト」で行います。
# nrt_year(n) 変数n番に年が入ります。
# nrt_month(n) 月
# nrt_day(n) 日
# nrt_hour(n) 時
# nrt_min(n) 分
# nrt_sec(n) 秒
# nrt_wday(n) 曜日(0が日曜、1が月曜...)
#
# また、拡張機能が2つあります。(falseをtrueに変えると有効になる)
# 1つはセーブ時とロード時に日数を変数に取得する機能です。
# ロード時の日数からセーブ時の日数を引けば「何日後に再開したか」が分かります。
#
# もう1つは時刻を常に変数に取得し続ける機能です。
#
#==============================================================================
# ◇拡張機能
module Nana
module Real_Time
#セーブ&ロード時に日数取得
#日数は、一ヶ月が30日、一年が360日と換算
SAVE_LOAD_MODE = false
SAVE_DAYS = 1 #セーブ時に受け取る変数ID
LOAD_DAYS = 2 #ロード時に受け取る変数ID
#常に月~秒までを取得
ALLWAYS_MODE = false
AW_MONTH = 1 #月を受け取る変数ID
AW_DAY = 2 #日を受け取る変数ID
AW_HOUR = 3 #時を受け取る変数ID
AW_MIN = 4 #分を受け取る変数ID
AW_SEC = 5 #秒を受け取る変数ID
end
end
if Nana::Real_Time::SAVE_LOAD_MODE == true
#==============================================================================
# ■ DataManager
#------------------------------------------------------------------------------
# データベースとゲームオブジェクトを管理するモジュールです。ゲームで使用する
# ほぼ全てのグローバル変数はこのモジュールで初期化されます。
#==============================================================================
module DataManager
#--------------------------------------------------------------------------
# ○ セーブの実行
#--------------------------------------------------------------------------
def self.save_game(index)
x = Time.now
$game_variables[Nana::Real_Time::SAVE_DAYS] = x.year * 360 + x.month * 30 + x.day
begin
save_game_without_rescue(index)
rescue
delete_save_file(index)
false
end
end
#--------------------------------------------------------------------------
# ○ ロードの実行
#--------------------------------------------------------------------------
def self.load_game(index)
load_game_without_rescue(index) rescue false
x = Time.now
$game_variables[Nana::Real_Time::LOAD_DAYS] = x.year * 360 + x.month * 30 + x.day
end
end
end
if Nana::Real_Time::ALLWAYS_MODE == true
#==============================================================================
# ■ Scene_Base
#------------------------------------------------------------------------------
# ゲーム中の全てのシーンのスーパークラスです。
#==============================================================================
class Scene_Base
#--------------------------------------------------------------------------
# ◎ フレーム更新
#--------------------------------------------------------------------------
alias nrt_update update
def update
nrt_update
x = Time.now
$game_variables[Nana::Real_Time::AW_MONTH] = x.month
$game_variables[Nana::Real_Time::AW_DAY] = x.day
$game_variables[Nana::Real_Time::AW_HOUR] = x.hour
$game_variables[Nana::Real_Time::AW_MIN] = x.min
$game_variables[Nana::Real_Time::AW_SEC] = x.sec
end
end
end
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
# イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
# Game_Troop クラス、Game_Event クラスの内部で使用されます。
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ● 年を変数に代入
#--------------------------------------------------------------------------
def nrt_year(id)
x = Time.now
$game_variables[id] = x.year
end
#--------------------------------------------------------------------------
# ● 月を変数に代入
#--------------------------------------------------------------------------
def nrt_month(id)
x = Time.now
$game_variables[id] = x.month
end
#--------------------------------------------------------------------------
# ● 日を変数に代入
#--------------------------------------------------------------------------
def nrt_day(id)
x = Time.now
$game_variables[id] = x.day
end
#--------------------------------------------------------------------------
# ● 時を変数に代入
#--------------------------------------------------------------------------
def nrt_hour(id)
x = Time.now
$game_variables[id] = x.hour
end
#--------------------------------------------------------------------------
# ● 分を変数に代入
#--------------------------------------------------------------------------
def nrt_min(id)
x = Time.now
$game_variables[id] = x.min
end
#--------------------------------------------------------------------------
# ● 秒を変数に代入
#--------------------------------------------------------------------------
def nrt_sec(id)
x = Time.now
$game_variables[id] = x.sec
end
#--------------------------------------------------------------------------
# ● 曜日を変数に代入(0が日曜)
#--------------------------------------------------------------------------
def nrt_wday(id)
x = Time.now
$game_variables[id] = x.wday
end
end
复制代码
作者:
myownroc
时间:
2014-11-9 20:11
本帖最后由 myownroc 于 2014-11-9 21:02 编辑
t = Time.now.to_a # => [second, minute, hour, day, month, year, wday, yday, isdst, zone]
复制代码
说明:
second:秒
minute:分钟
hour:小时
day:日
month:月
year:年
wday:星期(星期天为0)
yday:第yday天
isdst:有无夏令时
zone:时区
这样判断日期:
if t[3] == day && t[4] == month
end
复制代码
12:00触发事件就要用一个
并行事件
,
事件的第一项内容为脚本:
@h = Time.now.to_a[2]
@m = Time.now.to_a[1]
复制代码
然后用条件分歧,选脚本:
@h == 12 && @m == 0
复制代码
进行判断
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1