私設SoS2オーナー応援BBS

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

スレッド

└◇1408:
カジノのコインを探索で拾う場合の処理について [矢神] 12/18 00:19

 ├◇1409:追記 [矢神] 12/18 00:28
 │└◇1410:Re:追記 [moon] 12/18 08:06
 │ └◇1411:ありがとうございました!! +もう一つ [矢神] 12/18 17:45
 │  └◇1412:Re:ありがとうございました!! +もう一つ [moon] 12/18 22:35
 │   └◇1413:Re[2]:ありがとうございました! [矢神] 12/19 00:00
 │    └◇1415:すみません、さらに追加質問です。 [矢神] 12/19 02:32
 │     └◇1416:Re:すみません、さらに追加質問です。 [moon] 12/19 08:12
 │      └◇1417:ありがとうございました! [矢神] 12/19 09:39
 ├◇1418:Re:補足 [moon] 12/19 20:11
 │└◇1419:ご親切にありがとうございます。 [矢神] 12/20 16:24
 └◇1421:設置のご報告 [矢神] 12/23 20:32
  └◇1422:Re:設置のご報告 [moon] 12/23 21:44<-last


1408● カジノのコインを探索で拾う場合の処理について[ 矢神 ] 2007 12/18 00:19
初心者丸出しの質問、お許し下さい。
コインを探索で拾う方法について、過去ログにて


コインを探索時に出す場合は、例えばお金の判定を利用して以下のように変更。(アイテムスキルを使用しない方法)
if ($idt !~ /Gl/) { push(@items,"$inm△$idt"); &joinitem('i') }
else { $mn += substr($idt,0,4) }
を、
if ($idt !~ /Gl/) { push(@items,"$inm△$idt"); &joinitem('i') }
elsif(rand(1000)<1){$inm = int(substr($idt,0,4)).'コイン'; $cs += $inm;} # お金の確率の1/1000でコインが手に入る。
else { $mn += substr($idt,0,4) }


というものがあったので試してみたのですが、
複数回探索の改造を先につけていた為、該当する二行が見当たりませんでした。
代わりに、

if ($idt !~ /Gl/) {push (@gotitem,"$inm△$idt"); push (@msg,"$inmをみつけました")}
else {$money += substr($idt,0,4)}

という部分があったのでこの二行の間に

elsif(rand(1000)<1){$inm = int(substr($idt,0,4)).'コイン'; $cs += $inm;} # お金の確率の1/1000でコインが手に入る。

を入れてみたのですが、
探索でコインは増えるのですが拾った際のメッセージが表示されなくなってしまいました。
(2回探索してコインと2Gをそれぞれ拾った場合、2Gを見つけましたという一行しか表示されない)
もし原因がわかりましたら教えて頂きたいのですが…。
スレッド一覧


1409● 追記[ 矢神 ] 2007 12/18 00:28
複数回探索に導入させていただいていたのは
sos.negiduck.com様の 複数回探索 Ver 1.1 です。
スレッド一覧


1410● Re:追記[ moon ] 2007 12/18 08:06
> if ($idt !~ /Gl/) {push (@gotitem,"$inm△$idt"); push (@msg,"$inmをみつけました")}
> else {$money += substr($idt,0,4)}
>
> という部分があったのでこの二行の間に
>
> elsif(rand(1000)<1){$inm = int(substr($idt,0,4)).'コイン'; $cs += $inm;} # お金の確率の1/1000でコインが手に入る。
>
> を入れてみたのですが、
> 探索でコインは増えるのですが拾った際のメッセージが表示されなくなってしまいました。
> (2回探索してコインと2Gをそれぞれ拾った場合、2Gを見つけましたという一行しか表示されない)

アイテムである時にメッセージを追加しているようなので、「$cs += $inm;」の後ろにでも下記を追加すれば大丈夫だと思います。
push(@msg, "${inm}をみつけました");
スレッド一覧


1411● ありがとうございました!! +もう一つ[ 矢神 ] 2007 12/18 17:45
> アイテムである時にメッセージを追加しているようなので、「$cs += $inm;」の後ろにでも下記を追加すれば大丈夫だと思います。
> push(@msg, "${inm}をみつけました");

無事に表示されるようになりました!
助かりました。ありがとうございます。


もう一つ追加で質問というか、確認していただきたい事があるのですが
戦闘に敗北した時と殺害された時のrateの低下を少なくしたいのですが

# Sub Rate #の
$rt = int($wn/($wn + $lz) * 100) * $wn - ($dt * 100) + ($kl * 100);

これを

$rt = int($wn/($wn + $lz/4) * 100) * $wn - ($dt * 25) + ($kl * 100);

こうしてみたのですが、とりあえず動いてはいるようですが
なにせん手探りでやってみただけなので、これでいいのかどうか自信がありません
表記及び仕様に問題は無いでしょうか?
スレッド一覧


1412● Re:ありがとうございました!! +もう一つ[ moon ] 2007 12/18 22:35
> もう一つ追加で質問というか、確認していただきたい事があるのですが
> 戦闘に敗北した時と殺害された時のrateの低下を少なくしたいのですが
>
> # Sub Rate #の
> $rt = int($wn/($wn + $lz) * 100) * $wn - ($dt * 100) + ($kl * 100);
>
> これを
>
> $rt = int($wn/($wn + $lz/4) * 100) * $wn - ($dt * 25) + ($kl * 100);
>
> こうしてみたのですが、とりあえず動いてはいるようですが
> なにせん手探りでやってみただけなので、これでいいのかどうか自信がありません
> 表記及び仕様に問題は無いでしょうか?

敗北数が$lzで死亡数が$dtでありレートに対する影響が両方とも少なくなっていますので特に問題無いと思います。
スレッド一覧


1413● Re[2]:ありがとうございました![ 矢神 ] 2007 12/19 00:00
助かりました。なんとか思った通りの形にもっていけそうです。

最近はもうどこのサイト様もサポート打ち切りになっていたり、
バージョンや再配布物毎の違いもわかりにくかったりで、
こちらのような頼りになるBBSの存在はとてもとてもありがたいです。
転職所内蔵関係など、過去ログも大いに参考にさせていただきました。

お礼が遅くなってしまいましたがカジノシステムもDLして使わせて
頂いたので、完成したらURLをご報告させて頂こうかと思います。
重ね重ねありがとうございました!
スレッド一覧


1415● すみません、さらに追加質問です。[ 矢神 ] 2007 12/19 02:32
タイトルページに、英雄、大富豪と並んでカジノ王(最もコインの所有数が多いプレイヤー)を表示させたいのですが、ありがちな改造だとは思うのですが紹介しているサイトが見付からず、上手く行きません。

見様見真似で、設定部分に
$casnam = 'カジノ王 ';

# 覇者、大富豪の紹介に
print qq|</td>\n<td align=center>\n|;
print qq|<img src=$imgdir$wimg width=$ig_wd height=$ig_ht><br>\n| if $wimg;
print qq|$casnam$casikin| if $casikin;

# Sub Find the Best Player #に
if ($cs > $bestcoin && $sp !~ /Ng/) { $casikin = $nm; $wimg = $ig; $bestcoin = $cs }

と追記してみたのですが、どこが間違っているor何が足りないのでしょうか。



あともう一つ、これも難しくないとは思うんですが上手く行かなくて…
スキル「剣の舞」の発動条件(レア剣装備)にレア刀も含めたいのですが、
恐らく# Sub Arm #の
if ($a1 eq 'Sw' && $sts =~ /Li/) { $sp .= 'Qm' }
この部分をいじればよさそうだとは思うんですが、
'Sw','Kt'のような感じに書いてしまって良いのでしょうか?
スレッド一覧


1416● Re:すみません、さらに追加質問です。[ moon ] 2007 12/19 08:12
> タイトルページに、英雄、大富豪と並んでカジノ王(最もコインの所有数が多いプレイヤー)を表示させたいのですが、ありがちな改造だとは思うのですが紹介しているサイトが見付からず、上手く行きません。
>
> 見様見真似で、設定部分に
> $casnam = 'カジノ王 ';
>
> # 覇者、大富豪の紹介に
> print qq|</td>\n<td align=center>\n|;
> print qq|<img src=$imgdir$wimg width=$ig_wd height=$ig_ht><br>\n| if $wimg;
> print qq|$casnam$casikin| if $casikin;
>
> # Sub Find the Best Player #に
> if ($cs > $bestcoin && $sp !~ /Ng/) { $casikin = $nm; $wimg = $ig; $bestcoin = $cs }
>
> と追記してみたのですが、どこが間違っているor何が足りないのでしょうか。

この部分は特に問題無いようです。
$csが代入されていない可能性が考えられますので、sub list_orderの「($id,$nm,〜,$rw,$kl) = split(/<>/,$lstlines[$_]);」のような部分を見て$csが含まれているかどうかを確認して、もし含まれていないのであれば$csに代入されるように修正してみてください。

> あともう一つ、これも難しくないとは思うんですが上手く行かなくて…
> スキル「剣の舞」の発動条件(レア剣装備)にレア刀も含めたいのですが、
> 恐らく# Sub Arm #の
> if ($a1 eq 'Sw' && $sts =~ /Li/) { $sp .= 'Qm' }
> この部分をいじればよさそうだとは思うんですが、
> 'Sw','Kt'のような感じに書いてしまって良いのでしょうか?

それぞれをorで比較(||もしくはor演算子)しなければいけません。
その部分が2箇所あるはずなので、それぞれの「$a1 eq 'Sw'」を「($a1 eq 'Sw' || $a1 eq 'Kt')」に置換すれば大丈夫だと思います。
スレッド一覧


1417● ありがとうございました![ 矢神 ] 2007 12/19 09:39
教えていただいた通りに修正したら、どうにか上手くいったようです。
剣の舞の方はそもそもステータスの数値には反映されないようなので確認のしようがありませんでしたが…

何度も初歩的な質問をしてしまいすみませんでした。
スレッド一覧


1418● Re:補足[ moon ] 2007 12/19 20:11
> elsif(rand(1000)<1){$inm = int(substr($idt,0,4)).'コイン'; $cs += $inm;} # お金の確率の1/1000でコインが手に入る。

上記についてなのですが、http://www11.big.or.jp/~hazymoon/ownerbbs/treebbs.cgi?all=1205&s=1205 の問題があるのを忘れていました。
修正案としましては「$cs += $inm;」を「@cslist = split(/△/, $cs); $cslist[0] += int($inm); $cs = join('△', @cslist);」に置換すれば大丈夫だと思います。
スレッド一覧


1419● ご親切にありがとうございます。[ 矢神 ] 2007 12/20 16:24
助かります。お切に従い書き換えておきました。
スレッド一覧


1421● 設置のご報告[ 矢神 ] 2007 12/23 20:32
お陰さまで無事設置を完了、開設する事が出来ました!
カジノシステムのDL含め、本当に色々お世話になりました。
また改造の際に困ったら質問に来させて頂くかもしれません。
本当にありがとうございました!

DK SAGA
http://homepage2.nifty.com/artisania/dk3/dks/
スレッド一覧


1422● Re:設置のご報告[ moon ] 2007 12/23 21:44
> お陰さまで無事設置を完了、開設する事が出来ました!

設置先の御報告ありがとうございます。
また何かありましたらお気軽にどうぞ。
スレッド一覧

CGIROOM