「あははっは」の編集履歴(バックアップ)一覧はこちら
「あははっは」(2009/11/09 (月) 09:47:48) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
#=========================================================
# デスゾーンの展開
# 毎日昼3時0分0秒~3時0分59秒の間に更新が起きた場合に発生
#=========================================================
$times = time();
($sec,$min,$hour,$mday,$month,$year,$wday,$stime) = localtime($times);
if ($hour == 15 && $min == 0) {
&make_vs_king1;
$npc_com .= "***@デスゾーン@への扉が開いています***";
}
sub make_vs_king1 {
opendir my $dh, $stagedir or &error("$stagedirディレクトリが開けません");
while (my $file_name = readdir $dh) {
next if $file_name =~ /^\./;
next if $file_name !~ /^_king_t/;
my($k_stage) = ($file_name =~ /^(.+)\.cgi$/);
require "$stagedir/$file_name";
my $quest_id = unpack 'H*', $k{p_name};
next if -d "$questdir/$quest_id"; # 同じクエスト名があった場合は作らない(作れない)
$k{p_join}++; # ボスが1人分占有しているため
my $boss_name = '@'.$k{p_leader};
# 新規パーティー作成
mkdir "$questdir/$quest_id" or &error("$questdir/$quest_idディレクトリが作成できません");
open my $fh, "> $questdir/$quest_id/member.cgi" or &error("$questdir/$quest_id/member.cgiファイルが作成できません");
print $fh "$k{speed}<>_king_t_1<>1<>$boss_name<>$k{p_name}<><>$k{p_join}<>0<>0<>1<>$k{need_join}<>6<><>0<>0<><>\n";
my @lines = ();
for my $no (0 .. $#bosses) {
my %p = ();
# 初期データセット(読み込んだデータにすでに値がある場合はそっちを優先)
$bosses[$no]{tmp} ||= '';
$bosses[$no]{state} ||= '';
$bosses[$no]{hit} ||= 95;
$bosses[$no]{ten} ||= 1;
$bosses[$no]{name} = '@'.$bosses[$no]{name};
$bosses[$no]{color} = $npc_color;
for my $k (qw/hp mp at df ag/) {
$bosses[$no]{$k} = $bosses[$no]{$k};
$bosses[$no]{'m'.$k} ||= $bosses[$no]{$k};
}
my $line = '';
for my $k (@battle_datas) {
$line .= defined $bosses[$no]{$k} ? "$bosses[$no]{$k}<>" : "0<>";
}
push @lines, "$line\n";
}
print $fh @lines;
close $fh;
chmod $chmod, "$questdir/$quest_id/member.cgi";
open my $fh2, "> $questdir/$quest_id/log.cgi" or &error("$questdir/$quest_id/log.cgiファイルが作成できません");
close $fh2;
chmod $chmod, "$questdir/$quest_id/log.cgi";
}
closedir $dh;
}