全ての $dummy01 を $lastlove に書き換える(6ヶ所or4ヶ所) 全ての $newdummy01 を $newlastlove に書き換える(2ヶ所) |
# ------------------------- # # Sub Action # アクション # ------------------------- # sub action { $playmsg = "$playtime時間" if $playtime != 0; $playmsg = "$playminute分" if $playtime == 0; &checkname; &error("まだ$playmsg経過していません") if $enter == 1; &header; &title; &bodytop("ペットデータ($num代目)"); &petdata; srand(time); $rnd = int(rand(100) + 1); # Amend Ver 2.2 $fa = $FORM{'mode'}; $lastlove = $love; if ($fa eq 'play') { $lastplay = time; $playname = $name; } # if ($fa eq 'out') { $out = 1; $outdate = time; $outname = $name; } # コメントにします。 |
# ------------------------- # # Sub Owner List # 飼い主ランキング # ------------------------- # sub ownerlist { &header; &title; $bestlove = $lovenum = $lovenum_k = $hatenum = $othernum = 0; &openinuserdata('ownerlist'); &bodytop('飼い主ランキング'); &tabletop; print "$font2$petnameが一番なついている人は</font><br>"; if ($bestlove < $loved) { print "いません<br>\n" } else { print "$bestownerさんです<br>\n" } print "<br>\n"; print "$font2$petnameがなついている人は</font><br>"; if ($lovenum == 0) { print "いません<br>" } # else { foreach $owner (@lovelist) { print "$ownerさん<br>\n" } } else { foreach $owner (@lovelist) { ($love,$name,$lastlove) = split(/<>/,$owner); # ←プレイヤーの明示をしている人はここ注意! &lastlovecheck; print "$displove$nameさん…$loveポイント<br>\n"; } } print "<br>\n"; print "$font2$petnameが気になる人は</font><br>"; if ($lovenum_k == 0) { print "いません<br>";} # else { foreach $owner (@lovelist_k) { print "$ownerさん<br>\n"; } } else { foreach $owner (@lovelist_k) { ($love,$name,$lastlove) = split(/<>/,$owner); # ←プレイヤーの明示をしている人はここ注意! &lastlovecheck; print "$displove$nameさん…$loveポイント<br>\n"; } } print "<br>\n"; print "$font2それ以外の人</font><br>"; if ($othernum == 0) { print "いません<br>" } # else { foreach $owner (@otherlist) { print "$ownerさん<br>\n" } } else { foreach $owner (@otherlist) { ($love,$name,$lastlove) = split(/<>/,$owner); # ←プレイヤーの明示をしている人はここ注意! &lastlovecheck; print "$displove$nameさん…$loveポイント<br>\n"; } } print "<br>\n"; print "$font2$petnameが嫌いな人は</font><br>"; if ($hatenum == 0) { print "いません<br>";} # else { foreach $owner (@hatelist) { print "$ownerさん<br>\n" } } else { foreach $owner (@hatelist) { ($love,$name,$lastlove) = split(/<>/,$owner); # ←プレイヤーの明示をしている人はここ注意! &lastlovecheck; print "$displove$nameさん…$loveポイント<br>\n"; } } &tablebottom; &bodybottom; &footer; } # ------------------------- # # Sub Last Love Check # 前回の好感度と比較 # ------------------------- # sub lastlovecheck { if ($love > $lastlove) { $displove = "<FONT color=pink><SMALL><B>↑</B></SMALL></FONT>"; } elsif ($love < $lastlove) { $displove = "<FONT color=black><SMALL><B>↓</B></SMALL></FONT>"; } else { $displove = "<FONT color=AQUA><SMALL><B>→</B></SMALL></FONT>"; } } |
# ------------------------- # # Sub Open In User Data # ユーザーデータの読みこみ # ------------------------- # sub openinuserdata { if ($lockkey == 1) { &lock } open(IN,"$userdata") || &error("Can't open $userdata"); @lines = <IN>; close(IN); &unlock; foreach $line (@lines) { ($name,$pass,$gdate,$love,〜ユーザーデータの改造で増えています) = split(/<>/,$line); if ($_[0] eq 'checkname') { if ($FORM{'name'} eq $name) { $flag = 1; # データの中にユーザーを確認 if ($FORM{'pass'} ne $pass) { &error("パスワードが間違っています") } last; } } if ($_[0] eq 'action') { if ($FORM{'name'} eq $name) { $gdate = time; push(@new,"$FORM{'name'}<>$FORM{'pass'}<>$gdate<>$newlove<>〜ユーザーデータの改造で増えています\n"); } else { if ($gdate >= $goodbye) { push(@new,$line) } } } if ($_[0] eq 'ownerlist') { if ($love >= $loved) { @lovelist[$lovenum] = "$love<>$name<>$lastlove"; $lovenum++; if ($bestlove < $love) { $bestowner = "$name"; $bestlove = $love } } elsif ($love >= $loved_k) { @lovelist_k[$lovenum_k] = "$love<>$name<>$lastlove"; $lovenum_k++; } elsif ($love >= $disliked) { @otherlist[$othernum] = "$love<>$name<>$lastlove"; $othernum++; } else { @hatelist[$hatenum] = "$love<>$name<>$lastlove"; $hatenum++; } } } if ($_[0] eq 'checkname') { $toppoint = 0; foreach $line (@lines) { ($topname,$toppass,$topgdate,$toplove,$topother) = split(/<>/,$line); if ($toppoint < $toplove) { $toppoint = $toplove; } } if ($flag == 0) { $love = 0; } $toplove = $toppoint - $love; $loveup = int($toplove / 4) + 1; # トップとの差の半分をアップする if ($toplove > 10) { $lovedown = 1; } # 差が10より大きい場合はマイナス1 elsif ($toplove > 3) { $lovedown = 2; } # 差が3より大きい場合はマイナス2 else { $lovedown = 3; } # 差が3以内の場合は、マイナス3 } } |