※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

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

銀行&闇銀行 + α」の最新版変更点

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

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

+お金をいくらでも貯めれるように、銀行を作りましょう。
+まず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>';
+
+これで完成です。
+お疲れ様でした。