当計算機は7Days to Dieのサーバー・クライアントのゲーム内時間を変更する際の時間指定を計算するツールです。 サクッと時間変更したい時にご活用ください。
分指定は計算式がよくわからなかったため未対応です。
また、Day1 00:00が始点であるため、それより前の時間にするとマイナス値で例外エラーが発生します。もし入れてしまった場合は正常値を入力すると元に戻ります。
○更新
a12より計算式が変更されたためこちらも変更しました。
○更新2
分に対応させました。
7dtdでは内部時間をint型で管理しています。
つまり、Day、Hour、Minuteをすべて一つの整数で表す必要があります。
そこで、実際の時間の動きを追って計算してみたところ、以下の計算式が浮かび上がりました。
// JavaScript
(Day - 1) * 24000 + (Hour * 1000) + Math.ceil(Minute * (1000 / 60))
// C#
(Day - 1) * 24000 + (Hour * 1000) + (int)Math.Ceiling((double)Minute * (1000 / 60))
まず、
Dayは1日目からスタートするので-1をし、更に24000をかけます(後述)。
次に、
Hourに1000(後述)をかけてDayに足します。
そして最後にMinuteを計算しますが、
60分を1000とするため、
60/1000した16.66...をかけます。
計算結果に
少数が含まれるので更に切り上げます。
切り捨てると分が-1になってしまいます。
このことから、Minuteの方で60分を1000とするので、Hourは1000をかけ、Dayは24000をかけます。
要するに
1日は24000で、
1時間は1000で、
1分は(切り上げ)(1 * (60/1000))ということになりますね。
ここまで書いてあれなんですが、分に関しては場合によってはズレがありそうです。
そこまで細かい指定をする必要性はほぼないと思いますが、その点だけご了承ください。