ゲームをやっていない時も時間を(ry
      投稿者: 池ちゃん(翡翠ヶ池)
     投稿日:2012/12/17 17:47
 池ちゃん(翡翠ヶ池)
     投稿日: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]) #秒
はい、ここまでです(今作った(殴
・・・
今回のブログの本題に入りますねぇ
僕と契約して「ゲームをやっていない時も時間を計る関数」を皆で作ってよっ!
(何かおかしくなったけど気にしない)
コメントする
コメントするには、ログインする必要があります。
コメント一覧
 退会したユーザー(投稿日:2012/12/17 20:03,
                                               履歴)
 退会したユーザー(投稿日:2012/12/17 20:03,
                                               履歴)
    
      配列が分からないので配列無しで
これでどうでしょう?
    
    
        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
これでどうでしょう?
 退会したユーザー(投稿日:2012/12/17 20:07,
                                                            履歴)
 退会したユーザー(投稿日:2012/12/17 20:07,
                                                            履歴)
          
            修正
          
        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
 退会したユーザー(投稿日:2012/12/17 20:09,
                                                            履歴)
 退会したユーザー(投稿日:2012/12/17 20:09,
                                                            履歴)
          
            ちょっと待ってください。バグがあああ!!!
          
         退会したユーザー(投稿日:2012/12/17 20:19,
                                                            履歴)
 退会したユーザー(投稿日:2012/12/17 20:19,
                                                            履歴)
          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
 退会したユーザー(投稿日:2012/12/18 15:37,
                                                            履歴)
 退会したユーザー(投稿日:2012/12/18 15:37,
                                                            履歴)
          
            ちっちっちっ(何がやりたい
これはリュー育のときに使用したから別に苦労してない(じゃあなぜバグッタ
それをちょっと変えただけなんで苦労してません。
          
        これはリュー育のときに使用したから別に苦労してない(じゃあなぜバグッタ
それをちょっと変えただけなんで苦労してません。
      直接の記事ではないですが
指定期間内か判定するの中で使用されている
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後、関数名が変わっているのは覚えるのが面倒なので縮めました(殴