罪と罰++二律背反


*ランダムイベント [#g557ad83]

-ページ: [[罪罰改造板2]]
-投稿者: [[six]]
-優先順位: 重要
-状態: 完了
-カテゴリー: こんなのが欲しい♪
-投稿日: 2007-04-05 (木) 17:20:19
-バージョン: 

**内容 [#i32ffff3]
何時間に一回くらいの割合でどこかの国の物資を一割程度減らしたいのですが、どうしたらいいでしょうか?
時間指定でならできそうなのですが、ランダムとなるとどうすればいいかわかりません。
system.cgiに組み込む形で助言してもらえるとありがたいです。
よろしくお願いしますm(_ _)m
----
-きっちり1時間毎でなくて良ければ。。。>>更新時間を記録する変数(例えば$a_time)を国データに作り、処理の時に$a_time=$time+3600;って感じで、現在の時間+次の更新までの時間で記憶させる>system等でif($a_time<$time){〜〜〜}で処理させたい内容を記載。>ランダムにしたいのであれば、$v=int(rand(3600))+3600; $a_time=$time+$v;みたいな感じでどうでしょうか? -- [[三毛猫]] &new{2007-04-05 (木) 19:08:36};
-ただこれだと、、、誰かがINして更新してくれないと発動しません。(特に夜中など)。。。それと、INし過ぎていても、携帯などで処理までに時間がかかったりする場合、同時に複数発動してしまうことがあります。(ゥチの場合、mainに入れてるセイかもですが。。。^^;)>何処におくと一番安定するか、年度替りの多忙が終わったら模索しようと思ってたり。。。。。^^;; -- [[三毛猫]] &new{2007-04-05 (木) 19:15:10};
-その方法でやると同じタイミングで複数の人がクリックしたら複数イベントが発生したりするでしょうか?試しにすぐ発生するようにしてsystem.cgiに組み込んだら複数発生したので^^;main.cgiではどうかなと思いまして。とりあえず、自分でいろいろ試しながらやってみます。 -- [[six]] &new{2007-04-05 (木) 21:19:01};
-複数発生するって書いてありますね・・・^^; -- [[six]] &new{2007-04-05 (木) 21:59:12};
-$timeの算出から$a_timeで比較するまでの時間が、ユーザーによって幅があるようなのです。(特に携帯で)。なので、誰かが処理してる間に、$a_timeが更新されて無いので他のヒトも処理を始めてしまう。。。っと>>ちなみにmainでの処理で、「PCでの更新のみ処理開始」にすると複数処理は激減します。 -- [[三毛猫]] &new{2007-04-05 (木) 22:37:25};
-でもそれじゃぁ、、夜中に全然処理されなくなるんですけどね。。。orz -- [[三毛猫]] &new{2007-04-05 (木) 22:38:32};
-統一期限と同じようにすればできるかな、と思ったんですが、統一期限のカウントはどこでやってるかわかるでしょうか?system.cgiをざっと見たんですがなかなか見当たらなくて・・・orz -- [[six]] &new{2007-04-05 (木) 22:48:59};
-それが三毛猫さんが言ってる事と同じようなことですね・・・^^; -- [[six]] &new{2007-04-05 (木) 23:07:29};
-とりあえず if($a_time<$time){require './inc/ore_sub-main_reset.cgi';&event_time;}で様子を見てみようと思います。ありがとうございました。 -- [[six]] &new{2007-04-05 (木) 23:47:38};
-早速なんですが・・・イベント発生までの時間が2000秒近くいきなり縮んだりするんですが、原因はわかるでしょうか^^;http://metalgear.is.land.to/ELT_/html/event.txtこんな感じで処理はしています。 -- [[six]] &new{2007-04-06 (金) 00:22:34};
-rand(3600)なので、、0〜3599の乱数なら、1=1秒なので、2000秒は計算の範囲内かと思いますが。。。(・・? -- [[三毛猫]] &new{2007-04-06 (金) 12:03:18};
-ぇーと、発生までの時間が決まったあと一気に2000秒近く縮んだりするんです^^;最悪80000秒くらいあったのが一気に縮んだりと・・・orz -- [[six]] &new{2007-04-06 (金) 13:26:46};
-ぁー国データの中で$a_timeが変動してるって事ですか。。。^^;>んと、$a_timeは昨日適当に付けたものですので、もっと他に使われてなさそうな変数名に変えてみてください。(timeという文字が入らない方が良いのかもしれません) ぁ、一応ログファイルの中のcdata.cgiのパーミッションが666かどうかも確認してみてください。>それと、携帯排除じゃない重複処理の上でそうなるのであれば、、、、 -- [[三毛猫]] &new{2007-04-06 (金) 14:06:58};
-ブラウザの更新処理で、古いtimeをひっぱって来ることがあります。(途中切れ失礼orz -- [[三毛猫]] &new{2007-04-06 (金) 14:09:32};
-変数を変えたところ短縮されなくなりました^^ありがとうございました。 -- [[six]] &new{2007-04-06 (金) 20:45:41};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS