FFAいく改・バージョン2を配布するに当たって FFAいく改をご利用、ご参考にしていただきありがとうございます。 今回、約1年ぶりぐらいの更新としてバージョン2を配布させて頂くことになりました。 およそ、前バージョンをそのまま引き継がれようとする方もいらっしゃるかもしれませんが、今回は大幅な改訂となってしまいました。 そのため、そのままのデータでは移行することが出来ません。 改造された方などもいらっしゃると思いますので、ある程度の便利CGIも一緒に配布させていただいております。 もしよければ、そちらをご利用いただき、新バージョンへと移行していただけるとありがたく思います。 なお、今回のバージョン1からの変更点としましては ○ キャラクターデータ読込方法の変更 ログ.txtに書いてありますが、$kidなど、いちいち名前を指定していたのを$chara[0]のように配列に挿入しました。 ○ 二重窓対策の強化。連打防止 &chara_checkという風に、regist.pl内にあるサブルーチンでキャラクターデータがフォームを送られてきたページからの情報と整合するかどうかをチェックしています。 ○ 負荷に対する大幅な対策 余計な記述などをまとめ、全体的にすっきりとしたプログラムに変更しました。 ○ 改造をしやすくしました まずは管理モードを見ていただけるとすぐに分かるかと思いますが、アイテムの追加、職業条件の変更などを管理画面で簡単に変更できるようにしました。 また、CGIを触れる人にとっても、戦闘などほぼ全てサブルーチンにまとめてしまったので、サブルーチンを変更すれば全体に反映されるようにしたり、全体へのメッセージを&all_message("文章");だけで簡単に流せるようにしたりなどしています。これについては、プログラム内容をご参照いただき、改造サポート掲示板などで質問していただけると幸いです。特に戦闘部分などは非常に改造しやすくしております。 ○ 職業ファイルの配列変更 管理モードでの配列を簡易化、また、職業追加を楽にするために、転職条件の能力値を全体的に前に移行しました。マスター職業条件を一番最後に持ってきています。 ○ 職業追加の簡易化 管理画面の職業の追加で出てくる手順に従っていただくだけで追加できます。 ○ 画像追加作業の大幅簡易化 管理モードにも書いてありますが、imagesフォルダ内のcharaフォルダに画像を入れていただき、管理モードでの画像の追加を押し、最後に管理モードで出てきた文をコピーペーストするだけで簡単に画像を追加できるようにしました。詳細は管理モードをご覧下さい。 ○ メッセージの多機能化 昨今、FFAでは荒らしなどマナーの悪い方が増えております。1位になるだけで嫌がらせのメッセージが届いたり、荒む一方でした。それに対応し、今回は拒否機能・凍結機能をつけてみました。凍結中は友達登録した人からしかメッセージが届かないようになり、拒否をすれば、そのキャラからのメッセージの拒否が出来ます。メッセージにはIPもついているので、荒らしたキャラなどのIPは制限してもいいと思われます。 ○ ファイルロックの強化、及び個別化 今まで作業を1つのファイルロックに頼っていたものをファイル別にロックを変更するようにしてみました。1つのファイルロックに頼っているとサーバーへ大きなダメージを与えることになったり、ファイルロックが機能せずにログ消失などが起こりがちになってしまうのを、厳密に1つのファイルに対して、必ず同じファイルロックを行うようにしました。一番サーバーへの負荷が小さいflock関数がオススメなのですが、使用できるサーバーが限定されていたりしますのでご注意下さい。 なお、新しくプログラムを追加される方などへの説明ですが、 $lock_file = "$lockfolder/$in{'id'}.lock"; これでロックファイルを指定しております。この場合はキャラログ用のロックファイルとしての指定になります。 また、 $lock_file = "$lockfolder/sitem$in{'id'}.lock"; は、武器倉庫のロックファイルになるのですが、sitemという文字列をつけることにより、他のロックファイル名と同じになるのを回避しております。前にsitemとつけるのは、IDが4〜8文字であるため、3文字以内、もしくはID+5文字以上のロックファイル名を指定することにより、他のロックファイル名とかぶらないようになっています。なので、新しくロックファイルを指定する時はその法則に従っていただくようにお願いいたします。 また、 &lock($lock_file,'CR'); のように、CRと指定しているのは、flock関数を使用している際にopenで指定する関数名をここで指定しています。この名前が同じになってしまうとサーバーエラーを引き起こすため、ファイルごとに変更するようにお願いします。 なお、charalog/ID.cgiについてはCRなど、プログラム内の記述をご参考いただくようにお願いします。 ○ 新しい要素の簡易追加 今回の一番の重要部分なのですが、新しく関数を指定する時についてです。例えば、年齢という要素を追加する際には$chara[35] = 15;という風に今までの最後の配列の次の番号に足すだけで簡単に追加できるようにしています。 これについての詳しい部分が知りたい場合は改造サポート掲示板などに書いていただければ、こちらで出来る限りのサポートをいたします。改造サポート掲示板の書き込みパスワードはkakikoになります。 ★ 今後の予定 ★ まずはチョコボ牧場、古代図書館など、今まで配布してきた物をバージョン2用に変更する予定です。その後、交換仲介場、オークション会場など、FFAえりいく改にて人気のあるスクリプトを配布用に編集し、配布していこうかと思っております。これからも、何とぞ、いくのCGIのHPをよろしくお願いいたします。 ■ 2004年4月01日 ■ http://www.eriicu.com いくのCGIのHP 管理人 いく