私設SoS2オーナー応援BBS

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

スレッド

└◇1879:
コレクション数に応じたボーナス [YOUME] 09/29 12:45

 └◇1881:Re:コレクション数に応じたボーナス [moon] 09/29 21:17
  └◇1883:Re[2]:コレクション数に応じたボーナス [YOUME] 09/30 14:08


1879● コレクション数に応じたボーナス[ YOUME ] 2015 09/29 12:45
度々失礼します…!

コレクションした種類に応じて、ボーナスアイテムを付与したいと考えて、
Sub File In After内を以下のようにしたのですが
(#コレクションボーナスで囲ってある部分だけ追記した感じです)

# Sub File In After #
sub file_in_after{
@rcdlines = &get_user("$Fm{'id'}");
return if $fg ne 'FIBB';
@collines = &get_coll("$Fm{'id'}");
&splititem('iF');
foreach (0 .. $#items) {
($item,$sts,$price,$imaxs,$iimg,$yoya) = split(/△/,$items[$_]);
$filebag = 1;
if ($Fm{"$_"}) {
my $tmpflg=0;
foreach $tmp (@fitems) {
($tmpitem,$tmpsts) = split(/△/,$tmp);
if ($tmpitem eq $item) {$tmpflg=1;}
}
if (!$tmpflg) {
$fco++;
push (@fitems,"$item△$sts");
push (@msg,"$itemをファイルに入れました。");
$fbg .= "$item△$sts";
$filebag = 0;

#コレクションボーナス
#はじめてコレクションした
if($fco == 1){
&splititem('i');
    push(@items,"はじめてコレクション△00000100010000Hb-NOCOOK-Wi△0△1△N_16x16/2011-12-23_5-014.gif"); &joinitem('i');
    push(@msg,"<IMG src=../wakiyaku/itmimg/N_etc/2011-12-23_1-166.gif>はじめてコレクションしたボーナスとして、<IMG src=../wakiyaku/itmimg/N_16x16/2011-12-23_5-014.gif>はじめてコレクションを手に入れた!");
}
#5種コレクションした
elsif($fco == 13){
&splititem('i');
    push(@items,"5種コレクション△00000100010000Hb-NOCOOK-Wi△0△1△N_16x16/2011-12-23_5-014.gif"); &joinitem('i');
    push(@msg,"<IMG src=../wakiyaku/itmimg/N_etc/2011-12-23_1-166.gif>5種コレクションしたボーナスとして、<IMG src=../wakiyaku/itmimg/sonota/hit.gif>5種コレクションを手に入れた!");
}
#コレクションボーナス

} else { push (@msg,"既に「$item」はファイル内に存在します。") }
}
if ($filebag) { push(@newitems,$items[$_]); }
}
@items = @newitems; &joinitem('iF');
$fg = ''; &userout; &fileout;
}

これだと、文字は出るのですがアイテムが付与されず…
さらに今さっき気づいたのですが、
これだと一度に10種コレクション登録した場合等々にボーナスがもらえないな…とか…

コレクション数ボーナスを受け取ったか受け取ってないかを判定して、受け取ってなかったら入手させるべきなのかもなのですが…(いろいろややこしそうで…汗)

お知恵を貸して頂けたら幸いです…!
コメントを書く(引用) | スレッド一覧


1881● Re:コレクション数に応じたボーナス[ moon ] 2015 09/29 21:17
> これだと、文字は出るのですがアイテムが付与されず…

splititemとjoinitemはすでに存在するので追加した部分では必要ありません。
@itemsは後ろのほうで@newitemsを代入することで更新しているので、アイテムを追加する場合は@itemsではなく@newitemsに追加する必要があります。

> これだと一度に10種コレクション登録した場合等々にボーナスがもらえないな…とか…
>
> コレクション数ボーナスを受け取ったか受け取ってないかを判定して、受け取ってなかったら入手させるべきなのかもなのですが…(いろいろややこしそうで…汗)

新しいパラメータを用意して………というようなことを考えたのですが、コードを見直したところ1枚ずつ処理(カウントアップして毎回判定、かつ減少することがない)しているようなので気にしなくて良さそうです。
コメントを書く(引用) | スレッド一覧


1883● Re[2]:コレクション数に応じたボーナス[ YOUME ] 2015 09/30 14:08
ありがとうございます!ありがとうございます!
無事にできました!!良かった…

そして、一度に10種コレクション登録した場合等々にボーナスがもらえない…とか思ってたのは自分のとりこし苦労だったみたいで逆に良かったです…(ホッ)
先ほど確認して、きちんと入手できることを確認しました!

大感謝です!!!うう、良かった…
コメントを書く(引用) | スレッド一覧

CGIROOM