HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0715
トンタンタンプレイ時間を記録するには?6解決


トンタンタン

リンク

2007/7/15(Sun) 18:22:46|NO.9527

よく、RPGなどのゲームで、今までのプレイ時間を表示するものがありますが、HSPでは、どうすれば作れますか?やっぱり、町を歩いている時や、戦闘中などの時でも、wait命令で一秒間隔で変数に数字を足していけばいいのでしょうか?全くわからないので、教えてください。



この記事に返信する


f

リンク

2007/7/15(Sun) 18:55:17|NO.9528

gettime使えばいいんでね?



Irisawa

リンク

2007/7/16(Mon) 03:11:54|NO.9540

タイマーを使用して処理すればできそうな気がします。

http://yokohama.cool.ne.jp/chokuto/advanced/usertimer.html



Megane

リンク

2007/7/16(Mon) 14:27:53|NO.9545

プレイ開始時刻を表す変数をk、
プレイした時間を表す変数をpとすると、

ニューゲームを始めたとき…時刻(時・分・秒)をgettimeで調べ、kに代入。pには0を代入
起動時間を表示するとき…時刻を調べて、そこからkを引き算して、
                pに足して(p自体は変更せずに)表示する。
セーブするとき…時刻を調べて、そこからkを引き算して、
          pに足す。そのpを他のデータと一緒にセーブしておく。
ロードするとき…pをセーブデータからロードする。そして、時刻を調べて
          それをkとする。

考え方はこれでいいはずなんですね。
プレイ中に時刻が訂正されることがなければ、ですが。



なたで

リンク

2007/7/16(Mon) 17:04:05|NO.9547

timeGetTimeを使うといいと思います。

#uselib "winmm.dll" #cfunc timeGetTime "timeGetTime" button "起動",*起動 button "終了",*終了 stop *起動 title "起動中" a=timeGetTime() stop *終了 title "終了" b+=timeGetTime()-a mes "計"+str(b/1000)+"秒間、起動しました。" stop



hitme

リンク

2007/7/16(Mon) 19:16:59|NO.9552

参考程度に・・・。
これはonexitを使用してプロセス終了時に
起動時間から計算したプレイ時間を表示するようにしています。
これを使って色々試していただければ幸いです。
(※ 秒、分単位までの検証までしか行っていません)

onexit goto *exit
starttime=gettime(4)*3600+gettime(5)*60+gettime(6) stop *exit playtime=gettime(4)*3600+gettime(5)*60+gettime(6)-starttime h=playtime/3600 m=(playtime-h*3600)/60 s=playtime-h*3600-m*60 dialog "プレイタイムは"+h+"時間"+m+"分"+s+"秒です" end



トンタンタン

リンク

2007/7/18(Wed) 13:42:32|NO.9596

みなさん、ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.