28. 5月 2012 · Write a comment · Categories: WEB制作 · Tags: , ,

PHPロゴ
色々やっていたので若干遠回りになるかもしれないけど、メモ。

Navicatでアクセスできるようにする

root権限で、localhost以外でもアクセスできるユーザをひとつ追加しておく。

GRANT ALL PRIVILEGES ON *.* TO dbmanager@’%’ INDENTIFIED BY password;

ただ、これを実行したら

ERROR 1045 (28000): Access denied for user ‘root’@’%’ (using password: YES)

などと仰る。取り急ぎひとつのデータベースさえいじれれば良かったので、

GRANT ALL PRIVILEGES ON dbname.* TO dbmanager@’%’ INDENTIFIED BY password;

とやったら通った。この後でもう一度上記の *.* を実行したら、OKになった。なんじゃらほい。
最後に FLUSH PRIVILEGES; を実行する。

latin1とUTF8に関する文字化け

5/29追記:最終的にこちらが一番参考になった。

MySQLとPHPの連携:: set names utf8以外の文字化け対策 | KennyQi PHP Blog

MySQL 5.5で「default-character-set」が使えず文字化けする→「character-set-server」にするとOK | KennyQi PHP Blog

Mysql5.5以上の場合、/etc/my.cnf に

[mysqld]?
character-set-server=utf8
skip-character-set-client-handshake

を追加して?/etc/init.d/mysqld restart で再起動。

・・・で、見た目的にはすべてutf8になっているのだけど、実際に稼働させても文字化けが直らず。
mysql_client_encoding で調べてみると案の定、latin1 が返ってくる。

さらに mysql クライアントのオプションとしては character-set-client ではなく default-character-set のままなので注意が必要です。

ということなんだろう。

PHPとMySQLの個人的まとめ ? ぱんぴーまっしぐら

PHPはmy.cnfで[mysql]、[client]を設定しようがクライアントの文字コードはビルド時に指定されたキャラクタセット(通常latin1)。

ということなので、リビルドできる状況ではないため、mysqlに接続したあと mysql_set_charset(‘utf8’); を入れて解決。

—————

参考サイト

MySQLでrootなのにgrantコマンドが実行できない場合の対処法 – eth0jpの日記

Navicat.jp -データベースの管理・運用をより簡単にスムーズに-

24. 5月 2012 · Write a comment · Categories: TRPG · Tags:

ずっと仕事のことばかりだったので、たまには今参加しているオンラインTRPGのことについて。

現代異能バトル オンラインTRPG 魔獣戦線 ~Knights of Round Table~

10年ほど前に参加していたのですが、環境が変わったためにやらなくなってしまいました。けれど、仕事も子育ても落ち着いてきたので、久しぶりにTRPGやりたいなあと思って、探していたら「そういえば・・・」てな感じで復帰することに。

魔獣戦線のシステムは完全オリジナル。管理人の水無月さんは試行錯誤しながらも楽しく運営されていて、TRPGならではの自由度を損なうことなく、安心して遊べるシステムになっています。詳しい話をしても仕方ないので、詳細は公式サイトへ。

最近は新人さんも増え、平日もIRCが賑わっている盛況ぶり。昔とは違うルールに若干戸惑いながらも、初心にかえって遊んでいます。

で、昔と大きく異なる点として、プレイヤーがシナリオを作って遊べる退魔イベントを開催できるようになっていました。大好きな魔獣の世界で遊べるとあっては、これはもうやるしかない!と意気込んで、セッションもそこそこに(いや、参加したいんです。参加したいんですけど朝6時までに終わらないと家の都合でゴニョゴニョ)イベントに参加していたり開催していたりします。興味ある方はぜひー

そしてやっと本題なのですが。

PCの本来の目的は「魔獣を倒すこと」であるので、退魔イベントはあくまでアルバイト。騎士本部が騎士の訓練のために設けたもので、シナリオを作るにはいくつかの注意点があります。

経験談として、それをまとめてみました。

シナリオ作成のポイント

  • 騎士は存在自体が化け物
     = 一般的には能力を表に出さない
  • トリスタンは違法な依頼は受けない
     = つまり暗殺、誘拐などの依頼あり得ない
  • トリスタンはオカルト的に「困っている人」でないと助けない
     = 警察が対応できるようなものはしかるべき機関を紹介するので騎士が出張る必要はないし、被害がないものは対応しない。
      ※これはむしろ強すぎる力を持つ騎士から一般人を守るためなんじゃないかとも邪推できる(笑)
  • 騎士は依頼を必ず達成する
     = 達成できない矛盾が生じるシナリオはつくらない
  • ジャンルは現代異能「バトル」
     = 原則として勧善懲悪。騎士が悩むようなものはしない
       (超個人的にはEMがそれをやらせてもらうのは烏滸がましいと反省)
  • 世界観はあくまで現代
     = リアリティを考えるからこそ面白い
  • 裏や闇の世界からの依頼シナリオはしないほうがいい
     = 水無月さんが構築してくれたこの世界を楽しもう
  • 障壁の組み合わせに注意
     =??「NPC」「ロール」は1NPCにつきそれぞれ1つだけ!
  • 初期情報は依頼人が知り得た情報のみ
     =??情報量を増やすというより、選択肢を狭めよう
        事前情報から導き出される情報源(PCの行動指針)を2~4つ用意する。

シナリオの進行についてのコツみたいなもの

(修正加筆:5/28・水無月さん回答ありがとうございました!)

  • 調査フェイズの各シーンで組み合わせの高めな障壁判定するとお互いにポイントが削れるので、緊張感が出ていい感じ。
  • EPと残り時間に応じて臨機応変に、柔軟にヒントを出して行く。
  • EMの思う通りにPLが動くということはないと心得よう。ホントだよ?

退魔フェイズの時間(5/28追記)

水無月さんからの回答引用:

また、時間が長くなるのは、ラウンド制になるまえにグダグダになってしまうことが大半なのですが、これは退魔フェイズに入っても、どうしたら解決していいのかわからない場合によく発生します。

 時間短縮のためには、退魔フェイズに入るまでに
 ・退魔対象の居場所
 ・どうしたら依頼達成できるか
この2点をクリアできれば、なんとかなるんじゃないかと思っています。

これはEMのシナリオの運び方によるところが大きいですね。PLサイドに立つと、突拍子もない行動をしかねませんし・・・だから尚更、情報源がきっちりとわかるほうがいいということですね。

そして先日IRCチャットの雑談で出た内容から、私としては、

「どうしても時間が気になるなら、あらかじめ宣言しておいた上で、PLの行動を促す」

という結論に至りました。これで2時間オーバーは防げる・・・かな??

ジュエル・コレクターについての(反省を踏まえた)私的見解

オムニバス形式ということもあり、コレクターそのものを消してしまうことはできず、かといって騎士はコレクターの分身すら消せる力がある。この矛盾を解決するためには、騎士が本気でコレクターと対峙することがないようにする、という環境づくりがEMには必要。

ということで「EPに余裕があって、事件の解決が見えてかつ、(本気になりそうな)騎士の力が5以下になっていたら明確に登場させる」ことにした。(あくまで私の方法)

これなら騎士は心の敗北をしてまで追うことはしないでしょうし。(たまにいるけど…そういう時は全力で逃げる!)まあ、やりながら調整していきたい。

いやあ、テーブルトークって、ほんと楽しいですね。

22. 5月 2012 · Write a comment · Categories: WEB制作 · Tags:

.htmlのファイルを右クリックしても編集メニューが出てこなかったので、レジストリをいじってterapadで編集できるようにしたメモ。(やるなら自己責任でね!)

1.レジストリエディタを起動する。Windowsキー+R → regedit で起動できる。

2.HKEY_CLASSES_ROOT¥SystemFileAssociations¥.html を開く。

3.「shell」を追加。

4.そのまま「edit」を追加。

5.更に「command」を追加。

6.右画面の「規定」をダブルクリックして、terapad.exeへのパスを入れる。(最後に%1を入れる)
  具体的にはこんな感じ → C:Program FilesTeraPadTeraPad.exe %1

7.あとは.html ファイルを右クリックして確認。ちゃんと「編集」って日本語で表示してくれる。

あまり .htm って使わないので、ひとまず .html のほうだけ。

18. 5月 2012 · Write a comment · Categories: WEB制作 · Tags: ,

@ or at sign made of puzzle pieces on white background

「だからおまいらは正規表現を書くな(ry」というお叱りと恥を承知で投稿。

経験談から、メールアドレス欄に入ってきたものがエラーになる場合、相手が人なら大抵は本人の勘違い。ということで「こういう入力だと困る」という観点から正規表現を考えてみた。

よくあるのが、

  1. 入力する欄を間違えている
  2. @が抜けてる
  3. .と,を間違える
  4. アカウントやドメインを間違える(docomo.ne.jp → docomo.nejp)

1は項目にもよるけど、日本語が入ってたら蹴ればいいんじゃないかと。4は携帯のドメインくらいならある程度は検証できる。でもメールアドレス間違えてたらどうしようもない。

あとはPG側で救済できる2と3の場合の簡単な正規表現を考えてみる。
(厳密なメールアドレスのルールに沿ったものは有名な http://goo.gl/yCr07 で掲載されているのは承知の上)

preg_match(“/^[^@]+@[0-9a-zA-Z]+.[a-zA-Z.]+$/”, $mail);

これでどうかな。
個人的には大文字がメールアドレスに入っているのが嫌なんだけど、使ってる人もいるのでいれておく。

目的は厳密なメールアドレスかどうかを調べることではなくて、入力した人が初歩的な入力ミスに気づけるようにすること。メールアドレス間違いまでは如何ともしがたいけどなあ・・・。