▼スレッド
│
└◇491:Re[14]:勢力の掲示板 [moon] 04/20 21:46
> やっとできました(;;スレッド一覧
> 5時間以上やってて、結局1;が原因とは…。。(泣
> moonさんの仰っていた、1;というのはplファイルなら、どれでも最後に必要なのですね(^^;;
> また一つ勉強しましたw
> (casino.plを見てて、最後に1;があったので気づきましたσ(^^;)
ここは1;で無くても良いのですが慣例的に1;にするようです。("xyz";のような文字列でも大丈夫)
> いろいろいじり過ぎたせいで、新たなバグが(泣
> ログインしたときに、右側に表示されるものが全然違うキャラのデータになってしまうのです。
> でも、お金とかはログインしたキャラのと同じ。
> 例えば
> プレイヤーA 所持金1000Gでログインすると、プレイヤーBのデータが右側に表示されます。↓
> プレイヤーB 所持金2800G
> でも、これで2000Gの物を買おうとすると、「お金が足りません」と表示され買えません。1000G(プレイヤーAの所持金)までなら買えます。
> 探索でも、探索で手に入れたアイテムはBの所持品ではなく、Aの所持品に追加されます。
> わかりにくいですが、「見た目だけプレイヤーBになってしまった」という状態です(;;
> 因みに、IDが一番大きいプレイヤーに変装してしまうようです(;;
sub normal_actionの、
foreach $line (@lstlines) {
($pid,$pnm,$pps,$pjb,$pig,$psp,$pbp,$others) = split(/<>/,$line);
if ($Fm{'id'} eq $pid) { $mysp = $psp; $mybp = $pbp }
else { print qq|<option value="$pid">$pid:$pnm($pjb)\n| }
}
のあたりかな?
ここで$pidとかではなく$idなどにしているか、逆にplayer_dataのほうで$pidとかを利用しているとか、が考えられます。
どちらにしても他人のIDや名前が意図しないときに表示されているのはパスワードさえ載っている可能性があるのでかなり危険な状態ですね。