私設SoS2オーナー応援BBS

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

スレッド

└◇1655:
Re[4]:オークションについて [moon] 02/05 23:57

 └◇1656:Re[5]:オークションについて [rien] 02/06 00:46
  └◇1657:Re[6]:オークションについて [moon] 02/06 23:26
   └◇1658:Re[7]:オークションについて [moon] 02/06 23:41
    └◇1660:Re[8]:オークションについて [rien] 02/07 17:02
     └◇1661:Re[9]:オークションについて [moon] 02/07 23:34
      └◇1663:Re[10]:オークションについて [rien] 02/08 00:01
       └◇1664:Re[11]:オークションについて [moon] 02/08 00:41
        └◇1665:Re[12]:オークションについて [moon] 02/08 00:46
         └◇1666:Re[13]:オークションについて [rien] 02/08 01:24<-last


1655● Re[4]:オークションについて[ moon ] 2009 02/05 23:57
> すみません・・追加となってしまうのですが・・・
> Normal Actionの部分のIDのプルダウンなのですが
> ここで、戦闘不能のキャラクターを色を変えて表示したいと思っているのですが・・
> この場合はどのようにしたらよいのでしょうか??
> よろしくお願いいたします。

sub normal_actionに以下のような処理があると思います。
  ($pid,$pnm,$pps,$pjb,$pig,$psp,$pbp,$others) = split(/<>/,$line);
この処理を以下のようにします。
  ($pid,$pnm,$pps,$pjb,$pig,$psp,$pbp,$pbn,$pak,$pdd,$php,$pxp,$pab,$pdb,$pav) = split(/<>/,$line);
あとは、ここで取得した$pavで判断しスタイルシートでoption要素の色を指定すれば良いはずです。
スレッド一覧


1656● Re[5]:オークションについて[ rien ] 2009 02/06 00:46
>>ここで取得した$pavで判断しスタイルシートでoption要素の色を指定すれば良いはずです。

すみません・・
ここが理解できてなくて・・詳しく教えていただいてもよろしいでしょうか??

normal_actionの部分に
こう記述してあります
else {
    if ($tw eq $ptw || index($psp, 'Am') != -1) { $mark = '○'} elsif ($tw ne $ptw) { $mark = '×'}
    print qq|<option value="$pid">$mark:$pid:$pnm($pjb)\n|}}

{print qq|<option value="$pav" style=\"color:gray\">$pid:$pnm($pjb)\n| }←ココを追加したのですが

どうも表示がうまくできません・・。
ID9999のキャラが増えてしまって・・。

初歩的なことばかりですみません・・。
スレッド一覧


1657● Re[6]:オークションについて[ moon ] 2009 02/06 23:26
> {print qq|<option value="$pav" style=\"color:gray\">$pid:$pnm($pjb)\n| }←ココを追加したのですが
これは必要無いです。

>     print qq|<option value="$pid">$mark:$pid:$pnm($pjb)\n|}}
この部分を以下のようにすれば良いです。
      print qq|<option value="$pid"|, ($pav eq 'dead' ? ' style="color: gray"' : ''), qq|>$mark:$pid:$pnm($pjb)\n|;
    }
  }

個人的には色がgrayならcolorよりはbackground-colorにしたほうが見分けやすいのでは、と思います。
スレッド一覧


1658● Re[7]:オークションについて[ moon ] 2009 02/06 23:41
見直してみて気付いたのですが、戦闘不能というのは死亡状態ではなく文字通りの「挑戦することが出来ない相手」でしょうか?
その場合は、$pavの比較だけではなく、sub contact_actionの「戦う」メニューの表示部分とsub fightの先頭部分で行っているような判定を行うことで色を決める必要があります。
スレッド一覧


1660● Re[8]:オークションについて[ rien ] 2009 02/07 17:02
> 見直してみて気付いたのですが、戦闘不能というのは死亡状態ではなく文字通りの「挑戦することが出来ない相手」でしょうか?
> その場合は、$pavの比較だけではなく、sub contact_actionの「戦う」メニューの表示部分とsub fightの先頭部分で行っているような判定を行うことで色を決める必要があります。

いつもお世話になります。
書き込みが遅れてしまいました・・。

1つ前のやり方でうまく表示できました。
ありがとうございます。
バックの色の表示なのですがこれがすでにgrayぽいので
文字色で表示の方にしました。

最初の予定では挑戦することのできない〜という感じにしたかったのですが・・最低戦闘不能者の表示と思っていたので。
改造していて自分には荷が重いかも・・と思ったので
戦闘不能者のみの表示にします。
いつもありがとうございます。

いつも追加の質問になってしまって申し訳ないのですが
いくつか質問させて下さい。
探索などで見つけることのできるアイテムですが
この確率をかえることはできますか??
いまだと最低値で1%(1/100
ですがこれ以下で見つけにくいアイテムを作りたいのですが・・。

それともう1つすみません・・。
Sphereさんの街移動を導入しているのですが
それぞれの街で探索できるものを変えることは可能でしょうか?
装備品が取りやすい街、食料が取りやすい街というようなイメージで・・。
マシマロさんの探索場所追加も導入しています。

度々で申し訳ないのですがよろしくお願いします。
スレッド一覧


1661● Re[9]:オークションについて[ moon ] 2009 02/07 23:34
> いつも追加の質問になってしまって申し訳ないのですが
> いくつか質問させて下さい。
> 探索などで見つけることのできるアイテムですが
> この確率をかえることはできますか??
> いまだと最低値で1%(1/100
> ですがこれ以下で見つけにくいアイテムを作りたいのですが・・。

基本的に以下の2箇所の変更で済むと思います。
  $rnd = int(rand(100)) + 1;
  if ($rnd <= $idc)

  $rnd = rand(100);
  if ($rnd < $idc)


> それともう1つすみません・・。
> Sphereさんの街移動を導入しているのですが
> それぞれの街で探索できるものを変えることは可能でしょうか?
> 装備品が取りやすい街、食料が取りやすい街というようなイメージで・・。
> マシマロさんの探索場所追加も導入しています。

条件が以下の場合は、
  街1、街2、街3の3つ。(それぞれ$twが1、2、3)
  各街に探索場所が4つずつ。(それぞれmodeがfind_item、find_item2、find_item3、find_item4)
3*4=12ファイルのアイテムファイルを作成します。
ファイル名を以下のようにした場合、
  item_1a.dat(街1のfind_itemに対応)
    〜
  item_1d.dat(街1のfind_item4に対応)
  item_2a.dat
    〜
  item_2d.dat
  item_3a.dat
    〜
  item_3d.dat
ソースコードの変更は、
  if($Fm{'mode'} eq 'find_item'){
    @itemlines = &opendat($itmdat);
    if (!@itemlines) { &error('アイテムデータ読みこみエラー') }
  }elsif($Fm{'mode'} eq 'find_item2'){
    @itemlines = &opendat($itm2dat);
    if (!@itemlines) { &error('アイテムデータ読みこみエラー') }
  }elsif($Fm{'mode'} eq 'find_item3'){
    @itemlines = &opendat($itm3dat);
    if (!@itemlines) { &error('アイテムデータ読みこみエラー') }
  }elsif($Fm{'mode'} eq 'find_item4'){
    @itemlines = &opendat($itm4dat);
    if (!@itemlines) { &error('アイテムデータ読みこみエラー') }
  }
この部分を以下のように変更します。
  # 探索場所に対応する記号(a〜d)を定義する
  my %location = (
    'find_item' => 'a',
    'find_item2' => 'b',
    'find_item3' => 'c',
    'find_item4' => 'd',
  );
  # アイテムファイルのパスを作成する
  my $itemfile = 'item_' . int($tw) . $location{$Fm{'mode'}} . '.dat';
  # アイテムファイルを読み込む
  @itemlines = &opendat($itemfile);
  # アイテム数が0個の場合はエラーとする
  &error('アイテムデータ読みこみエラー') if(!@itemlines);
スレッド一覧


1663● Re[10]:オークションについて[ rien ] 2009 02/08 00:01
> 基本的に以下の2箇所の変更で済むと思います。
>   $rnd = int(rand(100)) + 1;
>   if ($rnd <= $idc)
> ↓
>   $rnd = rand(100);
>   if ($rnd < $idc)

お返事ありがとうございます。
上記のようにした場合、出現確率が1以下(小数点
で可能になるという意味なのでしょうか??
ここだけの変更でよいとは・・目から鱗状態です・・。


> 条件が以下の場合は、
>   街1、街2、街3の3つ。(それぞれ$twが1、2、3)
>   各街に探索場所が4つずつ。(それぞれmodeがfind_item、find_item2、find_item3、find_item4)
> 3*4=12ファイルのアイテムファイルを作成します。
> ファイル名を以下のようにした場合、
>   item_1a.dat(街1のfind_itemに対応)
>     〜
>   item_1d.dat(街1のfind_item4に対応)
>   item_2a.dat
>     〜
>   item_2d.dat
>   item_3a.dat
>     〜
>   item_3d.dat
> ソースコードの変更は、
>   if($Fm{'mode'} eq 'find_item'){
>     @itemlines = &opendat($itmdat);
>     if (!@itemlines) { &error('アイテムデータ読みこみエラー') }
>   }elsif($Fm{'mode'} eq 'find_item2'){
>     @itemlines = &opendat($itm2dat);
>     if (!@itemlines) { &error('アイテムデータ読みこみエラー') }
>   }elsif($Fm{'mode'} eq 'find_item3'){
>     @itemlines = &opendat($itm3dat);
>     if (!@itemlines) { &error('アイテムデータ読みこみエラー') }
>   }elsif($Fm{'mode'} eq 'find_item4'){
>     @itemlines = &opendat($itm4dat);
>     if (!@itemlines) { &error('アイテムデータ読みこみエラー') }
>   }
> この部分を以下のように変更します。
>   # 探索場所に対応する記号(a〜d)を定義する
>   my %location = (
>     'find_item' => 'a',
>     'find_item2' => 'b',
>     'find_item3' => 'c',
>     'find_item4' => 'd',
>   );
>   # アイテムファイルのパスを求める
>   my $itemfile = 'item_' . int($tw) . $location{$Fm{'mode'}} . '.dat';
>   @itemlines = &opendat($itemfile); # アイテムファイルを読み込む
>   &error('アイテムデータ読みこみエラー') if(!@itemlines); # アイテムファイルが存在しないかアイテム数が0個の場合はエラーとする

ありがとうございます。
こちらも早速やってみます。
この場合でそれぞれの街の探索場所の名称を変更するなどということはできるのでしょうか??
スレッド一覧


1664● Re[11]:オークションについて[ moon ] 2009 02/08 00:41
> 上記のようにした場合、出現確率が1以下(小数点
> で可能になるという意味なのでしょうか??

はい、そうです。

> この場合でそれぞれの街の探索場所の名称を変更するなどということはできるのでしょうか??

sub normal_action内の探索場所名部分を$twで判断して変更すれば良いです。
例えば、以下のようにします。
  &input('radio','mode','find_item',' checked',"草原探索  探索回数:");
    ↓
  # find_itemに対応する探索場所名
  my %location1 = (
    1 => '探索場所A', # 街1用
    2 => '探索場所B', # 街2用
    3 => '探索場所C', # 街3用
  );
    〜
  # find_item4に対応する探索場所名
  my %location4 = (
    1 => '探索場所X', # 街1用
    2 => '探索場所Y', # 街2用
    3 => '探索場所Z', # 街3用
  );
  &input('radio','mode','find_item',' checked',$location1{int($tw)} . "  探索回数:");
  # find_item2〜find_item4に対応する部分も同様に変更
スレッド一覧


1665● Re[12]:オークションについて[ moon ] 2009 02/08 00:46
> > 上記のようにした場合、出現確率が1以下(小数点
> > で可能になるという意味なのでしょうか??
>
> はい、そうです。

すみません、1つ修正が抜けていました。
  if ($sp =~ /Ft/) { $rnd -= 2; $rnd = 1 if $rnd < 1 }
    ↓
  if ($sp =~ /Ft/) { $rnd -= 2; }
スレッド一覧


1666● Re[13]:オークションについて[ rien ] 2009 02/08 01:24
> > > 上記のようにした場合、出現確率が1以下(小数点
> > > で可能になるという意味なのでしょうか??
> >
> > はい、そうです。
>
> すみません、1つ修正が抜けていました。
>   if ($sp =~ /Ft/) { $rnd -= 2; $rnd = 1 if $rnd < 1 }
>     ↓
>   if ($sp =~ /Ft/) { $rnd -= 2; }

いつもありがとうございます。
追記してみます。
スレッド一覧

CGIROOM