銀行&闇銀行 + α

「銀行&闇銀行 + α」の編集履歴(バックアップ)一覧はこちら

銀行&闇銀行 + α」(2013/02/09 (土) 15:15:20) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

お金をいくらでも貯めれるように、銀行を作りましょう。 まずconfig.cgiのほうの変数にchokin追加してください。 bank.cgiでも作って、下記を内容に。 #================================================= # 銀行 Created by 神月 #================================================= # 場所名 $this_title = '銀行'; # NPC名 $npc_name = '@ウケツケ'; # ログに使うファイル(.cgi抜き) $this_file = "$logdir/bank"; # 背景画像 $bgimg = "$bgimgdir/depot.gif"; #================================================= # はなす言葉 #================================================= @words = ( "冒険中に倒れてしまうと$e2j{money}が減っちゃうから、冒険前には$e2j{money}を預けてね。", "ここは$this_titleです。", "$e2j{money}を使いすぎないように気をつけましょう。", ); #================================================= # 画面ヘッダー #================================================= sub header_html { print qq|<div class="mes">【$this_title】預金残高:<b>$m{chokin}</b>G $e2j{money}:<b>$m{money}</b>G $e2j{hp}:<b>$m{hp}</b>/<b>$m{mhp}</b> $e2j{mp}:<b>$m{mp}</b>/<b>$m{mmp}</b></div>|; } sub shiraberu_npc { $mes = qq|<span onclick="text_set('@やみぎんこう')">$npc_name「あっ!ダメダメ!そっちにいっちゃ…。」</span>|; } #================================================= # 追加アクション #================================================= push @actions, 'ひきだす'; push @actions, 'よきん'; $actions{'ひきだす'} = sub{ &hikidasu }; $actions{'よきん'} = sub{ &azukeru }; $actions{'やみぎんこう'} = sub{ &ura }; #================================================= # @ひみつのみせ #================================================= sub ura { $mes = "怪しげな店にいきました…"; $m{lib} = 'yamibank'; &auto_reload; } #================================================= # @hikida #================================================= sub hikidasu { my $hikidasi = shift; if ($hikidasi =~ /^([0-9]+)\x20?G?$/) { my $hikidasi_money = int($1); if ($hikidasi_money > $m{chokin}) { $mes = "預金残高より多く$e2j{money}は引き出せません。"; return; } elsif ($hikidasi_money <= 0) { $mes = "引き出しは最低でも 1 G以上です"; return; } elsif ($hikidasi_money > 9999999) { $mes = "引き出し最大額を超えています。9999999Gより下の額を引き出して下さい。"; return; } $m{money} += $hikidasi_money; $m{chokin} -= $hikidasi_money; $npc_com = "$hikidasi_money Gを引き出しました。"; return; } $mes = qq|$e2j{money}を引き出すんですか?<br />$p|; $mes .= qq|<span onclick="text_set('@ひきだす>$m{chokin}G')">$m{chokin}G</span> / |; $act_time = 0; } #================================================= # @azuke #================================================= sub azukeru { my $azuke = shift; if ($azuke =~ /^([0-9]+)\x20?G?$/) { my $azuke_money = int($1); if ($azuke_money > $m{money}) { $mes = "預金しようとしている程の$e2j{money}はありません。"; return; } elsif ($azuke_money <= 0) { $mes = "預金は最低でも 1 G以上です"; return; } $m{money} -= $azuke_money; $m{chokin} += $azuke_money; $npc_com = "$azuke_money Gを預金しました。"; return; } $mes = qq|預金しますか?<br />$p|; $mes .= qq|<span onclick="text_set('@よきん>$m{money}G')">$m{money}G</span> / |; $act_time = 0; } 1; # 削除不可 次に、闇銀行を作りましょう。 yamibank.cgiを作り、下記を内容に。 #================================================= # 銀行 Created by バニラ #================================================= # 場所名 $this_title = '闇銀行'; # NPC名 $npc_name = '@悪人'; # ログに使うファイル(.cgi抜き) $this_file = "$logdir/yamibank"; # 背景画像 $bgimg = "$bgimgdir/black_market.gif"; #================================================= # はなす言葉 #================================================= @words = ( "…よく来たな。ここは$this_titleだ…。", "…$e2j{money}が欲しいのか?ステータスをよこせばくれてやる…。", "…HP,MPいずれかを1くれたら$e2j{money}を2Gあげよう…。", ); #================================================= # 画面ヘッダー #================================================= sub header_html { print qq|<div class="mes">【$this_title】預金残高:<b>$m{chokin}</b>G $e2j{money}:<b>$m{money}</b>G $e2j{hp}:<b>$m{hp}</b>/<b>$m{mhp}</b> $e2j{mp}:<b>$m{mp}</b>/<b>$m{mmp}</b></div>|; } #================================================= # 追加アクション #================================================= push @actions, 'ひきだす'; push @actions, 'よきん'; push @actions, 'HP'; push @actions, 'MP'; $actions{'ひきだす'} = sub{ &hikidasu }; $actions{'よきん'} = sub{ &azukeru }; $actions{'HP'} = sub{ &uaua }; $actions{'MP'} = sub{ &uaua2 }; #================================================= # @hikida #================================================= sub hikidasu { my $hikidasi = shift; if ($hikidasi =~ /^([0-9]+)\x20?G?$/) { my $hikidasi_money = int($1); if ($hikidasi_money > $m{chokin}) { $mes = "…預金残高に引き出したい程の$e2j{money}が無いようだが…。"; return; } elsif ($hikidasi_money <= 0) { $mes = "…引き出すなら 1 G以上にしろ…。"; return; } elsif ($hikidasi_money > 9999999) { $mes = "…引き出し限度額を超えている…。引き出すなら9999999G未満のGを引き出せ…。"; return; } $m{money} += $hikidasi_money; $m{chokin} -= $hikidasi_money; $npc_com = "…$hikidasi_money Gを引きだしたぞ…。"; return; } $mes = qq|$e2j{money}を引き出すのか…<br />$p|; $mes .= qq|<span onclick="text_set('@ひきだす>$m{chokin}G')">$m{chokin}G</span> / |; $act_time = 0; } #================================================= # @azuke #================================================= sub azukeru { my $azuke = shift; if ($azuke =~ /^([0-9]+)\x20?G?$/) { my $azuke_money = int($1); if ($azuke_money > $m{money}) { $mes = "…$mの$e2j{money}はそれ程無いようだが…。"; return; } elsif ($azuke_money <= 0) { $mes = "…預金するなら 1 G以上にしろ…。"; return; } $m{money} -= $azuke_money; $m{chokin} += $azuke_money; $npc_com = "$azuke_money Gを預金した…。"; return; } $mes = qq|預金するのか…?<br />$p|; $mes .= qq|<span onclick="text_set('@よきん>$m{money}G')">$m{money}G</span> / |; $act_time = 0; } #==================================== # チェンジ #==================================== sub uaua { &_chang_money(shift, 2, 'money') } sub uaua2 { &_chang_money2(shift, 2, 'money') } sub _chang_money { my($mhp, $up, $k) = @_; if ($mhp < 1 || $mhp =~ /[^0-9]/) { $mes = "最大$e2j{hp}をどのくらいささげてくれるんだ…。『@$e2j{hp}>1』←のようにすると$e2j{hp}を1消費して、$e2j{money}を2Gを貰えるぞ…。"; return; } elsif (30 > $m{mhp}) { $mes = "最大$e2j{hp}はもっと必要だ…"; return; } my $v = $mhp * $up; $m{mhp} -= $mhp; $m{$k} += $v; $npc_com = "最大$e2j{hp} $mhp のかわりに $e2j{$k} を $v Gやるぞ…。"; } sub _chang_money2 { my($mmp, $up, $k) = @_; if ($mmp < 1 || $mmp =~ /[^0-9]/) { $mes = "最大$e2j{mp}をどのくらいささげてくれるんだ…。『@$e2j{mp}>1』←のようにすると$e2j{mp}を1消費して、$e2j{money}を2Gを貰えるぞ…。"; return; } elsif (30 > $m{mmp}) { $mes = "最大$e2j{mp}はもっと必要だ…"; return; } my $v = $mmp * $up; $m{mmp} -= $mmp; $m{$k} += $v; $npc_com = "最大$e2j{mp} $mmp のかわりに $e2j{$k} を $v Gやるぞ…。"; } 1; # 削除不可 そして、battle.cgiに倒された時にゴールドが減少するように・・・ # NPCがプレイヤーを倒した時。または自爆のすぐしたにでも下記を追加。 $m{money} = int($m{money}*0.9); $com='<b>倒れたまま逃げた為、ゴールドが減少しました!</b>'; これで完成です。 お疲れ様でした。

表示オプション

横に並べて表示:
変化行の前後のみ表示: