私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

スレッド

└◇1831:
Re[11]:タイムリミットボスの導入 [YOUME] 11/19 11:04

 └◇1832:Re[12]:タイムリミットボスの導入 [moon] 11/19 18:55<-last


1831● Re[11]:タイムリミットボスの導入[ YOUME ] 2014 11/19 11:04
いつもご教授ありがとうございます!

> 今回の仕様では参加者だけが保存されていれば良いので、以下の形式が良いのではないかと思います。
> ---- ここから ----
> ID1<>名前1<>パスワード1<>
> ID2<>名前2<>パスワード2<>

了解しました!


> そして、ボスのHPなどは通常のユーザーデータファイルと同じファイルを使用するのが簡単だと思います。
> この場合、ボスであることを示すものが必要になりますので決める必要があります。(例えば、スキル'-TIME BOSS-')

了解です!-TIME_BOSS-でやってみようかなと思います。

そして…

> 決まりましたら探索処理を以下のように修正してみてください。

> 1. ボスの出現判定(「-TRAP_BOSS-」のタイミングでボスのユーザーデータファイルが存在しないかどうか)
> 2. 出現判定を満たしていた場合はボスのユーザーデータファイルを作成、および、必要に応じて参加者のクリア

恥ずかしながら、どうすればいいのか全く分かりませんでした…
似たような処理を探したものの、なんか違うのばかりで…
以下が現状になります;
----------------------------
if ($idt =~ /-TRAP_BOSS-/)
{

#ボスのユーザーデータファイルが存在しないかどうか

#出現判定を満たしていた場合はボスのユーザーデータファイルを作成、

$line = join('<>',$id,'$nm','$ps',"\n"); #ID1<>名前1<>パスワード1<>
&writedat("timeboss.dat",$line);

#必要に応じて参加者のクリア

    open(TBOSS, "timeboss.dat");#timeboss.datを開く
    $data = <TBOSS>;#timeboss.datを読む
    close(TBOSS);#timeboss.datを閉じる

    push (@msg,"タイムリミットボス$inmが現れた!");
    $Fm{'pd'} = 'TIB'; #$Fm{'pd'}にボスのIDをセットする

    $timeboss = 1;#変数を用意してフラグを立てる。
}
----------------------------

#ボスのユーザーデータファイルが存在しないかどうか

ifで作るのかなと思ったのはいいのですが、ボスのユーザーファイルをどう判別すればいいのか分かりませんでした…

#出現判定を満たしていた場合はボスのユーザーデータファイルを作成、

ボスのデータをどう作成すればいいのか分からず…

$line = join('<>',$id,'$nm','$ps',"\n"); #ID1<>名前1<>パスワード1<>
&writedat("timeboss.dat",$line);
↑倉庫作成時の記述を参考に書いては見たのですが、全く違う感が…本当にすみません……

#必要に応じて参加者のクリア
これも似たような記述を探したものの、よくわからず…

いつも聞いてばかりで申し訳ないです…
コメントを書く(引用) | スレッド一覧


1832● Re[12]:タイムリミットボスの導入[ moon ] 2014 11/19 18:55
> #ボスのユーザーデータファイルが存在しないかどうか
>
> ifで作るのかなと思ったのはいいのですが、ボスのユーザーファイルをどう判別すればいいのか分かりませんでした…

ここでいうボスのユーザーデータファイルは他のプレイヤーのユーザーデータファイルと同じものを指しています。
ですので、ボスに専用のIDを割り当ててファイルを作ることになります。
ということで、ファイルが存在するかどうかはmake_new.plの「while (-e "$usrdir$id\.dat")」の部分を参考にすればチェックできると思います。

> #出現判定を満たしていた場合はボスのユーザーデータファイルを作成、
>
> ボスのデータをどう作成すればいいのか分からず…

作成処理はmake_new.plの「$line = join('<>', 〜);」から「chmod(〜);」までの部分をコピーしてきて修正すれば良いです。

> #必要に応じて参加者のクリア
> これも似たような記述を探したものの、よくわからず…

これは単純に空ファイルにするということです。
「&writedat('timeboss.dat');」とでもすれば空ファイルになるはずです。
コメントを書く(引用) | スレッド一覧

CGIROOM