私設SoS2オーナー応援BBS

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

スレッド

└◇942:
作成スキルについて [まいる] 02/18 18:25

 └◇943:Re:作成スキルについて [moon] 02/18 19:39
  └◇944:Re[2]:作成スキルについて [まいる] 02/18 21:51
   └◇945:Re[3]:作成スキルについて [moon] 02/18 22:21
    └◇946:Re[4]:作成スキルについて [まいる] 02/18 23:48<-last


942● 作成スキルについて[ まいる ] 2004 02/18 18:25
初めまして

下の鍛冶品追加のスレッドを参考にしつつ、インゴットではなくて新しい材料で鍛冶スキルを追加してみました
で、ローカルテストで機能しているのを確認してから、装備やリネームの箇所に新しい銘入り品を追加していったんですが、その後確認したら作成が必ず失敗するようになっていました

特に作成箇所をいじったわけではないので理由が全くわかりません
元々が怪しいので何とも言えませんが、良かったらご教授願います

以下が追加したスクリプトです

# Sub sitate #
sub sitate {
    if ($sp =~ /Mz|My/) {
        srand(time | $$);
        $rnd = int(rand(100)) + 1;
        if ($sp =~ /Mz/ && $sp =~ /My/) { $trnd = int(rand(2)) }
        elsif ($sp =~ /Mz/ && $sp =~ /My/) { $trnd = (0,1)[int(rand(2))] }
        elsif ($sp =~ /Mz/) { $trnd = 0 }
        elsif ($sp =~ /My/) { $trnd = 1 }
        $rnd = 0 if $sp =~ /Bp/;
        if ($rnd <= $def_pr) {
            if ($trnd == 0) {
                $sts = sprintf("%04d%04d",$def_pc4,$def_bn4);
                $sts .= 'Yu'; $item = $def_yu;
            }
            if ($trnd == 1) {
                $sts = sprintf("%04d%04d",$def_pc4,$def_bn4);
                $sts .= 'Yi'; $item = $def_yi;
            }
            $item =~ s/○○/$nm/;
            &umsg('作');
        }
        else { $gn = 1; &umsg('失') }
    } else { &umsg('加') }
}


武器屋設定に
$def_yu = '○○の靴'; # 靴
$def_yi = '○○のクローク'; # クローク
を追加

Sub Use Afterに
elsif ($sts =~ /Ii/) { &sitate }
を追加

Iiはインゴットとは別の材料アイテムです
MzMyが新しい作成スキルです
後は装備関係にYuYiを追加したくらいです

わかりづらい文章で申し訳ありませんが、宜しくお願いします
スレッド一覧


943● Re:作成スキルについて[ moon ] 2004 02/18 19:39
>         elsif ($sp =~ /Mz/ && $sp =~ /My/) { $trnd = (0,1)[int(rand(2))] }

上記が無駄な以外には特に問題が無さそうですけれどね。

問題判別の為に、
>         if ($rnd <= $def_pr) {
まずは、この上にpush(@msg, "\$def_pr = $def_pr");を追加して加工を行い正しい値が表示されるか確認してみてください。
問題無いことが分かったなら、push(@msg, "\$rnd = $rnd");を追加して何度か加工を行って表示される値が1〜100程度の変化をするかを確認してみてください。
これでも問題無いようならsrandをコメントアウトしてください。
スレッド一覧


944● Re[2]:作成スキルについて[ まいる ] 2004 02/18 21:51
自己解決しました
どうして直ったのかいまいち不明なんですが、SionJamさんのアイテム関連強化機能を追加していて、そこのソート部分をいじったのが原因だったような気がします

            elsif ($sts =~ /(Sw|Kn|Kt|Ax|Gv|Bw|Mi|Wd|Yw)/) { $sitems[$_] = "91$sts△$sitems[$_]"; }
            elsif ($sts =~ /(Sh|Ys)/) { $sitems[$_] = "92$sts△$sitems[$_]"; }
            elsif ($sts =~ /(Ar|Ya)/) { $sitems[$_] = "93$sts△$sitems[$_]"; }
            elsif ($sts =~ /(Jw|Yt)/) { $sitems[$_] = "94$sts△$sitems[$_]"; }

この下に追加していた鍛冶品を消したら機能しました
何故機能していなかったかは不明ですが、とりあえず不具合が出るまで様子を見ようと思います
ご指摘頂いた無駄な部分は早速消しておきました

お騒がせして申し訳ありませんでした
また、迅速なレス有難うございました
今後も質問することもあるかもしれませんが、どうぞ宜しくお願いします

ところで、サイトアドレスは公開しておいたほうがいいのでしょうか?
スレッド一覧


945● Re[3]:作成スキルについて[ moon ] 2004 02/18 22:21
> ところで、サイトアドレスは公開しておいたほうがいいのでしょうか?

いえ、URLの書き込みが必要なのはうちで配布しているスクリプトを利用していてかつ利用規約に明記してある場合だけなので、それに当てはまらないなら特に公開する必要は無いですよ。
スレッド一覧


946● Re[4]:作成スキルについて[ まいる ] 2004 02/18 23:48
了解しました

お邪魔しました〜
スレッド一覧

CGIROOM