集計厨特製ランキング集計ツール
月間ランキング集計ツール(version 3)
●説明
アップロードされた天鳳のログファイルから1ヶ月単位で個室戦のランキングを集計するツールです
(ログファイル自体はHP管理者自身が自分でダウンロードして自分でアップロードする必要があります)
●手順
無料のものでも構わないのでHP(ホームページ)サービスに登録してください
その際の注意点ですが
ログファイルをそのままアップロードした場合、1か月分は20MB前後になると予想されますので30MB以上の容量があるサービスを利用するとよいでしょう
アップロードにはFTPアップロードが便利ですのでFTPアップロードのサービスがあるところをオススメします
またファイルのアップロードに際し、jsファイルやcssファイル、logファイルなどのアップロードが禁止されていないHPサービスを選んでください
いずれかのファイルをダウンロードしてください
shukei_ss.zip (スタイルシート有り。通常ver)
shukei_ns.zip (スタイルシート無し。通常ver)
shukei_ss_js.zip (スタイルシート有り。JS別ver)
shukei_ns_js.zip (スタイルシート無し。JS別ver)
※通常verとJS別verの主な違いはJavascriptのコードがshukei.htmの中か外の違いです
ダウンロードしたzipファイルを解凍(展開)すると以下のファイルが出力されます
[通常ver JS別ver 共通]
説明.txt (このファイルです。このファイルはアップロードする必要はありません)
shukei.htm (ランキングを表示するページ。必須です)
style.css (スタイルシート有りの場合は必須です。スタイルシート無しの場合は要りません)
[JS別verのみ]
xmlhttp.js (JS別verでは必須です。通常verでは必要ありません)
cookie.js (JS別verでは必須です。通常verでは必要ありません)
getset.js (JS別verでは必須です。通常verでは必要ありません)
setsyv.js (JS別verでは必須です。通常verでは必要ありません)
shukei.js (JS別verでは必須です。通常verでは必要ありません)
commu.js (JS別verでは必須です。通常verでは必要ありません)
formpart.js (JS別verでは必須です。通常verでは必要ありません)
以上の
通常verなら2つ(または1つ)のファイルを
JS別verなら9つ(または8つ)のファイルを
HPの掲載したいディレクトリ(フォルダ)にアップロードしてください
これで集計ツールの設置は完了です
続いてログファイルを用意します
さてダウンロードしたログファイルを解凍ソフトで解凍すると logファイルが出力されたと思います
その logファイルを先ほど集計ツールをアップロードした場所と同じディレクトリにアップロードしてください
なお集計のためには、その月の1日(ついたち)の分から順番に揃っている必要があります
(日付の途中が抜けているとその日付前までしか集計されません)
ツールとログファイルがアップロード完了しましたら
さっそくサイトを開いてちゃんと集計されるか確認しましょう
(ダメだったらスレで訴えるか諦めてくださいな)
以降は集計したい日のログファイルをダウンロード&解凍してはアップロードするという毎日です
頑張ってください
留意すべき点としてはHPサービスのサイズ制限を気にしてください
見る必要の無くなった月のログファイルをすべて削除するなどで対応してください
●FTPアップロードについて
Vectorや窓の杜などのサイトでFFFTP等のソフトウェアを利用するのも一つの手です
また、WindowsXPなら「マイ ネットワーク」の「ネットワークプレースの追加」にFTPの登録をするとドラッグ&ドロップで簡単にアップロードできます
●手間かけるかい?
ログファイルを集計したい個室以外のログを削除するとファイルサイズを減らせます
(手作業だとかなり手間です。便利なソフトウェアを見つけましょう。編集する際、文字コードはUTF-8に必ずしてください)
また上記のように編集したファイルをさらに
ひと月分のログを1日(ついたち)のログにまとめてしまい2日(ふつか)以降のログを削除すると
ファイル数が減りディレクトリ内がすっきりするかもしれません(気分です)
同様に特定の人物の対戦だけや特定のルールの対戦だけ抽出編集する
1日のログにに1月のログ全部、2日のログに2月のログ全部・・・とやって
どこか適当な月の集計で年間ログを表示するなんてことも
などなど他にも使い方があるかもしれませんが
まぁ面倒でしょうね
●パラメータについて
version3ではURLにパラメータを付与することによって色々設定できます
リンクを貼る場合などに表示したいところをこれにより指定できるようになります
パラメータを設定しない場合はデフォルトの設定になります
(別途おまけとしてパラメータ指定URL作成ファイルも同封してあります。そちらを使えば簡単です)
パラメータとは?
http://xxx.yyy.zzz/shukei.htm?y=2011&m=3&lby=l2260
~~~~~~~~~~~~~~~~~~~~~
↑この部分を私はパラメータと勝手に呼んでいます
▼設定できるパラメータ
パラメータ 意味 指定例
y 集計する年 y=2010 2010年
m 集計する月 m=12 12月
lby 個室ロビー名 lby=l2260 個室ロビー L2260
calc ページ表示すぐに集計する calc
noname 除外リストにNoNameを加える noname
sengetsu 集計する年月を先月に設定する sengetsu
(但し y や m を指定していると
そこから数えて先月になる)
log ログの表示するかの設定 log=1 全てのログを表示
(0-しない 1-全て 2-指定ルールのみ)
sanma 3人麻雀を指定する sanma
lng 集計する対戦の長さの指定 lng=2 半荘戦の対戦を集計
(0-両方 1-東風戦のみ 2-半荘戦のみ)
rule 喰いや赤のルールの指定 rule=1 喰い有り 赤有りの対戦を集計
(0-全て 1-喰有赤有 2-喰有赤無
3-喰無赤無 )
min 規定対戦数の最低対戦数の設定 min=5 5戦以上の人を集計
last 規定対戦数で「最後の」を設定 last
cnt 規定対戦数の設定 cnt=10 10戦まで
具体例
http://xxx.yyy.zzz/shukei.htm?sengetsu&min=5&calc&lng=1&rule=3
先月の4人麻雀(東風戦喰無赤無)の5戦以上の人を集計する設定にし、ページ表示後すぐに集計する
http://xxx.yyy.zzz/shukei.htm?y=2010&m=5&sanma&min=5&cnt=20&noname
2010年5月の3人麻雀の5戦以上のNoName以外の人を最初の20戦まで集計する設定にする
shukei.htm?lby=c1234&log=2&calc&noname&min=10&last&cnt=10&lng=2&rule=2
今月の大会ロビーC1234の4人麻雀(半荘戦喰有赤無)の
10戦以上のNoName以外の人の最後の10戦までを集計する設定にし、
ページ表示後すぐに集計する。また4人麻雀(半荘戦喰有赤無)のログだけ表示する
●その他
- jsファイルがをひとつのフォルダにまとめたい場合 [JS別ver]
(この作業にはHTMLの編集の知識が必要かもしれません)
shukei.htmにある<script>タグのjsファイルへのリンク先を全て修正してください
修正例:jsフォルダにjsファイルを保存している場合
<script type="text/javascript" src="xxxxx.js"></script>
↓
<script type="text/javascript" src="js/xxxxx.js"></script>
- ログファイルをひとつのフォルダにまとめたい場合 [通常ver JS別ver 共通]
(この作業にはJavascriptの知識が必要です)
通常verの場合shukei.htm、JS別verの場合commu.js の各ファイルの
Javascriptの記述部の中の makeLogURL ファンクションの中にある
logplaceという変数の内容を変えることで実現できます
修正例:logフォルダにログファイルを保存している場合
var logplace = "";
↓
var logplace = "log/";
- ログファイルを年月別のフォルダにまとめたい場合 [通常ver JS別ver 共通]
(この作業にはJavascriptの知識が必要です)
通常verの場合shukei.htm、JS別verの場合commu.js の各ファイルの
Javascriptの記述部の中の makeLogURL ファンクションの中にある
logplaceという変数の内容を変えることで実現できます
修正例:2010年5月のログをlog201005フォルダに保存している場合
var logplace = "";
↓
var logplace = "log" + y + (m<10?"0":"") + m + "/";
- ログファイル名を任意のファイル名にしたい [通常ver JS別ver 共通] ※非推奨
(この作業にはJavascriptの知識が必要です)
非推奨です
通常verの場合shukei.htm、JS別verの場合commu.js の各ファイルの
Javascriptの記述部の中の makeFileName ファンクションを編集することで実現できます
このツールは存在しないログへアクセスしたときにログ取得処理を終了し集計を開始します
makeFileName ファンクションの引数 d (日付)のみ変化します(1から1ずつ増加していきます)
任意のファイル名にする場合 引数 d の値によって存在しないログファイル名を返すようにしてください
修正例:ログファイル名をyyyy-m-d.txtにする場合
function makeFileName(y, m, d) {
return "sca" + y + "" + (m<10?"0":"") + m + "" + (d<10?"0":"") + d + ".log";
}
↓
function makeFileName(y, m, d) {
return y + "-" + m + "-" + d + ".txt";
}
- もっと色々といじりたい場合 [通常ver JS別ver 共通]
好きなようにいじって構いませんが
その結果どうなろうとも私は一切知りません
全て自己責任において行ってください
●ツールの作成に際して
外観、集計につきましては天鳳の集計ツールをほとんどそのまま使いました(ほとんど転用です)
また、ログデータの読み込み処理には下記のサイトを参考にさせていただきました(こちらもほとんど転用です)
クッキーに関する処理は下記のサイトを参考にさせていただきました(こちらもほぼ転用です)
9割以上が上記らの転用なので私自身は特にすごいことはやってないのでした
●免責事項
当ツールを利用することにより発生するいかなるトラブルにおいても私は一切責任を負いません。
全て利用者の自己責任において使用してください。
履歴
● v2 から v3 への変更点・改良点・修正点
[通常ver]
jsファイルを無くしJavascriptを全て shukei.htm に記載しファイル数を減らした
[JS別ver]
getset.js のファンクション名をより分かりやすいよう改名
shukei.js の通信部処理とフォーム部処理をそれぞれ commu.js formpart.js に分離
また shukei.htm の月一覧をJavascriptで生成する意味は無いので setsmv.js を削除
[通常ver JS別ver 共通]
汎用性を高めてより多くの人が使えるように喪雀専用化を廃止(『喪雀』の文字を消し、個室ロビーを入力可能に戻した)
集計のルールを細かく設定できるように変更
集計対象のログだけを表示できるように変更
URLにパラメータを付与することにより固定の設定で shukei.htm を開けるようにした(クッキー保存でないためリンクにより他者と共通で使える)
除外者リストをクッキーに保存できるようにした
設定のクリアボタンを設置した(HTMLでのデフォルトに再設定される。年月は2007年1月になってしまう)
● v1 から v2 への変更点・改良点・修正点
ブラウザを閉じてもキャッシュを消さない設定の場合
ダウンロードされた古いログがそのまま利用される問題に対処(対症療法的)
Javascriptのコードを見やすくなるよう整理した
(共通処理のファンクション化、コメントの追加、必要ないコメント(祝儀の表示など)の削除 等)
Javascriptを shukei.htm からjsファイルに分離した JS別ver を作成
喪雀専用化し タイトル等に『喪雀』の文字を入れ、個室ロビーをL2260固定に
● v0 から v1 への変更点・改良点・修正点
存在しないファイルへアクセスした場合
XMLHttpRequest で返されるステータスコードが
アップロードされたサイトによって違うことにより
集計が開始されない問題に対処(対症療法的)
スタイルシートの有り無しにファイルを分ける
● v0 誕生
有用だったランキング集計サイトが無くなり
手動でランキング集計し転載する人の手間が少しでも軽くなればと思い作り始める
天鳳サイトの集計ツールをそのまま転用し
集計元となるログデータを同一サーバー上にアップロードして
XMLHttpRequest で読み込んで集計するよう作成
祝儀の集計はコメントアウトし非表示にした
最終更新:2011年09月01日 12:33