コメント

このコメントは、『スクリプト 汎用関数』 ゲーム起動から...へのコメントです。

コメントの内容

Cdv30200 aoi icon mini aoihikawa(投稿日:2014/04/12 09:04/12/14)
セーブ時の処理で
初回セーブの場合は起動時間から、
以降は前回セーブ時の時間から差し引くようにします

def save()
  #起動時の時間を保持
  startTime = deffTimeS(getServerGameStartDate())
  
  #セーブまでのプレイ秒数算出
  t1 = deffTimeS(getServerCurrentDate())
  if getVariable("前回までのプレイ秒数") == 0
    #初回セーブの場合
    t2 = startTime
    setVariable("起動時の時間", startTime)
  else
    #2回目以降のセーブの場合
    if startTime != getVariable("起動時の時間")
      t2 = startTime
      setVariable("起動時の時間", startTime)
    else
      t2 = getVariable("前回までのプレイ秒数")
    end
  end
  df = t1 - t2
  setVariable("前回までのプレイ秒数", t1)
  setVariable("セーブまでのプレイ秒数", df)
  
  a = "セーブまでのプレイ秒数:" + getVariable("セーブまでのプレイ秒数")
  speak(a)
  
  #セーブまでのプレイ秒数表示
  b = getVariable("セーブまでのプレイ秒数")
  
  c = floor(b / (60 * 60)) + ":" +
    addZero(floor((b % (60 * 60)) / 60),2) + "'" +
    addZero((b % 60),2)
  setVariable("セーブまでのプレイ時間", c)
  
  c = "セーブまでのプレイ時間:" + c
  speak(c)
  
  #累計のプレイ秒数算出
  setVariable("累計プレイ秒数", 
    getVariable("累計プレイ秒数") + getVariable("セーブまでのプレイ秒数"))
  
  y = getVariable("累計プレイ秒数")
  
  #累計のプレイ秒数表示
  x = floor(y / (60 * 60)) + ":" +
    addZero(floor((y % (60 * 60)) / 60),2) + "'" +
    addZero((y % 60),2)
  setVariable("累計プレイ時間", x)
  
  x = "累計プレイ時間:" + x
  speak(x)
  
  savePlayDataCustom("セーブしますか?", "はい", "いいえ")
end



また、カスタムメニューについては
この関数のラストにあるsavePlayDataCustom関数以外の処理を
onShowCustomParameter関数内で
表示前に同様に算出すれば可能です

そういった意味では、該当の算出処理は
セーブ処理と混同せず、別途の関数で定義しておいた方が
カスタムメニュー表示処理でも利用しやすくなるので
良いかもしれません

コメントの内容(一番最初の投稿)

Cdv30200 aoi icon mini aoihikawa(投稿日:2014/04/12 09:04/12/14)
セーブ時の処理で
初回セーブの場合は起動時間から、
以降は前回セーブ時の時間から差し引くようにします

def save()
  #セーブまでのプレイ秒数算出
  if getVariable("セーブまでのプレイ秒数") == 0
    #初回セーブの場合
    t1 = getServerCurrentDate()
    t2 = getServerGameStartDate()
    df = deffTimeS(t1) - deffTimeS(t2)
  else
    #2回目以降のセーブの場合
    t1 = getServerCurrentDate()
    t2 = getVariable("セーブまでのプレイ秒数")
    df = deffTimeS(t1) - t2
  end
  setVariable("セーブまでのプレイ秒数", df)
  
  a = "セーブまでのプレイ秒数:" + getVariable("セーブまでのプレイ秒数")
  speak(a)
  
  #セーブまでのプレイ秒数表示
  b = getVariable("セーブまでのプレイ秒数")
  
  c = floor(b / (60 * 60)) + ":" +
    addZero(floor((b % (60 * 60)) / 60),2) + "'" +
    addZero((b % 60),2)
    setVariable("セーブまでのプレイ時間", b)
  
  c = "セーブまでのプレイ時間:" + c
  speak(c)
  
  #累計のプレイ秒数算出
  setVariable("累計プレイ秒数", 
    getVariable("累計プレイ秒数") + getVariable("セーブまでのプレイ秒数"))
  
  y = getVariable("累計プレイ秒数")
  
  #累計のプレイ秒数表示
  x = floor(y / (60 * 60)) + ":" +
    addZero(floor((y % (60 * 60)) / 60),2) + "'" +
    addZero((y % 60),2)
    setVariable("累計プレイ時間", y)
  
  x = "累計プレイ時間:" + x
  speak(x)
  
  savePlayDataCustom("セーブしますか?", "はい", "いいえ")
end



また、カスタムメニューについては
この関数のラストにあるsavePlayDataCustom関数以外の処理を
onShowCustomParameter関数内で
表示前に同様に算出すれば可能です

そういった意味では、該当の算出処理は
セーブ処理と混同せず、別途の関数で定義しておいた方が
カスタムメニュー表示処理でも利用しやすくなるので
良いかもしれません