*罪罰/他国へ一括通信1が設置できない [#hf2ac04b]
-ページ: [[罪罰改造板2]]
-投稿者: [[あくあ]]
-優先順位: 低
-状態: 完了
-カテゴリー: 設置できません
-投稿日: 2005-09-26 (月) 22:38:18
-バージョン:
**内容 [#l254b0ce]
ページが見づらくなるのでこちらへ移動しました
----
-間違いかもしれませんが } が足りないような・・・後、ログが一つしか保存されなくなります。 -- [[けんいちXP]] &new{2004-05-05 (水) 11:55:29};
-どれを使ってみたのでしょうか、あと { を追加するところは無いような気がしますが、対になる } は、ずっと下のほうにあるのでは? -- [[あくあ]] &new{2004-05-05 (水) 12:16:59};
-確かに変です。1番目の方法は自国に送ったときのみしか出来ませんし・・・ -- [[スポンサー]] &new{2004-05-05 (水) 17:50:03};
-すいません。もうちょっと、どう動いて何が問題なのか示してもらえないと -- [[あくあ]] &new{2004-05-05 (水) 18:52:46};
-1番 自国にラジオボタンで選択して送れるけど 他国に送るときはファイルが開かない。 2番 国名を記入しても 送りました だけで ログに入らず記録されない。 以上です。 -- [[スポンサー]] &new{2004-05-07 (金) 16:42:37};
--わかりました。自分のサイトでは出来てるんですけどね。どこが違うんだろ・・・ -- [[あくあ]] &new{2004-05-08 (土) 11:06:32};
-1で他国に送るとファイルが開かないというのは、letter_logに書き込まれていないということでしょうか?それとも表示がされないってことでしょうか -- [[あくあ]] &new{2004-05-08 (土) 11:08:03};
-letter.cgiをダウンロードして再度やってみましたが、やはり他国にも送れますね。何か見落としてるかなぁ -- [[あくあ]] &new{2004-05-08 (土) 12:34:37};
--これは1の方です。2は、またあとでやってみます -- [[あくあ]] &new{2004-05-08 (土) 12:35:14};
-2の方もうまく動作しています。が、変更の場所がわかりにくいですね。書き換え場所をわかりやすいように変更しました -- [[あくあ]] &new{2004-05-08 (土) 15:30:33};
-あー、もしかして最初の } が足りないっていわれてたのは、if($SAT{'nm'} eq $in{'nm'}){ のところのことですかねー。わかりませんが、であれば上のスクリプトの通りにすればOKです -- [[あくあ]] &new{2004-05-08 (土) 15:51:15};
-了解しましたぁ^^ -- [[けんいちXP]] &new{2004-05-08 (土) 15:56:07};
-1はオープンエラーです。 -- [[スポンサー]] &new{2004-05-08 (土) 17:38:44};
-Open Error : ./usrdata/.cgi -- [[スポンサー]] &new{2004-05-08 (土) 17:39:38};
-1も2も最初からスクリプト自体に変更はありません。変更した場所を確認してみてください -- [[あくあ]] &new{2004-05-08 (土) 17:46:14};
-もしダメならソースを見せてもらったほうが早いかも知れないですね -- [[あくあ]] &new{2004-05-09 (日) 08:26:24};
-↓にアップしといたんで見てください。それかアクアさんのサイトでの出来たヤツをアップしてくれませんか? -- [[スポンサー]] &new{2004-05-09 (日) 12:09:11};
-とりあえず、問題なのはここですね。ちょっと何の処理なのか分かりませんが。 -- [[あくあ]] &new{2004-05-09 (日) 12:48:38};
sub regist
...
if($in{'nm'} ne "$camp_info[$DAT{'camp'}][0]"){
$in{'let'}=1;
require './inc/ore_sub-ene_para.cgi';&tusr_file_open;
}
# ファイルロック
-この4行をコメントアウトすると動くようです -- [[あくあ]] &new{2004-05-09 (日) 12:52:15};
-あと上げてもらったファイルは削除します -- [[あくあ]] &new{2004-05-09 (日) 12:52:58};
-そうですか ありがとうございます。この処理はこざとさんのスプリクトの処理です。 -- [[スポンサー]] &new{2004-05-09 (日) 14:26:47};
-国宛の時にスキップするには、if(!$in{'camp'} && $in{'nm'} ne "$camp_info[$DAT{'camp'}][0]"){ でいけるかも知れません -- [[あくあ]] &new{2004-05-09 (日) 14:55:15};
-書いてあるようにやったつもりなんですがエラーが出てしまいますすいませんがファイルを拝見してもらえませんか? -- [[傭兵]] &new{2004-08-07 (土) 16:48:00};
-どういう風に変更したのかちょっと不明です。registのところが違います。 -- [[あくあ]] &new{2004-08-07 (土) 21:50:36};
-まず、元に戻してからですね。追加するのは5行のみです。あとは、もともと存在している行ですので場所を探してそこに追加してください -- [[あくあ]] &new{2004-08-07 (土) 21:51:24};
-パ−ルチェッカーに掛けると異常ないんですが起動させるとエラーが出てしまいます -- [[傭兵]] &new{2004-08-07 (土) 22:35:37};
-すいませんがregistの部分をはっきり表示させてくれませんか?省略しないで -- [[傭兵]] &new{2004-08-07 (土) 23:01:03};
-$flag=1;とlast;を探せばすぐ下に見つかると思いますが。まず、「last;」を探してください -- [[あくあ]] &new{2004-08-07 (土) 23:27:22};
#------------------------------------------------------------------------------
# ログ書き込み処理
sub regist {
if($SAT{'nm'} eq $in{'nm'}
|| $in{'nm'} ne $camp_info[1][0] # <--ここを追加
|| $in{'nm'} ne $camp_info[2][0] #
|| $in{'nm'} ne $camp_info[3][0] #
|| $in{'nm'} ne $camp_info[4][0] #
|| $in{'nm'} ne $camp_info[5][0] # <--ここまでの5行を追加
){
$flag=1;
last;
}
else{
local @tdat;
# 参加者データファイル一覧取得/一括読み込み
-こんな感じじゃないんですか? -- [[傭兵]] &new{2004-08-07 (土) 23:37:11};
-上に書かれている場所に最初から「 last; 」は、存在していましたか?書くのは5行だけですよ -- [[あくあ]] &new{2004-08-07 (土) 23:41:15};
open(IN,"$logfile") || &error("Open Error : $logfile");
while (<IN>) {
local($date,$nm,$camp,$com,$sogo,$addr,$host,$agent,$time2,$myid) = split(/<>/);
if($myid eq $DAT{'nm'} || $myid eq $camp_info[$DAT{'camp'}][0]){
if($ltime<$time2){
require './inc/ore_sub-system.cgi';
&usr_file_open;
$ltime=$time2;
&dat_write;
exit;
}
last;
}
}
close(IN);
# 著作権表示(削除禁止)
print "<hr>\n";
©right;
exit;
}
#------------------------------------------------------------------------------
# ログ書き込み処理
sub regist {
if($SAT{'nm'} eq $in{'nm'}
|| $in{'nm'} ne $camp_info[1][0] # <--ここを追加
|| $in{'nm'} ne $camp_in
-上にはひとつありました -- [[傭兵]] &new{2004-08-07 (土) 23:43:36};
-sub regist より下の行です -- [[あくあ]] &new{2004-08-07 (土) 23:47:32};
# ログ書き込み処理
sub regist {
if($SAT{'nm'} eq $in{'nm'}
|| $in{'nm'} ne $camp_info[1][0] # <--ここを追加
|| $in{'nm'} ne $camp_info[2][0] #
|| $in{'nm'} ne $camp_info[3][0] #
|| $in{'nm'} ne $camp_info[4][0] #
|| $in{'nm'} ne $camp_info[5][0] # <--ここまでの5行を追加
){
$flag=1;
last;
}
else{
・・・・
my $flag=0;
foreach(0 .. $#tdat){
%SAT = '';
my @prats = split(/,/,$tdat[$_]);
foreach $prats (@prats){
my($key,$v) = split(/;/,$prats);
$SAT{$key} = $v;
}
if($SAT{'nm'} eq $in{'nm'}){
$flag=1;
last;
}
}
if(!$flag){
$mes = qq|$in{'nm'}さんという参加者は存在しません。<br>| ;
&html;
}
-二つですね -- [[傭兵]] &new{2004-08-07 (土) 23:51:51};
-1つしかないはずです。そこの3行を良く見て同じように5行を追加してください -- [[あくあ]] &new{2004-08-07 (土) 23:57:14};
-どっちを削除するんですか? -- [[傭兵]] &new{2004-08-07 (土) 23:59:38};
-あとソースを貼り付けるときは、行頭に半角スペースをお願いします -- [[あくあ]] &new{2004-08-07 (土) 23:59:52};
-まず、元に戻せますか?追加した方を削除するだけです -- [[あくあ]] &new{2004-08-08 (日) 00:00:43};
-通信で新着が分かる改造も削除ですか? -- [[傭兵]] &new{2004-08-08 (日) 00:04:31};
-「新着」が影響があるかどうかは分かりませんが、今追加したところだけ戻せばOKです -- [[あくあ]] &new{2004-08-08 (日) 00:08:08};
-戻しました -- [[傭兵]] &new{2004-08-08 (日) 00:11:00};
-戻しました -- [[傭兵]] &new{2004-08-08 (日) 00:12:13};
-そうすると last; は1つしかないはずです。そこに追加すれば。 -- [[あくあ]] &new{2004-08-08 (日) 00:13:42};
-エラーは出なくなりましたが国名入力しても発信されていないです -- [[傭兵]] &new{2004-08-08 (日) 00:19:54};
-国宛に送信したときにどうなりますか?あとファイルを上げてみてください -- [[あくあ]] &new{2004-08-08 (日) 00:30:04};
-存在しない人の名前を入力しても○○サンという人はいませんって言うログとかが出ないでその存在しない人のところに送信してしまいます -- [[傭兵]] &new{2004-08-08 (日) 19:01:53};
-国名宛で発信されていないと言うことですが、存在していない人の名前を書いたときと同様の状況なのでしょうか? -- [[あくあ]] &new{2004-08-08 (日) 19:24:37};
-そうですね -- [[傭兵]] &new{2004-08-08 (日) 20:34:35};
-これ間違いがありました。$in{'nm'} ne $camp_info[1][0] の ne を eq に変更してみてください -- [[あくあ]] &new{2004-08-08 (日) 20:51:00};
-1だけでいいんですか?それとも1〜6までですか? -- [[傭兵]] &new{2004-08-08 (日) 20:54:44};
-1〜6までeqにしました。あと国名のアルメリアの部分とかが半角なんですけど通信のやつだとアルメリア王国さんというひとはいませんみたいに半角じゃなくて読み込んでるようなんですがこれを直すにはどうするんですか? -- [[傭兵]] &new{2004-08-08 (日) 21:29:30};
-すいません直しました。あと国全体に送っても新着有りと表示させたいのですがどうすればいいんですか? -- [[傭兵]] &new{2004-08-08 (日) 21:38:35};
open(IN,"$logfile") || &error("Open Error : $logfile");
while (<IN>){
local($date,$nm,$camp,$com,$sogo,$addr,$host,$agent,$time2,$myid) = split(/<>/);
if($myid eq $DAT{'nm'} || $myid eq $camp_info[$DAT{'camp'}][0]){
if($ltime<$time2){
require './inc/ore_sub-system.cgi';
&usr_file_open;
$ltime=$time2;
&dat_write;
exit;
}
last;
}
}
close(IN);
# 著作権表示(削除禁止)
print "<hr>\n";
©right;
exit;
}
#-------------------------------------------------------------------------------
# ログ書き込み処理
sub regist {
-ここら辺の部分が呼び出しの部分だと思います -- [[傭兵]] &new{2004-08-08 (日) 21:43:03};
-すいませんやっぱり半角で送信ができないんですけど全角で呼び出すのを半角で呼び出すのは無理でしょうか? -- [[傭兵]] &new{2004-08-08 (日) 22:20:55};
-”国名宛の通信を許可”で修正のと同じように if($myid eq $DAT{'nm'} ・・・のところを修正すれば可能だと思いますよ -- [[あくあ]] &new{2004-08-08 (日) 22:48:54};
-半角でも国全体に遅れるようにするにはどうするんでぅsか? -- [[傭兵]] &new{2004-08-08 (日) 22:58:43};
-できましたどうもすいませんでした^^ -- [[傭兵]] &new{2004-08-09 (月) 11:01:27};
-&jcode::h2z_sjis($camp_info[1][0]) こんな感じでしょうか、一応 -- [[あくあ]] &new{2004-08-09 (月) 21:23:01};
#comment