開催予定
最終更新:
wingedcat
ゲーム開催予定システム
あらすじ
最初の元ネタは、j255鯖のトップページに「ムラムラするボタン」というのがあって、 それを見て、簡単・即時的な表明ができれば」と「ひとこと伝言板」を作りました。 (ひとこと伝言板は現在停止中。後日作りなおし予定)
この開催予定システムは、その技術ノウハウを流用したうえで、開催告知に絞って村盾時間・ゲーム開催時間を明確に表明できたらと作ったものです。 現在は限られた鯖と限られた告知場所でしか利用していませんが、鯖は要望があればどんどん追加します。 また、データを自由に利用してもらって、開催告知をどこのサイトで出してもらっても構いません
使っていいの?
大きく分けて、5つのケースがあると思います。
このシステム自分のサイトで紹介したい
いくらでもどうぞ
この予定内容を自分のサイトでも表示したい
- 大歓迎です!
- 許可は不要です。どんどんやってください。
- 本システム(以下「システム」)からデータを受け取り、自分のサイトで加工しても構いません。
- 同データから必要なものだけを選んで表示させても構いません。
- 連絡の義務はありませんが、設置したURLを教えていただけると幸いです。
- 組み込むためのサンプルプログラムを用意しております。
登録フォームを自分のサイト設置したい
- 基本的に、他サイトからのフォーム登録は出来ないようになっています。
- 主にレンタルサーバの規約的な問題で、可能な限り、こちらのページへのリンクで対応してください。
-
選択肢を限定したフォームを使う等、どうしても自前で行いたいときには、下記の内容を持ってお問い合わせ下さい。
- フォームを貼り付けるサイト
- フォームを貼り付ける予定のURL
- 開発者の連絡先
サーバやコミュニティをシステムに追加したい
以下の項目をお問い合わせ下さい。確認後、追加致します。
- 人狼サーバ(または人狼コミュニティ)の名前
- 上記サーバ(コミュニティ)のトップページURL
-
そこで行われる可能性のある村の種類(特になければ「普通村」で)
- 現在存在しない選択肢でも、要望いただければ作ります
- (背景色として)好みの色がありましたら是非教えてください。
このシステムを自分のサイトで運営したい
- 申し訳ありませんが、配布は考えておりません
- 情報を集約して、情報閲覧者がいろいろな人狼に触れて欲しいと思っております
ゲーム開催予定の組み込み
はじめに
全体的に文字コードがUTF-8である事を前提に作られています。
それ以外の文字コードの場合、適宜変換が必要になりますのでご注意下さい。
サンプルページを使って組み込む
- http://www30.atpages.jp/cheen/muramura/sample_r.html を、名前をつけて保存する
- 【共通のJavascript/CSS設定読み込み】の次の行(<script>文)とその次の行(<link>文)を、掲載ページのヘッダに書込む
- 【表示用StyleSheet】は、掲載ページで読み込む別ファイルにするか、ヘッダに書込む
CSSを別ファイルで持つ場合、CSSファイルは必ず文字コード指定してください。 これは、CSSデータ内(フォント指定)に、日本語が使われている為です。 指定の仕方は、ファイル先頭に「@charset "UTF-8";」等と記入します。 (ファイルの文字コードと合わせて下さい)
- 表示させたい場所に【表示用HTML】と【表示用Javascript】の中のソースを書込む
- 「<div id='muramura'>」~「/div」が表の組み込まれる位置となります
- あるいは、【表示用Javascript】をヘッダや別ファイルで書込み、最後の★部分を最下部orbodyタグから実行させる
Javascriptの位置を(【表示用HTML】直後から)変えた場合、「MRMRdisp();」行は削除し、 HTML末尾やbodyのonLoad等で、HTMLの該当箇所読み込み完了後に MRMRdisp()を実行する方法を取ってください。
- MRMRdisp()をonClick等で再度呼び出すことでデータの更新ができます
組み込んだ表示の設定を行う
- CSSは好みに改変してください。
-
サーバ名と村の種類について、登録サーバが増えた時に、配色のCSSデータがない場合があります。
- 最新のものは http://www30.atpages.jp/cheen/muramura/muramuracolor.css にありますので、参照するかコピーして下さい。
- MRMRheaderはtable直後のHTMLを記載しています。デフォルトではタイトル行を表示します。
-
MRMRsortserverは表示するサーバとその順番を決定します。
- MRMRsortreverseがtrueの場合、ここの順番も逆になるので、「MRMRtable['serversort'].reverse();」等逆転させておきます。
- MRMRsorttimeは、時間→サーバ名の順表示(true)するか、サーバ名→時間の順に表示するかを決めます
- MRMRsortreverseは、(true)後の予定を上に表示するか、(false)先の予定を上に表示するかを決めます
- MRMRnoStartGapは、開始予定時間が無い予定を、作成時間後どのくらいでリストから消すかを決めます
データを利用して自分で作表する
システムの大まかな仕組み
- 初期設定用Javascriptに基本的な設定情報がある。
- 予定が登録された時点で、元データ内にある「開始予定時刻を過ぎた情報」は、データファイルから削除される
- 登録用URLへ必要情報をPOSTすると、データファイル(JSONPフォーマットの静的ファイル)が書き換えられる
- この時、既に開始時間を過ぎたデータがあれば削除される
- データファイルから表示の生成は、表示プログラム側が行う
- 呼び出し時点で「賞味期限切れ」になったデータは。表示プログラム側で対処することとする
初期設定用Javascript
- http://www30.atpages.jp/~cheen/muramura/muramuratable.js
- データファイルのURL等システムが持つ基本データが書いてある
- HTMLヘッダ部分で読み込むことで、MRMRtableオブジェクトを作る
-
システムが用意した名前が気に入らない場合、読み込み直後に値を変える方法を推奨
- 新しい情報が増えるたびに開発者がプログラム更新しなくても使えるようにする為
MRMRtableの主なオブジェクト
| formURL | 登録フォームがデータを送信する先のURL 送信はPOSTで |
| jsonpURL | データファイルのURL |
| servers | 情報を登録できる各サーバの情報。キーがサーバコード |
| serversort | 表示する際に使うサーバのソート順(デフォルト) |
| gametype | 「村の種類」の種類※。サーバ毎に選択肢を設定可能 |
| maxsize | 登録プログラムが許す文字数の上限 |
- serversの中には、サーバ毎の情報が入っている
MRMRtable['servers']の主なオブジェクト
| (キー) | サーバの名称コード。データにはこの文字が入っている |
| name | サーバの名前※ |
| URL | サーバのトップページURL |
| type | そのサーバで行われる村の種類(配列) |
| hash | そのサーバのTwitterハッシュタグ |
※gametypeとservers→nameの文字列には、改行(<br>)が存在することもあるので、適宜<br>を削除を。
データファイル
- フォーマットはJSONP(文字コードはUTF-8)
- コールバック(関数名)は MRMRresponse (固定)
- JavascriptならAjaxで呼び出してこのまま使える
- 他言語で読込むときは、先頭「MRMRresponse(」と末尾「)」を削除してからJSONでパースすれば配列が取れます。
- レコード構成は下記の通り(連想配列です)。
データファイル(JSONP)の構造 |(キー)|idとtimeをくっつけた値。意味は無い(ユニーク識別の為)
| name | 登録者の名前(トリップ変換済) |
| server | ※ゲームサーバのコード |
| type | ※村の種類のコード |
| comment | 案内文 |
| build | ゲーム作成時刻 |
| start | ゲーム開始時刻 |
| time | 登録された時刻 |
| id | 登録者のid。IPアドレスから生成される |
| color | ◆の色。6桁16進数(#は無し)。IPアドレスから生成される |
| url | 関連URL(実装しました) |
- 時刻は全てUnixTime(1990/1/1からの経過秒数)。タイムゾーンは考慮していない
- ※印の2つのコードについては、MRMRtableから名前等の付帯情報を取得する
更新履歴
- 2011/09/16 sample_r2.html
- [javascript]名前欄の廃止(名前も案内文欄へ)
- [javascript]ツイッターアイコンを<img>タグごと設定ファイル化
- 2011/09/13 sample_r1.html
- 初版
(おまけ)フォームの仕様
POSTで送るデータは以下のもの。Javascriptコードの大部分は、登録中に極力エラーを出さない為に入力時に警告する動作のため
POSTで送る必要のあるデータ |name|登録者名(トリップ可)。chrsetで指定する文字コード|最大文字数※を越えるとエラー
| server | 使用サーバ | 設定用Javascriptに記載されているもの |
| type | 村の種類 | 設定用Javascriptに記載されているもの |
| comment | 案内文 chrsetで指定する文字コード | 最大文字数※を越えるとエラー |
| chrset | POSTで送るデータの文字コード | 「UTF-8」または「EUC-JP」または「SJIS」 |
| build | 開始予定時刻(UnixTime) | 過去&翌週25時以降設定負荷 |
| start | 開始予定時刻(UnixTime)0で予定時刻なし | 過去&翌週26時以降設定負荷 |
| url | アドレス | 省略する時は''を送信 |
※最大文字数はMRMRtableにてシステム側で設定値を書き込んであります
質問、利用等の問い合わせ先
- 主にTwitterで連絡をしています。
- 汝は猫又なりや?因幡鯖のチャットルームに居ることもあります