▼スレッド
│
└◇390:Re[2]:関係ないこと [moon] 02/19 20:28
└◇391:Re[3]:関係ないこと [masaki] 02/19 20:36
└◇392:Re[4]:関係ないこと [moon] 02/19 21:03
└◇393:Re[5]:関係ないこと [masaki] 02/20 18:05
└◇394:Re[6]:関係ないこと [moon] 02/20 21:08
└◇395:Re[7]:関係ないこと [masaki] 02/20 21:43<-last
> 星を20個集めたときの出来事としてスレッド一覧
> レアアイテムを所持品に加える事は可能でしょうか?(^^;
> できればヒントでもいいので教えて欲しいです(^^
それなら、
1. レアアイテムを記述したファイルを作成する。
2. 星が20個集まったときにレアアイテムファイルを読み込んでrandで一つ選択する。(改行を読み込まないように注意)
3. レアアイテムを所持品に入れる。
かな?
# 閃いたのですが、所持品に入れるのではなくて探索アイテムファイル(itm.dat)に入れたほうが面白いかも。(この場合はレアアイテムが発見されたらitm.datから消えるというデフォルト仕様にする必要がありますが。)
> 1. レアアイテムを記述したファイルを作成する。スレッド一覧
ファイル内のデータは、item.datなどとおなじ書き方でいいのでしょうか?(^^;
> 3. レアアイテムを所持品に入れる。
この方法がよくわかりません(;;
詳しく教えて欲しいです。。
> # 閃いたのですが、所持品に入れるのではなくて探索アイテムファイル(itm.dat)に入れたほうが面白いかも。(この場合はレアアイテムが発見されたらitm.datから消えるというデフォルト仕様にする必要がありますが。)
いいかもしれません(^^
(僕のsos、レアの出現率以上に低いですからw
昔のMoon Edition並みです(^^)
> > 1. レアアイテムを記述したファイルを作成する。スレッド一覧
> ファイル内のデータは、item.datなどとおなじ書き方でいいのでしょうか?(^^;
それでも良いですけれど全てのレアアイテムが一定確率なら、
レア1<>ステータス1<>
レア2<>ステータス2<>
レア3<>ステータス3<>
の形式で書いたほうが後々の処理で楽です。
> > 3. レアアイテムを所持品に入れる。
> この方法がよくわかりません(;;
> 詳しく教えて欲しいです。。
選択したレアアイテムが$rareitem,$rarestsだとすると通常のアイテム処理と同様に、
push(@items,"$rareitem△$rarests");
とすれば良いです。
$rarestsというのは、LiやSwのことでいいのでしょうか?(^^;スレッド一覧
よくわからないので、確認の意味も含めて(あと、おかしいところがあるので(^^;)
if(open(FILE,'<count/star.dat')){ # ファイルを読み込みモードで開く
$count = <FILE>; # カウント数を読み込む
close(FILE);
$count++; # カウントアップ
if($count>=20){ # 20個以上になったか?
push (@msg,"あなたは20個目の星を見つけました。");
##########20個以上になったときに実行する処理#############
if(open(RARE,'rare/rare.dat')){
$rare = <RARE>;
$rarests = Li;
push(@items,"$rare△$rarests");
close(RARE);
}
$count = 0; # 20個以上になったら処理後にクリア
}
if(open(FILE,'>count/star.dat')){ # 書き込みモードで開く
print FILE $count; # カウント数を書き込む
close(FILE);
}
}
こんな感じになっています(^^;
$rarestsがよくわからないので、適当に(ぉぃ
アイテムが
アイテム<>00010101Fd<>
だとすると、そのまま
アイテム<>00010101Fd<>
がアイテムに追加されてしまいます(^^;
なぜでしょうか?
> $rarestsがよくわからないので、適当に(ぉぃスレッド一覧
> アイテムが
> アイテム<>00010101Fd<>
> だとすると、そのまま
> アイテム<>00010101Fd<>
> がアイテムに追加されてしまいます(^^;
> なぜでしょうか?
$rareitem,$rarestsは$itemや$stsのレア版として書いたのですが分からなかったですか・・・。
($rareitem,$rarests) = split(/<>/,$rare);が必要です。
もちろん$rarests = Li;は要りませんし、"$rare△$rarests"は"$rareitem△$rarests"です。
できました(;;スレッド一覧
ありがとうございました〜!!!