私設SoS2オーナー応援BBS

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

スレッド

└◇1724:
Re[22]:アイテム消失 [rien] 05/07 10:22

 └◇1725:Re[23]:アイテム消失 [moon] 05/07 22:58
  └◇1726:Re[24]:アイテム消失 [rien] 05/07 23:20
   └◇1727:Re[25]:アイテム消失 [moon] 05/07 23:53
    └◇1728:Re[26]:アイテム消失 [rien] 05/08 00:58
     └◇1729:Re[27]:アイテム消失 [moon] 05/08 08:15
      └◇1730:Re[28]:アイテム消失 [rien] 05/08 10:56<-last


1724● Re[22]:アイテム消失[ rien ] 2009 05/07 10:22
返事が遅れてすみません・・。
前回の範囲で細かく追加したところ
>>
if ($pc > 0) {
$sts = sprintf("%04d%02d%02d",$pc,$iak,$idd) . "$skill";
$newitem = "$item△$sts";$newitem .= "△$price" if $price;
push(@bag,$newitem);

}
        }
        push(@msg, 'items=' . scalar(@items) . ', bg=' . $bg);@
@items = @bag;&joinitem('i');

$itemchance = 0 if $#items + 1 >= $xi;
    &splititem('I');
    push(@msg, 'items=' . scalar(@items) . ', bg=' . $bg);A

で、Aの状態でアイテムがなくなっていることが分かりました。
何回も申し訳ありません。
スレッド一覧


1725● Re[23]:アイテム消失[ moon ] 2009 05/07 22:58
> 返事が遅れてすみません・・。
> 前回の範囲で細かく追加したところ
> >>
> if ($pc > 0) {
> $sts = sprintf("%04d%02d%02d",$pc,$iak,$idd) . "$skill";
> $newitem = "$item△$sts";$newitem .= "△$price" if $price;
> push(@bag,$newitem);
>
> }
>         }
>         push(@msg, 'items=' . scalar(@items) . ', bg=' . $bg);@
> @items = @bag;&joinitem('i');
>
> $itemchance = 0 if $#items + 1 >= $xi;
>     &splititem('I');
>     push(@msg, 'items=' . scalar(@items) . ', bg=' . $bg);A
>
> で、Aの状態でアイテムがなくなっていることが分かりました。
> 何回も申し訳ありません。

「push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);」でもっと細かく御願いします。(どこが原因なのかを特定するのが目的なのですから、極端ですがすべての「;」の直後にあっても良いくらいです。)
また、開始位置も最初のsplititem直前からで試してください。
スレッド一覧


1726● Re[24]:アイテム消失[ rien ] 2009 05/07 23:20
> 「push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);」でもっと細かく御願いします。(どこが原因なのかを特定するのが目的なのですから、極端ですがすべての「;」の直後にあっても良いくらいです。)
> また、開始位置も最初のsplititem直前からで試してください。

いつもありがとうございます。
最初のsplititem〜user_outの間で
;の直後に貼り付けてみると。
表示はこのようになりました。
>>
bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
リュートが壊れました
bag=0, items=0, bg=
bag=0, items=0, bg=
bag=0, items=0, bg=
bag=0, items=0, bg=
bag=0, items=0, bg=

○○が壊れました。というメッセの直後の処理で消えてるということなのでしょうか??
スレッド一覧


1727● Re[25]:アイテム消失[ moon ] 2009 05/07 23:53
> > 「push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);」でもっと細かく御願いします。(どこが原因なのかを特定するのが目的なのですから、極端ですがすべての「;」の直後にあっても良いくらいです。)
> > また、開始位置も最初のsplititem直前からで試してください。
>
> いつもありがとうございます。
> 最初のsplititem〜user_outの間で
> ;の直後に貼り付けてみると。
> 表示はこのようになりました。
> >>
> bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
> bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
> bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
> bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
> bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
> bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
> bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
> bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
> bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
> リュートが壊れました
> bag=0, items=0, bg=
> bag=0, items=0, bg=
> bag=0, items=0, bg=
> bag=0, items=0, bg=
> bag=0, items=0, bg=
>
> ○○が壊れました。というメッセの直後の処理で消えてるということなのでしょうか??

これではどの表示がどの場所に対応しているのかわからないので以前書いていたように「(番号)」などを付けて対応がわかるようにしてください。
「if ($pc > 0)」の条件を満たしていないような感じなので表示する情報を増やして(例えば「push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);」)試してみてください。
あと、「;」直後に加えて「}」直後にも御願いします。
スレッド一覧


1728● Re[26]:アイテム消失[ rien ] 2009 05/08 00:58
> 「if ($pc > 0)」の条件を満たしていないような感じなので表示する情報を増やして(例えば「push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);」)試してみてください。
> あと、「;」直後に加えて「}」直後にも御願いします。

以前の書き方だとかなり多くのスクリプトを表示しちゃうので
マズィかな・・と思ってました・・;
えっと・・;と}の直後に追加してみました。
表示がこちらで
>>
item=, sts=, pc=, bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
item=リュート, sts=00010100MiQw, pc=, bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
item=リュート, sts=00010100MiQw, pc=, bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
item=リュート, sts=00010100MiQw, pc=0001, bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
リュートが壊れました
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=3, bg=リュート△00010100MiQw,カスタムボウ△00500101BwDh,ハンドアックス△00500200AxDh
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=0, bg=
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=0, bg=
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=0, bg=
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=0, bg=
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=0, bg=
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=0, bg=
item=リュート, sts=00010100MiQw, pc=0, bag=0, items=0, bg=

fight.plの方がこちらです。
>>

    &splititem('i');
        foreach (0 .. $#items) {
$break = 0;
# push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);1
            ($item,$sts,$price) = split(/△/,$items[$_]);
            #push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
            push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);2
$iak = substr($sts,4,2); $idd = substr($sts,6,2);
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);3
$pc = substr($sts,0,4); $skill = substr($sts,8,1000);
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);4
        
            if ($result == 1 && $sts =~ /Qw/ && $sts !~ /Ie/) {$break = 1; $pc -= 1}
        push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);5
            if ($result == -1 && $sts =~ /Qs/ && $sts !~ /Qw/ && $sts !~ /Ie/){$break = 1; $pc -= 1}
         elsif ($result == -1 && $sts =~ /Qa/ && $sts !~ /Ie/) {$break = 1; $pc -= 1}
         push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);6
            if ($result == 0 && $sts =~ /Qt/ && $sts !~ /Ie/) {$break = 1; $pc -= 1}
            push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);7
            if ($break == 1 && $pc == 0) {
            
                $ab -= $iak; $db -= $idd;
                #push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
                push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);8
$sp =~ s/Qb//g if $sts =~ /Bw/;
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);9
$sp =~ s/Qk//g if $sts =~ /Kt/;
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);10
$sp =~ s/Qx//g if $sts =~ /Ax/;
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);11
$sp =~ s/Qm//g if $sts =~ /Sw/;
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);12

push (@msg,"$itemが壊れました"); &event("$nmの$itemが壊れました。"); last;
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);13
            }

if ($pc > 0) {
$sts = sprintf("%04d%02d%02d",$pc,$iak,$idd) . "$skill";
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);14
$newitem = "$item△$sts";$newitem .= "△$price" if $price;
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);15
push(@bag,$newitem);
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);16

}
        }
        push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);17
        
@items = @bag;&joinitem('i');
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);18
$itemchance = 0 if $#items + 1 >= $xi;
    &splititem('I');
    
    #push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
    push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);19
    if ($itemchance && $pitems[$Sidice]) {
        &splititem('i');
        #push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
        push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);20

        ($item,$sts,$price) = split(/△/,$pitems[$Sidice]);
        #push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
        push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);21
if ($sts !~ /Ns/) {
        if ($sts =~ s/Q[swat]//g) { $pab -= substr($sts,4,2); $pdb -= substr($sts,6,2) }
        push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);22
        splice(@pitems,$Sidice,1); push(@items,"$item△$sts");
        #push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
        push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);23
        &joinitem('iI'); &fmsg('奪');
        #push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
        push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);24
if ($nm eq $Wn) {&event("$Wnが$Lnの$itemを奪いました。")}
else        {&event("$Wnが$Lnの$itemを奪いました。")}
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);25

}
    }
    push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);26
# を
$bp = $bn = $pbp = $pbn = '';
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);27
#$plftm = time + $btllmt * 3600;
#push (@newplfs,"$id△$nm△$plftm");
$time_now = time; $plf = "$id△$time_now";#$plf = $id; #join(',',@newplfs);
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);28

if($sp =~ /Ts/ && $av eq 'dead'){$av='alive';$hp=5;
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);29
push (@msg,"$nmは、神の恵みにより生き返った。");$plf = $pid;}
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);30
$dap -=$Ap_fight;
#push(@msg, 'bag=' . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);
push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);31
    &userout;

多くのスクリプトを表示させるのが
ダメでしたら削除をお願いします。
いろいろ追加していて見づらくてすみません・・。
この表示方法でよかったのでしょうか・・。
スレッド一覧


1729● Re[27]:アイテム消失[ moon ] 2009 05/08 08:15
> > 「if ($pc > 0)」の条件を満たしていないような感じなので表示する情報を増やして(例えば「push(@msg, "item=$item, sts=$sts, pc=$pc, bag=" . scalar(@bag) . ', items=' . scalar(@items) . ', bg=' . $bg);」)試してみてください。
> > あと、「;」直後に加えて「}」直後にも御願いします。
>
> 以前の書き方だとかなり多くのスクリプトを表示しちゃうので
> マズィかな・・と思ってました・・;
> えっと・・;と}の直後に追加してみました。
> 表示がこちらで
> >>
省略...
> 多くのスクリプトを表示させるのが
> ダメでしたら削除をお願いします。
> いろいろ追加していて見づらくてすみません・・。
> この表示方法でよかったのでしょうか・・。

> これではどの表示がどの場所に対応しているのかわからないので以前書いていたように「(番号)」などを付けて対応がわかるようにしてください。
これなのですが、push(@msg, "(1) 〜");やpush(@msg, "(2) 〜");のように表示とコード位置の対応が付けられるようにして欲しかったのですが・・・。

ソースコードが載せられたので見てみたのですがlastが余計です。
このlastがあるために破壊したアイテム以降が所持品に戻らなくなっています。
スレッド一覧


1730● Re[28]:アイテム消失[ rien ] 2009 05/08 10:56
> これなのですが、push(@msg, "(1) 〜");やpush(@msg, "(2) 〜");のように表示とコード位置の対応が付けられるようにして欲しかったのですが・・・。

ぁぁ・・すみません・・。
そうすればよかったですね・・。
勉強になりました。
>
> ソースコードが載せられたので見てみたのですがlastが余計です。
> このlastがあるために破壊したアイテム以降が所持品に戻らなくなっています。

あれ・・気づいていませんでした・・。
いつ付け足したのだろう。
すみません、ありがとうございます!
アイテム表示が直りました。
いつもお手数おかけして申し訳ございません・・。
スレッド一覧

CGIROOM