* 自分でバックアップ [#f438c2a0] - ページ: [[罪罰改造板3]] - 投稿者: [[三毛猫]] - 優先順位: 低 - 状態: 提案 - カテゴリー: 罪罰スクリプト配布 - 投稿日: 2008-03-28 (金) 12:43:26 - バージョン: ** メッセージ [#m9c99dd2] これまたスクリプトってほどではないですが、私の改造テスト用罪で導入しているものです。^^; 管理人による定期的なバックアップでは古いーっとクレームが来ることがあるので、改造したての部分を試す時等に、事前にプレーヤー自身に自分でキャラデータのバックアップ(セーブ)を行ってもらうようにしました。 手軽にやり直しってのは好きではないので、バグでハマった時や長期不在でキャラ消えしてしまった場合のみ、管理人が復旧をする用のデータです。>ウチの場合。 例によって、改造箇所のみの抜粋ですので、導入の場合はカスタマイズしながら導入していただければ。。。^^;; ・configに、 $backdata2 = "./backdata/"; # キャラバックアップデータ格納ディレクトリ。 ・systemのキャラデータに、 $back = $DAT{'back'}; の変数を追加。 キャラデータ書き込みsub dat_write{〜を真似て、 # キャラデータバックアップ sub dat_backup{ &error("open error no such a file!",1) if(!$nm || !$id); $dat[0] = "〜略〜,back;$back,\n"; $dat[1] = "$date<>$addr<>$host<>$agent<>\n"; open (OUT,">$backdata2$id\.cgi") || &error("open error:$backdata2$id\.cgi",1); print OUT @dat; close(OUT) or die "Can't close : $!"; } ・ショッピングか内政?設定?あたりに、バックアップの選択肢を作り、 $log .= "キャラデータのバックアップを取りますか?<br><br>\n"; if($back ne ''){ $log .= "あなたの最後のバックアップは、$back です。このデータは上書きされます。<br>\n"; } $tm=1111; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<input type="hidden" name="id" value="$id">\n|; $log2 .=qq|<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<select name="cmd" size="1">\n|; $log2 .=qq|<option value="99">やめる</option>\n|; $log2 .=qq|<option value="111">OK♪</option>\n|; $log2 .=qq|</select><br>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; }elsif($tm==1111){#バックアップ &dat_backup; $back=$date;#←保存日を記録。 chmod($chmod,"$backdata2$id\.cgi"); $log .= "キャラデータを保存しました。<br>管理人の定期バックアップがこれより古い場合は、このデータがある旨を連絡ください。<br>\n"; $tm = $ck =$cmd = 0; $type=""; &call_main_st; } -------- #comment