私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

No.1801  Re[4]:ログインボーナスとタイムボスに購入ランキング
発言者: YOUME
発言日: 2014 10/17 16:42
アドバイス感謝です。
ひとまず1番目からできるように頑張っていきたいと思うのですが、ここで疑問点をひとつひとつ書いて言っても良いでしょうか?

お手数をおかけして恐縮なのですが、
お時間あるときにご返信いただけたら幸いです。

現在、改造を施しているのがFQFD様が配布されていたSOS2土台なので、ほとんどの項目がplで分割してあり、独自要素もかなり入っているので混乱しないよう気を付けていきたいと考えているのですが、しょっぱなから頭を抱えてしまいました…。


>ユーザーデータに新しいパラメータ(仮に$login)を用意しましてsub make_conのuserout実行前に以下のような処理を行えば良いと思います。

まずはmake_con.pl内をと思ったのですが、

既存仕様で、ログインするとテントポイントというものが現在付与されるようになっています。

これは保存していた時間に応じて獲得できるポイントで、これといって使い道が無かったので、現在は換金できるようにしてあります。

このテントポイントの処理がかなり入っており、抜粋すると以下のような感じです。

    if ($lasttm && $ss_system){
        $words = "ログインしました。<br><br> $date";
        $tentt = time - $lasttm; $lasttm = time;
        $ten_d = int($tentt / 86400); $tent1 = $tentt - ($ten_d * 86400);
        $ten_h = int($tent1 / 3600); $tent1 = $tent1 - ($ten_h * 3600);
        $ten_m = int($tent1 / 60); $ten_s = $tent1 - ($ten_m * 60);
        $ten_h = sprintf("%02d",$ten_h); $ten_m = sprintf("%02d",$ten_m); $ten_s = sprintf("%02d",$ten_s);
        $datemsg = "$ten_d日$ten_h時間$ten_m分$ten_s秒";
        if ($fg eq "NS"){
            $ad_point = int($tentt * $ss_hn_svp);
            $words .= "<BR><b>テントポイントを$ad_point獲得した</b></FONT>\n" if $ad_point > 0;
            $words .= "<BR>テントポイントは増えなかった。\n" if $ad_point == 0;
            $words .= "<BR>テントポイント$ad_point。\n" if $ad_point < 0;
        }elsif ($fg eq "HS"){
            $ad_point = int($tentt * $ss_hh_svp);
            $words .= "<BR>テントポイントを$ad_point獲得した</b></FONT>\n" if $ad_point > 0;
            $words .= "<BR>テントポイントは増えなかった。\n" if $ad_point == 0;
            $words .= "<BR>テントポイント$ad_point。\n" if $ad_point < 0;
        }elsif ($fg eq "SS" || $fg eq "DISCOVERS"){
            $ad_point = int($tentt * $ss_hs_svp);
            $words .= "<BR>テントポイントを$ad_point獲得した</b></FONT>\n" if $ad_point > 0;
            $words .= "<BR>テントポイントは増えなかった。\n" if $ad_point == 0;
            $words .= "<BR>テントポイント$ad_point。\n" if $ad_point < 0;
        }else {$words .= "\n";}
        $tep = 0 if $tep eq ""; $tep += $ad_point;
    } else {
        $words = "ログインしました<br><br> $date";
    }

恐らくこの辺までがテントポイントの関わる処理だと認識してます。

ログイン時にマイレコードに「ログイン通知とログイン日時、IP、テントポイントの変動が書きこまれるようになっているので、そのソースも含まれてます。

せっかくなので、ログインボーナス獲得情報も一緒に記載したいと考えています。

現在あるテントポイントの処理を流用してログインボーナス機能を入れるには、一体どうすればいいのか、無い頭をいくら絞っても分からず、前にも同じようなことを無理矢理やろうとして、うまくいかなかったものなので、余計に自信なく…

ステータス足しはテントポイントの$tepがある場所に追記すればいいのかな?と認識しているのですが、

>1. $loginから前回のログイン時間(正確には該当日の最初のログイン時間)とログイン日数を取得する。
>2. 1.で取得したログイン時間の年月日と現在時間の年月日を比較して異なっていれば処理を行う。
>2.1. ログイン時間とログイン日数を更新する。
>2.2. $loginを更新する。

これに関しては、一体どうすれば…と皆目見当もつきません…

>2.3. ログイン日数に応じて$bgにアイテムを追加する。

追加する処理くらいは…と思ったのですが分かりそうで分からなかったです…似たような処理を見回してみたのですが…
Sub Join Item絡みの処理になるのでしょうか?

無知丸出しで大変お恥ずかしい話なのですが、
ご教授の程、何卒宜しくお願いします…

▼関連発言

1797:ログインボーナスとタイムボスに購入ランキング [YOUME] 10/15 14:53
 ├1798:Re:ログインボーナスとタイムボスに購入ランキング [moon] 10/15 21:43
 │└1799:Re[2]:ログインボーナスとタイムボスに購入ランキ.. [YOUME] 10/16 09:06
 │ └1800:Re[3]:ログインボーナスとタイムボスに購入ラン.. [moon] 10/16 18:42
 │  └1801:Re[4]:ログインボーナスとタイムボスに購入ラ.. [YOUME] 10/17 16:42
 │   └1802:Re[5]:ログインボーナスとタイムボスに購入.. [moon] 10/17 20:14
 │    └1803:Re[6]:ログインボーナスとタイムボスに購.. [YOUME] 10/20 12:00
 │     └1804:Re[7]:ログインボーナスとタイムボスに.. [moon] 10/20 19:13
 │      └1805:Re[8]:ログインボーナスとタイムボス.. [YOUME] 10/21 11:49
 │       └1806:Re[9]:ログインボーナスとタイムボ.. [moon] 10/21 19:37
 │        └1807:Re[10]:ログインボーナスとタイ... [YOUME] 10/22 09:49
 │         └1808:Re[11]:ログインボーナスとタ... [moon] 10/22 19:01
 │          └1809:Re[12]:ログインボーナスと... [YOUME] 10/23 09:42
 │           └1810:Re[13]:ログインボーナス... [moon] 10/23 19:34
 │            └1811:Re[14]:ログインボーナ... [YOUME] 10/24 11:47
 └1812:Re:ログインボーナスとタイムボスに購入ランキング [moon] 10/24 20:46
  └1813:Re[2]:ログインボーナスとタイムボスに購入ランキ.. [YOUME] 10/25 11:12
   └1814:Re[3]:ログインボーナスとタイムボスに購入ラン.. [moon] 10/25 13:58
    └1815:Re[4]:ログインボーナスとタイムボスに購入ラ.. [moon] 10/25 14:21
     └1816:Re[5]:ログインボーナスとタイムボスに購入.. [YOUME] 10/26 18:49<-last

  返信フォーム [引用]
名 前 保存
題 名
発 言
PASSWORD
投稿確認必ずチェックを入れてください。こちらにはチェックを入れないでください。
書き込む
◇題名は、短くわかりやすく書いてください。
◇過去に同じ内容が投稿されていないか検索してから書き込んで下さい。
◇管理人の判断により相応しくない投稿は削除します。

Pass 保存


CGIROOM