罪と罰++二律背反


*ショッピングモールにて [#of1e3b05]

-ページ: [[罪罰改造板2]]
-投稿者: [[蒼]]
-優先順位: 緊急
-状態: 提案
-状態: 完了
-カテゴリー: 設置できません
-投稿日: 2007-02-11 (日) 21:10:55
-バージョン: 

**内容 [#u2cbe691]
お世話になっております。この度、コイン交換所というのをショッピングモール内に設置しました。コンフィングにもアイテムの設置を致しました。shop.cgiにもコマンドを追加しましたが、「交換する」を選択すると、どうしても武器屋にいってしまいます…$tmも未使用にしましたし、どこがいけないのでしょうか?どうしても設置したいのでお願い致します。
----
-武器屋にいってしまうということは$tmが武器屋の数値になってるからだと思いますが?他にも、診療所のように他ページを呼び出している場合ならshop.cgiの一番したあたりに"# 診療所 elsif($tm>=120 && $tm<140){require './inc/ore_sub-shop-medical.cgi';&medical;}"というのがいくつかあるので、交換所に使用した$tmを記述しておかないといけなかったような気がします。 -- [[six]] &new{2007-02-11 (日) 21:49:28};
-最初に店を選択するところは、$tmを未使用(=0)であってると思いますが、デフォでは1が武器屋、2が防具ってなっていると思います。cmd番号はそこで使われていない番号にする必要があると思います。そこから先はコイン交換所の$tmを使わないといけないですね -- [[あくあ]] &new{2007-02-11 (日) 22:12:58};
-早速の返答ありがとうございます。$tmの値は1000にしています。「交換」を選択すると$tm==1000、交換時のアイテム選択画面は$tm==1020…でもまだこの「$tm」という意味が分かっていない愚か者です☆ -- [[蒼]] &new{2007-02-11 (日) 23:31:52};
-$tmはこのコイン交換所で初めて追加しました… -- [[蒼]] &new{2007-02-11 (日) 23:33:20};
-デフォだとショップに新しく追加する場合 $cmd==7 になると思うんで、まずはそこから確かめてみてはどうでしょう?それはあっているなら }elsif($cmd==7){$log .="";$tm=1000;選択肢(やめる、交換、など)}で、次は$tmを指定( }elsif($tm1000){if($cmd<=0){#やめるを選択}elsif($cmd==1){#交換を選択$log .="":交換処理} で出来ると思います。わかりにくい説明ですが^^; -- [[six]] &new{2007-02-12 (月) 01:03:19};
-↑の }elsif($tm1000){ は }}elsif($tm==1000){ です^^; あと、関係ないですが"wiki編集コマンド"のリンク先がTOPページにリンクされててミスの編集が出来ないので追加で書き込ませてもらいましたm(_ _)m -- [[six]] &new{2007-02-12 (月) 01:05:57};
-$cmd==7でやってます… -- [[蒼]] &new{2007-02-12 (月) 21:41:25};
- 	# 交換所 -- [[蒼]] &new{2007-02-12 (月) 21:42:20};
-一部をコピペする方法が分かりません^^; -- [[蒼]] &new{2007-02-12 (月) 21:43:23};
-一応…txt上げておきますねヤバイなら消して下さい。すみません。http://www.abcoroti.com:4700/~blue777/shop.txt -- [[蒼]] &new{2007-02-12 (月) 21:54:15};
-ただ単にコイン交換所で$cmd==1にした場合の処理が武器屋になってるからだけですね。武器屋の処理をそのままコピペして、コイン交換処理に書きえればきちんと動作すると思います。 -- [[six]] &new{2007-02-12 (月) 22:36:07};
-修正^^; 武器屋の処理をコピペしているだけなので、きちんとコイン交換処理に書き換えれば動作するはずです^^;それと、$tm==1000の中で処理をすべて行うなら$tm==1002は必要ないと思いますよ。 -- [[six]] &new{2007-02-12 (月) 22:38:30};
-ごめんなさい…どうやっても無理です…ロトみたいに別ファイルにしたほうがいいんですかね… -- [[蒼]] &new{2007-02-12 (月) 23:55:49};
-「ようこそ♪貯めたコインはここで交換してね」まではうまくいくんです… -- [[蒼]] &new{2007-02-12 (月) 23:58:35};
-明日もう一度チャレンジします -- [[蒼]] &new{2007-02-13 (火) 00:01:42};
-え〜と~
 }elsif($cmd==7){ # 最初は0なので診療所の後ろなら7
			$log .= "ようこそ♪集めたコインはここで交換してね<br>\n";
			$tm=1000; # <---使用されていない番号を使うこと
			$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
			$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
			$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
			$log2 .=qq|<select name="cmd" size="1">\n|;
			$log2 .=qq|<option value="0">やめる</option>\n|;
			$log2 .=qq|<option value="1">交換♪</option>\n|;
			$log2 .=qq|</select><br>\n|;
			$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}
はあってると思うんで、
 }elsif($tm==10){#武器屋
の上に
 # 武具屋 - 買 or 売
	}elsif($tm==1000){
		if($cmd<=0){#キャンセル
			$log .= "なんだ、やめるのかい。また来てくれよな!<br>\n";
			$tm = $cmd = 0;
			&shop_menu;
		}elsif($cmd==1){#交換
			if(コインの変数>0){
				$v=コインの変数*10;
				$gold+=$v;#コイン一枚を10Gに換金する場合
				$log .="$v\G に換金しました<br>\n";
				コインの変数=0;
				$tm=$cmd=0;
				&shop_menu;
			}else{
				$log .="コインを持っていないですよ?<br>\n";
				$tm=$cmd=0;
				&shop_menu;
			}	
		}
を記述してみてください。~
適当に作ったものなので文法チェックを^^;~
今までのは $cmd==1 の部分はよかったですが、$cmd==2 の部分の記述が武器屋の記述のままだったので武器屋に行ってることと同じになってしまったんだと思います。 -- [[six]] &new{2007-02-13 (火) 02:15:05};
-sixさん、お早い回答ありがとうございます^^私の説明が悪かったみたいで…コイン交換所は戦闘時にランダムでドラクエでいう「小さなメダル」みたいなのを取得できるようにしています。そのコインを$tiketとして、コンフィングで設定した@kou_dataという交換所のアイテムとコインを枚数によって交換する、というシステムなんです><なので、交換所は$cmd==1の「交換♪」を選択するとコンフィングで設定したアイテムを選択してコインと交換できるようにしたかったんです。とりあえず上記のような説明のやり方でもう一度やってみます。何回も申し訳ありません>< -- [[蒼]] &new{2007-02-13 (火) 08:54:45};
-ロトのように別ファイルにしてみましたが結果は同じで… -- [[蒼]] &new{2007-02-13 (火) 09:29:07};
-別ファイルがhttp://www.abcoroti.com:4700/~blue777/ore_sub_shop-koukan.txt -- [[蒼]] &new{2007-02-13 (火) 09:32:56};
-shop.txtも更新しましたのでお願いします><申し訳ありません>< -- [[蒼]] &new{2007-02-13 (火) 09:33:45};
-私の勘違いでしたね^^;そういった方法で交換するなら、武器屋などを参考にすればできるはずですが(解決策ではないですが^^;)…。私の罪罰で武器屋を設置してないんで武器屋などの仕組みをあまり理解しておらず、他の方法でやってるんで説明がorz~
  }elsif($cmd==7){ # 最初は0なので診療所の後ろなら7
			$log .= "ようこそ♪集めたコインはここで交換してね<br>\n";
			$tm=1000; # <---使用されていない番号を使うこと
			$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
			$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
			$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
			$log2 .=qq|<select name="cmd" size="1">\n|;
			$log2 .=qq|<option value="0">やめる</option>\n|;
			$log2 .=qq|<option value="1">交換♪</option>\n|;
			$log2 .=qq|</select><br>\n|;
			$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
 }
 }elsif($tm==1000){
	if($cmd<=0){
		$log .="やめておきます<br>\n";
		$tm=$cmd=0;
		&shop_menu;
	}elsif($cmd==1){
		$log .="何と交換しますか?<br>\n";
		$tm=1010;
		$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
		$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
		$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
		$log2 .=qq|<select name="cmd" size="1">\n|;
		$log2 .=qq|<option value="0">やめる</option>\n|;
		$log2 .=qq|<option value="1">$kou_data[1][1]</option>\n| if($tiket>10);
		$log2 .=qq|<option value="2">$kou_data[2][1]</option>\n| if($tiket>20);
		$log2 .=qq|<option value="3">$kou_data[3][1]</option>\n| if($tiket>30);
		$log2 .=qq|</select><br>\n|;
		$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
	}
 }elsif($tm=1010){
	if($cmd<=0){
		$log .="やめておきます<br>\n";
		$tm=$cmd=0;
		&shop_menu;
	}elsif($cmd>0 && $cdm<4){
		$kou_a=$cmd;#$kou_aは$dg_aみたいなものです^^;既に自分で用意した変数を使用
		$tiket-=$cmd*10;
		$log .="$kou_data[$cmd][1] と交換しました<br>\n";
		$tm=$cmd=0;
		&shop_menu;
	}
 }
みたいな感じでやってるので武器屋などの方法でやっておられる場合すいませんが上手く説明できません^^;武器屋などの方法ならば、ore_sub-shop-koukan.cgiを作らずとも武器屋などをそのままコピペして、コメントと変数とore_sub-shop-p1_pc.cgi ore_sub-shop-p1_mv.cgi の中を適当な記述にすればできるはずです…(曖昧な説明で申し訳ないです^^;)もしもしやり方がわからなくて↑の方法でやるとなると説明はできます(ぇ -- [[six]] &new{2007-02-13 (火) 09:49:45};
-上記の方法でUPしてみましたがやはり武器屋のままでした(泣 -- [[蒼]] &new{2007-02-14 (水) 01:56:38};
-ちなみに…adminにアイテムのデータを追加しなくちゃいけないのでしょうか? -- [[蒼]] &new{2007-02-14 (水) 01:58:51};
-何だか、ソースを拝見すると、根本的に違ってるような気もするんですが。。。^^;>一度元に戻して、武器屋のトコをコピって$tmとコメント部分だけ変更→動作確認→中味変更調整でどうでしょう? -- [[三毛猫]] &new{2007-02-14 (水) 09:58:28};
-防具屋のをコピってtm変えてコメントも変えてみましたが武器屋のままでした… -- [[蒼]] &new{2007-02-14 (水) 11:24:11};
-すいませんが、もう一度、今現時点のshopのtxtを見せてもらえますか?? -- [[三毛猫]] &new{2007-02-14 (水) 12:40:58};
-あ!なんかできそうです!また追って書き込みします! -- [[蒼]] &new{2007-02-14 (水) 15:04:49};
-なんとか処理できるまでいきました^^感謝です!しかし物と交換できません。adminも変更しましたがコインだけ減って物と交換できません☆adminを見たら、空の1番アイテムと交換しているようなのです。交換の選択にはちゃんとアイテムが選択されるのですが…shop.txtをUPしておきます。 -- [[蒼]] &new{2007-02-14 (水) 15:39:05};
-configに交換する物のリストは@kou_dataに収納済みですよね?>それと、$tm==150〜160内での、交換リストの番号($kou_data[18][1]の18)と$cmdを合わせるか変換させないと、$kou_a=$cmd;はきちんと表示しないと思います。 -- [[三毛猫]] &new{2007-02-14 (水) 15:57:36};
-ex.$log2 .=qq|<option value="18">$kou_data[18][1] 100枚</option>\n| if($tiket>100);>これだと$cmdに18が収納される。 -- [[三毛猫]] &new{2007-02-14 (水) 15:59:23};
-補足ですが、adminは管理画面関係の制御しか行っていません。なので、これに限らず、管理画面からキャラデータの編集を行わなければ、adminを触らなくても改造は可能です。 -- [[三毛猫]] &new{2007-02-14 (水) 16:04:13};
-できました!sixさん、三毛猫さん大変ありがとうございました!あとはアイテムの効果をつけるのを頑張ります!また何かありましたらよろしくお願いいたしますm(__)m -- [[蒼]] &new{2007-02-14 (水) 20:33:42};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS