▼スレッド
│
└◇227:紹介状 [masaki] 12/29 22:54
└◇228:一期一会 [moon] 12/29 23:28
└◇229:Re:一期一会 [masaki] 12/30 10:50
├◇230:Re[2]:一期一会 [moon] 01/01 16:19
│└◇232:Re[3]:一期一会 [masaki] 01/01 20:50
│ └◇233:Re[4]:一期一会 [moon] 01/01 22:05
│ ├◇241:Re[5]:一期一会 [masaki] 01/04 00:03
│ │└◇242:Re[6]:一期一会 [moon] 01/04 00:19
│ │ └◇250:Re[7]:一期一会 [masaki] 01/10 06:48
│ │ └◇251:参考までに [moon] 01/10 08:51
│ │ └◇253:Re:参考までに [masaki] 01/10 18:15
│ │ └◇254:Re[2]:参考までに [moon] 01/10 20:23
│ │ └◇293:Re[3]:参考までに [masaki] 01/26 21:50
│ │ └◇294:Re[4]:参考までに [moon] 01/26 22:59
│ │ └◇295:Re[5]:参考までに [masaki] 01/27 06:27
│ └◇256:Re[5]:一期一会 [masaki] 01/12 11:01
│ └◇257:Re[6]:一期一会 [moon] 01/12 13:34
│ ├◇258:Re[7]:一期一会 [moon] 01/12 14:57
│ └◇259:Re[7]:一期一会 [masaki] 01/12 15:37
│ └◇260:Re[8]:一期一会 [moon] 01/12 15:46
│ └◇261:Re[9]:一期一会 [masaki] 01/12 17:42
└◇297:Re[2]:一期一会 [masaki] 01/27 06:31
└◇298:Re[3]:一期一会 [moon] 01/27 08:42
└◇300:Re[4]:一期一会 [masaki] 01/27 17:19
└◇301:Re[5]:一期一会 [moon] 01/27 19:03
└◇302:Re[6]:一期一会 [masaki] 01/27 20:19
└◇303:Re[7]:一期一会 [moon] 01/27 22:06
└◇304:Re[8]:一期一会 [masaki] 01/28 18:21
└◇311:Re[9]:一期一会 [moon] 01/28 20:21
└◇313:Re[10]:一期一会 [masaki] 01/28 20:39<-last
紹介状アイテムについてなのですが、紹介状は何回も使えますよね。スレッド一覧
それを、一回しか使えないようにしたいのですが、どのようにすればいいのでしょうか?
すみませんm(_ _)m
> 紹介状アイテムについてなのですが、紹介状は何回も使えますよね。スレッド一覧
> それを、一回しか使えないようにしたいのですが、どのようにすればいいのでしょうか?
> すみませんm(_ _)m
一度しか使用できないようにするのなら紹介状アイテムを削除すれば良いのですが、それをするタイミングがかなり問題です。
例1. contact_checkで削除 : contact_actionでの紹介状判定も削除しなければいけないのでブラウザバックで行動可能。
例2. goodbye処理中に削除 : 「別れる」をしなければ消えないので消さないことが可能。
まあ、現実的には例1の方法だと思うのでそちらの方法を書きます。(参考バージョンは1.10とします)
contact_checkの、
foreach (@items) {
$right = 1 if (split(/△/))[1] =~ /$vflag/;
}
を、
if(@items){
foreach(0..$#items){
if(index((split(/△/))[1],$vflag)>=0){
$right = 1;
splice(@items,$_,1); # 紹介状を削除
&joinitem('i'); # アイテム結合
&userout; # ユーザデータ書き込み
last; # ループ終了
}
}
}
に変更し、contact_actionの、
if ($psp =~ /(V[a-z])/) {
# 処理
}
を削除。
# それにしても1.10ってどういうバージョン表記なんだ・・・。せめて1.91とかにして欲しかった。(愚痴)
>contact_actionの、スレッド一覧
> if ($psp =~ /(V[a-z])/) {
> # 処理
> }
> を削除。
これは、
if ($psp =~ /(V[a-z])/) {
$vflag = $1;
&splititem('i');
foreach (@items) {
$right = 1 if (split(/△/))[1] =~ /$vflag/;
}
の所でいいのでしょうか?
この中のif ($psp =~ /(V[a-z])/) {と}を削除ですか?
よくわからなかったので(^^;
> >contact_actionの、スレッド一覧
> > if ($psp =~ /(V[a-z])/) {
> > # 処理
> > }
> > を削除。
> これは、
> if ($psp =~ /(V[a-z])/) {
> $vflag = $1;
> &splititem('i');
> foreach (@items) {
> $right = 1 if (split(/△/))[1] =~ /$vflag/;
> }
> の所でいいのでしょうか?
> この中のif ($psp =~ /(V[a-z])/) {と}を削除ですか?
> よくわからなかったので(^^;
遅くなりました。
ちょっと違います。
sub contact_actionの、
if ($psp =~ /(V[a-z])/) {
$vflag = $1;
&splititem('i');
foreach (@items) {
$right = 1 if (split(/△/))[1] =~ /$vflag/;
}
if (!$right) {
&error("$pnmに会うためにはあるアイテムが必要です");
}
}
を「全て削除」ということです。
ありがとうございました。スレッド一覧
しかし、なんどやってもエラーになってしまいます(TT
間違ってないかどうか何度もやってみたのですが(;;
すみません。。
> ありがとうございました。スレッド一覧
> しかし、なんどやってもエラーになってしまいます(TT
> 間違ってないかどうか何度もやってみたのですが(;;
> すみません。。
エラーって文法エラーですか?
もしそうならActivePerlなどで文法チェックしてください。
エラーでなくてうまくいかない場合は、変更箇所だけ変更して削除箇所はそのままでやってみてください。
そして、会えない旨のメッセージが出ればOKで、会えてしまえば変更箇所の変更ミスです。
すみません(^^;スレッド一覧
Activeperlのインストール方法に混乱しています。。(英語ばかりで)
決して無視しているわけではないので(^^;
> すみません(^^;スレッド一覧
> Activeperlのインストール方法に混乱しています。。(英語ばかりで)
> 決して無視しているわけではないので(^^;
いや、ちゃんとできたのなら返信無しでも構いませんので。(もちろん返信があったほうが嬉しくはありますが)
参考(KENT WEB様) : http://www.kent-web.com/www/index.html
辿っていくと「ActivePerlインストール例」というページがあります。
# 文法チェックは、'perl -wc ファイル'(警告メッセージを無視する場合は'perl -c ファイル')
> > すみません(^^;スレッド一覧
> > Activeperlのインストール方法に混乱しています。。(英語ばかりで)
> > 決して無視しているわけではないので(^^;
>
> いや、ちゃんとできたのなら返信無しでも構いませんので。(もちろん返信があったほうが嬉しくはありますが)
>
> 参考(KENT WEB様) : http://www.kent-web.com/www/index.html
> 辿っていくと「ActivePerlインストール例」というページがあります。
>
> # 文法チェックは、'perl -wc ファイル'(警告メッセージを無視する場合は'perl -c ファイル')
ありがとうございました。
進めていったのですが、どうしてもコマンドプロントが見つからず断念しました。m(_ _)m
ご迷惑をおかけしてしまいすみませんでした。
> 進めていったのですが、どうしてもコマンドプロントが見つからず断念しました。m(_ _)mスレッド一覧
コマンドプロンプトの場所
Win9X/ME : C:\WINDOWS\COMMAND.COM
WinNT/2000/XP : C:\WINNT\SYSTEM32\CMD.EXE (名前以外はうろ覚え(C:\WINNT\CMD.EXEの可能性も))
# 普通は「スタート」→「プログラム」or「すべてのプログラム」(XP)→「アクセサリ」に「〜プロンプト」というのがありますけどね・・・。(〜は'MS-DOS'や'コマンド'など)
# ちなみにファイル本体が無い場合は危うい状態です。
>ファイル本体が無い場合は危うい状態です。スレッド一覧
はい。それが無い状態です。
危ういですか(TT
> はい。それが無い状態です。スレッド一覧
> 危ういですか(TT
ファイルが無いって本当に?(ファイル検索で'command'もしくは'cmd'で発見できないということ?)
確かに読み取り属性や隠しファイル属性が無いので消してしまうことはあるかもしれませんが、無いとWindowsの起動がうまく出来ないような気がします。(完全に出来ないかはやったことがないので分からないですが)
本当に無い場合、「起動ディスク」(FD)を作成してあるのならその中のファイルをコピーしてくることで復活出来るかと思います。
まあ、そのあたりは詳しくないのであくまで一般論ですが。
実行ファイルが存在した場合はこちら : http://nacelle.cug.net/tips/02010.html
すみません。やっとの思いでActiveperlが使えるようになったのですが、プレイ画面で画像や能力が表示されません。スレッド一覧
これで正しいのでしょうか?
(こんなこと質問してしまってすみません。)
> すみません。やっとの思いでActiveperlが使えるようになったのですが、プレイ画面で画像や能力が表示されません。スレッド一覧
> これで正しいのでしょうか?
> (こんなこと質問してしまってすみません。)
HTTPサーバを立ち上げたけれど、アクセスしても正常に表示されないということかな?(ActivePerl≠サーバ、なのでActivePerlが使用できるようになったと言われた直後に「プレイ画面で画像や能力が表示されません」と言われても意味的に繋がりません。)
HTTPサーバが実行されていると仮定して、画像が表示されないのであればHTTPサーバ側の設定の問題のような気がします。
能力が表示されないことに関しては実物がどのように表示されているかがわからないので何とも言えません。
どこかにその時の画面をキャプチャ(Alt+PrintScreenしてペイントにでも貼り付けJPEGで保存)した画像と、出力されたHTMLをテキスト形式で保存したファイル(拡張子を.txtに変更するだけ)をアップしてもらえませんか?
説明不足ばかりでご迷惑をおかけします。m(_ _)mスレッド一覧
http://m3voyage.hp.infoseek.co.jp/cgi-bin/sos3/sos3.jpg
↑ここにアップしておきました。
ほんとうにすみません。
できました〜(^^スレッド一覧
すみません。ずっとにらめっこしてたら、全角のスペースが入ってるのかな?とか思って、直したらできました〜。
ですが、ちょっと問題発生です。NPCにVvという略字をつけて、Vvの略字をつけたアイテムもつくったのですが、そのアイテムを持っていても「〜に会うためにはあるアイテムが必要です」とでて会えません。
sub contact_check {
if ($Fm{'pd2'}) { $Fm{'pd'} = $Fm{'pd2'} }
if ($Fm{'pd2'} eq $Fm{'id'}) { push (@msg,"自分に会うことはできません"); $notfound = 1; return }
@rcdlines = &get_user("$Fm{'id'}");
@prclines = &get_partner("$Fm{'pd'}");
$now = (time - $ptm) - ($def_np * 60);
if($psp =~ /Pa/){ push (@msg,"$pnmが現れた"); &partnerout }
if ($tw ne $ptw && $psp !~ /Pa/) { push (@msg,"$pnmは現在ここには居ません"); $notfound = 1; return }
if ($psp =~ /(V[a-z])/) {
$vflag = $1;
&splititem('i');
if(@items){
foreach(0..$#items){
if(index((split(/△/))[1],$vflag)>=0){
$right = 1;
splice(@items,$_,1); # 紹介状を削除
&joinitem('i'); # アイテム結合
&userout; # ユーザデータ書き込み
last; # ループ終了
}
}
}
}
if ($vflag && !$right) {
push (@msg,"$pnmに会うためにはあるアイテムが必要です");
$notfound = 1;
}
↑街移動の改造もしたので、この辺がおかしいのかもしれません。
問題ばかりですみません(TT
すみません。書き間違いです。スレッド一覧
if(@items){foreach(0..$#items){〜}}を、foreach(@items){〜}にしてください。
これとは関係ないですが、Paスキルの処理が変だと思いますよ。(&partneroutは余計だし、メッセージが変になるし)
・不明とかを無視したくない場合は、if($psp =~ /Pa/){ push (@msg,"$pnmが現れた"); &partnerout }を削除。
・無視しても良い場合は、if($psp =~ /Pa/){ push (@msg,"$pnmが現れた"); &partnerout }の&partneroutをreturn;に変更。
たぶん、PerlEditorなどを使用していると思いますが、そういうエディタの中には全角空白を表示する機能があるものがあります。スレッド一覧
PerlEditorの場合は、表示→設定→表示色→マーク表示のところ。
ありがとうございます!スレッド一覧
Paスキルは、いろいろやってわけがわからなくなっていたやつです。(ぉぃ
質屋につけようと思っていたのですが(^^;
それまで直していただきありがとうございます。
ええと、話はもどりますが、moonさんの言われたとおりなおしてみて、会えるようにはなったのですが、今度は紹介状アイテムがなくなりません。
(何度でも会えてしまいます)
なぜでしょうか?
さらに訂正箇所が間違っていました。スレッド一覧
訂正したところを戻して、split(/△/)をsplit(/△/,$items[$_])に修正してください。
今度こそは。(笑)
できました〜〜〜〜!!スレッド一覧
ありがとうございます!!
本当にありがとうございます〜【感激】
295の記事のアドレスはコピー&ペーストしてアドレス欄に貼りつけないとだめみたいです。スレッド一覧
> 295の記事のアドレスはコピー&ペーストしてアドレス欄に貼りつけないとだめみたいです。スレッド一覧
画像を確認しました。
どうやらsub player_dataが呼び出されていないか、または、呼び出されていてもそこでエラーが出ているようです。
HTTPサーバを使用したせいで起こっていることではないはずなので、その前に改造した箇所の見直しをしてみてください。
どちらにせよHTMLを見ないことには問題の判別は出来なさそうです。
@rcdlines = &get_user("$Fm{'id'}");スレッド一覧
require 'town.pl'; &town_name;
print qq|<td width=50% valign=top>\n|;
print qq|<center><img src="$imgdir$ttlimg"><br>\n| if $ttlapd;
print qq|<br>【$twn】</center><hr width=80%>\n|;
print qq|<table border=0 cellspacing=0 cellpadding=5 align=center>\n|;
print qq|<tr><td align=center valign=top><img src="$imgdir$ig" width=$ig_wd height=$ig_ht><br>$nm</td>\n|;
たぶん、街移動の改造をしたこのあたりだと思うのですが(^^;
本当にすみません。
> たぶん、街移動の改造をしたこのあたりだと思うのですが(^^;スレッド一覧
> 本当にすみません。
ぱっと見、大丈夫なようです。
ただし、サブルーチンの中でエラーが起こっている場合はこちらからは知りようがありません。
なので、表示がおかしい時のHTMLをテキストで。(長いのでここには貼り付けず画像のようにアップしてください。)
# 本当に確認したかったのはHTMLのほうだったのだけれどな。(笑)
はい。スレッド一覧
http://m3voyage.hp.infoseek.co.jp/cgi-bin/sos3/sos3.jpg
これです。なんか全然足りません(;;
> はい。スレッド一覧
> http://m3voyage.hp.infoseek.co.jp/cgi-bin/sos3/sos3.jpg
> これです。なんか全然足りません(;;
テキストを画像でアップするとは・・・、思わず笑ってしまいました。(笑)
No.294にも書きましたが拡張子を.txtに変更してアップするだけで良かったのですが。
で、おそらく以下のところもしくは、normal_action後でかつこれ以前の部分でエラーになっています。
@rcdlines = &get_user("$Fm{'id'}");
require 'town.pl'; &town_name;
この中でも特に怪しいのが&town_name;です。
問題を特定するために、&town_name;を#&town_name;のようにコメントアウトしてテストしてみてください。
こうすれば、コメントアウトしてそれ以降が正常ではないにしても表示されたのなら&town_name;が怪しいと分かると思います。
それでも表示されないなら、今度はrequireも含めてコメントアウトして確認。
>それでも表示されないなら、今度はrequireも含めてコメントアウトして確認。スレッド一覧
これでやっとできました〜。
どう修正すればいいのでしょうか?
質問ばかりですみません(TT
(今地道に勉強してます。(^^;)
> >それでも表示されないなら、今度はrequireも含めてコメントアウトして確認。スレッド一覧
> これでやっとできました〜。
> どう修正すればいいのでしょうか?
> 質問ばかりですみません(TT
> (今地道に勉強してます。(^^;)
&town_name;のコメントアウトでは症状が変化しなくて、requireまでコメントアウトしないと駄目だったという事ですよね?
それなら、town.plの読み込みに失敗しているのだろうと思います。
town.plがsos2.cgiと同じフォルダにあるか確認してください。(ちゃんとtown.plという名前になっているかどうかも入念に)
すみません。スレッド一覧
こんな致命的なミスを・・・。
ご迷惑をおかけしました。。(^^;
これで、テストしまくりですね(笑)