ゲームをやっていない時も時間を(ry
投稿者:
池ちゃん(翡翠ヶ池)
投稿日:2012/12/17 17:47
タイトルちょっと長くなったので省略しました
タイトルは
「ゲームをやっていない時も時間を計る関数を作りたいのですが・・・」
です
setBaseTime関数だと「セーブ」→「ロード」とやられるとオワターっていうことを解消するためにもこれが必要かなぁと
後はピグライフ的なゲームとかも作れるようになれるかなとか
ってことで作ろうと思ったのですが一度挫折しましたぁ→http://blog.rmake.jp/%E6%B1%A0%E3%81%A1%E3%82%83%E3%82%93/3043
今の状態は
計り始める
はい、ここまでです(今作った(殴
・・・
今回のブログの本題に入りますねぇ
僕と契約して「ゲームをやっていない時も時間を計る関数」を皆で作ってよっ!
(何かおかしくなったけど気にしない)
ツイート
タイトルは
「ゲームをやっていない時も時間を計る関数を作りたいのですが・・・」
です
setBaseTime関数だと「セーブ」→「ロード」とやられるとオワターっていうことを解消するためにもこれが必要かなぁと
後はピグライフ的なゲームとかも作れるようになれるかなとか
ってことで作ろうと思ったのですが一度挫折しましたぁ→http://blog.rmake.jp/%E6%B1%A0%E3%81%A1%E3%82%83%E3%82%93/3043
今の状態は
計り始める
speak("スタート")
setVariable("スタート", createArray())
#変数「t」に、サーバの時刻を取得する
t = getServerCurrentDate()
getVariable("スタート")[0] = toString(t[0]) #年・365日
getVariable("スタート")[1] = toString(t[1]) #月・30日or31日
getVariable("スタート")[2] = toString(t[2]) #日・24時間
getVariable("スタート")[3] = toString(t[3]) #時・60分
getVariable("スタート")[4] = toString(t[4]) #分・60秒
getVariable("スタート")[5] = toString(t[5]) #秒
はい、ここまでです(今作った(殴
・・・
今回のブログの本題に入りますねぇ
僕と契約して「ゲームをやっていない時も時間を計る関数」を皆で作ってよっ!
(何かおかしくなったけど気にしない)
コメントする
コメントするには、ログインする必要があります。
コメント一覧
配列が分からないので配列無しで
これでどうでしょう?
setVariable("tim", getLocalCurrentTimeMillisecond())
def check()
setVariable("tim", getLocalCurrentTimeMillisecond() - getVariable("tim"))
if getVariable("tim") >= 1000
sec = floor(getVariable("tim") / 1000)
if sec >= 60
min = floor(a / 60)
sec = sec % 60
if min >= 60
hou = floor(min / 60)
min = min % 60
if hou >= 24
day = floor(hou / 24)
hou = hou % 24
if day >= 365
yea = floor(yea / 365)
day = day % 365
else
yea = 0
end
else
day = 0
yea = 0
end
else
hou = 0
day = 0
yea = 0
end
else
min = 0
hou = 0
day = 0
yea = 0
end
else
sec = 0
min = 0
hou = 0
day = 0
yea = 0
end
speak(""+yea+"年"+day+"日"+hou+"時間"+min+"分"+sec+"秒たちました(笑)")
end
これでどうでしょう?
修正
setVariable("tim", getLocalCurrentTimeMillisecond())
def check()
setVariable("tim", getLocalCurrentTimeMillisecond() - getVariable("tim"))
if getVariable("tim") >= 1000
sec = floor(getVariable("tim") / 1000)
if sec >= 60
min = floor(sec / 60)
sec = sec % 60
if min >= 60
hou = floor(min / 60)
min = min % 60
if hou >= 24
day = floor(hou / 24)
hou = hou % 24
if day >= 365
yea = floor(yea / 365)
day = day % 365
else
yea = 0
end
else
day = 0
yea = 0
end
else
hou = 0
day = 0
yea = 0
end
else
min = 0
hou = 0
day = 0
yea = 0
end
else
sec = 0
min = 0
hou = 0
day = 0
yea = 0
end
speak(""+yea+"年"+day+"日"+hou+"時間"+min+"分"+sec+"秒たちました(笑)")
end
ちょっと待ってください。バグがあああ!!!
setVariable("tim", 0)
setVariable("time", getLocalCurrentTimeMillisecond())
def check()
setVariable("tim", getLocalCurrentTimeMillisecond() - getVariable("time") + getVariable("tim"))
if getVariable("tim") >= 1000
sec = floor(getVariable("tim") / 1000)
if sec >= 60
min = floor(sec / 60)
sec = sec % 60
if min >= 60
hou = floor(min / 60)
min = min % 60
if hou >= 24
day = floor(hou / 24)
hou = hou % 24
if day >= 365
yea = floor(yea / 365)
day = day % 365
else
yea = 0
end
else
day = 0
yea = 0
end
else
hou = 0
day = 0
yea = 0
end
else
min = 0
hou = 0
day = 0
yea = 0
end
else
sec = 0
min = 0
hou = 0
day = 0
yea = 0
end
speak(""+yea+"年"+day+"日"+hou+"時間"+min+"分"+sec+"秒たちました(笑)")
setVariable("time", getLocalCurrentTimeMillisecond())
end
連投すいません
投稿ありがとうございますorz
ただこれじゃぁうるう年の時におかしくなりませんか?(作れないのに言うな
後、aoihikawaさんがもう聞く前に作っていたみたいなのでもう大丈夫です
せっかく作っていただいたのにごめんなさいorz
ただこれじゃぁうるう年の時におかしくなりませんか?(作れないのに言うな
後、aoihikawaさんがもう聞く前に作っていたみたいなのでもう大丈夫です
せっかく作っていただいたのにごめんなさいorz
ちっちっちっ(何がやりたい
これはリュー育のときに使用したから別に苦労してない(じゃあなぜバグッタ
それをちょっと変えただけなんで苦労してません。
これはリュー育のときに使用したから別に苦労してない(じゃあなぜバグッタ
それをちょっと変えただけなんで苦労してません。
直接の記事ではないですが
指定期間内か判定するの中で使用されている
deffTime関数を使うことで実現可能です
初回起動時刻を通常変数に保管しておき、
経過時間を計りたい場所で
deffTime(現在時刻) - deffTime(初回起動時刻)
を実行します
なお、この処理はあーるめいく銀行の利子計算で
使用されています
指定期間内か判定するの中で使用されている
deffTime関数を使うことで実現可能です
初回起動時刻を通常変数に保管しておき、
経過時間を計りたい場所で
deffTime(現在時刻) - deffTime(初回起動時刻)
を実行します
なお、この処理はあーるめいく銀行の利子計算で
使用されています
おぉ、教えてくださりありがとうございますorz
#うるう年の判定 def getUruuflg(y) return (y % 4) == 0 && (y % 100) != 0 || (y % 400) == 0 end #経過時間の計算 def dt() t = getServerCurrentDate() mi = 0 d_li = createArray() d_li = splitString("0,31,59,90,120,151,181,212,243,273,304,334,365",",") i = 0 while i < getArrayLength(d_li) d_li[i] = toNumber(d_li[i]) i = i + 1 end j = t[0] - 1 while j > 1999 if getUruuflg(j) mi = mi + 527040 else mi = mi + 525600 end j = j - 1 end if getUruuflg(t[0]) && (t[1] > 2) mi = mi + 1440 end mi = mi + ((d_li[(t[1] - 1)] + (t[2] - 1)) * 1440) mi = mi + (t[3] - 1) * 60 + t[4] mi = mi * 60 ; mi = mi + t[5] ; return mi end後、関数名が変わっているのは覚えるのが面倒なので縮めました(殴