私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

スレッド

└◇194:
Re:お願いがあって参りました。 [moon] 12/02 09:03

 └◇197:Re[2]:お願いがあって参りました。 [なず] 12/03 00:30
  └◇198:Re[3]:お願いがあって参りました。 [moon] 12/03 19:07
   └◇245:かなり遅れてしまいましたが [なず] 01/07 23:51
    └◇246:Re:かなり遅れてしまいましたが [moon] 01/08 08:53<-last


194● Re:お願いがあって参りました。[ moon ] 2002 12/02 09:03
> 以前はこちらでカジノDLさせてもらいました、なずです。
> 文字変更などはうまくいった様子で、順調に作動しております。
> (別レスでの報告ですいません)
>
> 本題ですが、こちらのSoSの機能にある、
> コメント修飾部分の指定の物で囲むと一定条件下にて表示する、
> と言うものを公開というか、教えて頂けないかと思いまして。
> 細かい条件等必要で改造(公開)にも手間がかかるものなのかもしれないので、ご無理を言うつもりはありませんが、もし公開可能なものならと思いまして、お願いをしに来た次第です。
> もし複雑なものでしたら、1例のみや考え方などのヒントになるものでも構いません。
> 今まで自分で扱った事のある部分であれば想像つくのですが、コメント周りに関してはまだ未熟なもので、どう処理されているのかが想像つかないもので.....。
> どんな形であれ公開される気がなかったのなら申し訳ありませんが、もし可能なら教えて頂けませんか?
> よろしくお願い致します。

うちで実装しているものとは違いますが、新しいフラグを使用してやるものの考え方を書きます。(うちではコメントにそのまま埋め込んでいるので効率が悪い・・・)
フラグが$ecmで、囲みを:??:〜:/??:とします。
・囲みのリストを、@a = ('AA','BB','CC');とします。
・メッセージ変更箇所(com_afterや新規サブルーチン)で、
  $ecm = '';
  foreach(@a){
    $ecm .= $& if($Fm{'ecm'}=~#:$_:.+?:/$_:#);
  }
・メッセージ表示部分で、@aの中のどれを表示しようとしているかを判定(・・・時間が無いため省略・・・)し、($inにAAやBBが入るようにする)
  $out = $1 if($pecm=~#:$in:(.+?):/$in:#);
とすると、$outにメッセージが残ると思います。(未テストおよび推測を含む)
スレッド一覧


197● Re[2]:お願いがあって参りました。[ なず ] 2002 12/03 00:30
> うちで実装しているものとは違いますが、新しいフラグを使用してやるものの考え方を書きます。(うちではコメントにそのまま埋め込んでいるので効率が悪い・・・)
> フラグが$ecmで、囲みを:??:〜:/??:とします。
> ・囲みのリストを、@a = ('AA','BB','CC');とします。
> ・メッセージ変更箇所(com_afterや新規サブルーチン)で、
>   $ecm = '';
>   foreach(@a){
>     $ecm .= $& if($Fm{'ecm'}=~#:$_:.+?:/$_:#);
>   }
> ・メッセージ表示部分で、@aの中のどれを表示しようとしているかを判定(・・・時間が無いため省略・・・)し、($inにAAやBBが入るようにする)
>   $out = $1 if($pecm=~#:$in:(.+?):/$in:#);
> とすると、$outにメッセージが残ると思います。(未テストおよび推測を含む)
おおよその流れはわかった気がします。(気ですいません)
おっしゃる意味については理解できてるとは思いますが、これを元に実際に動かすまで完璧な理解はできなさそうです(^^;
いろんな場面で表示するとなると、その分変更(追加)場所もでそうですし、なかなかたいへんそうですね。
解説を元にしばらく試行錯誤して、またどうしても解決できなさそうな場合はまたおじゃまするかと思います。
お忙しいのに解説して頂きありがとうございましたm(、、)m
スレッド一覧


198● Re[3]:お願いがあって参りました。[ moon ] 2002 12/03 19:07
> おおよその流れはわかった気がします。(気ですいません)
> おっしゃる意味については理解できてるとは思いますが、これを元に実際に動かすまで完璧な理解はできなさそうです(^^;
> いろんな場面で表示するとなると、その分変更(追加)場所もでそうですし、なかなかたいへんそうですね。
> 解説を元にしばらく試行錯誤して、またどうしても解決できなさそうな場合はまたおじゃまするかと思います。
> お忙しいのに解説して頂きありがとうございましたm(、、)m

場面場面で表示するのには次のような感じのサブルーチンを作成し、それを呼び出してメッセージ選択をすると楽だと思います。

sub GetComment{
  my %type = (
     '売前'=>'AA'
    ,'売後'=>'BB'
    # ,必要なだけ追加
  );
  my $temp = $type{"$_[0]"};
  if($temp ne ''){
    return $1 if($pecm=~/:$temp:(.+?):\/$temp:/);
  }
  return '';
}

使用例
$message = GetComment('売後');
push(@msg,"[$pid]$pnm : $message") if($message ne '');

# もちろん適当に書いたので間違っている可能性あり。
スレッド一覧


245● かなり遅れてしまいましたが[ なず ] 2003 01/07 23:51
前までの解説頂いたものを利用しつつ、他の機能に組み込んで思った通りでの動きができるようになりました。
有効なヒントを頂けてたいへん助かりました。
最近では見よう見まねで自分でも少し組んでみたりしてます。
また伺う事もあると思いますが、宜しくお願いいたします。
(本家BBSでの月さんの書き込みは色々チェックさせて頂いてそちらも参考にさせて頂いてまっす^-^)
スレッド一覧


246● Re:かなり遅れてしまいましたが[ moon ] 2003 01/08 08:53
> 前までの解説頂いたものを利用しつつ、他の機能に組み込んで思った通りでの動きができるようになりました。
> 有効なヒントを頂けてたいへん助かりました。
> 最近では見よう見まねで自分でも少し組んでみたりしてます。
> また伺う事もあると思いますが、宜しくお願いいたします。
> (本家BBSでの月さんの書き込みは色々チェックさせて頂いてそちらも参考にさせて頂いてまっす^-^)

うまくいきましたか。良かったですね。
また分からないことがあったらできる限り答えますので、気兼ねなく聞いてください。
スレッド一覧

CGIROOM