|ATOM |RDF トップ «前の日記(2003-02-10 [月]) 最新 次の日記(2003-02-12 [水])» 編集 a
2002|03|04|05|06|07|08|09|10|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|07|08|09|10|
2006|02|05|06|

たわごと


2003-02-11 [火]

_ [RO] acoenemy.txtの精度を向上させる

立ちアコに搭載されているキルカウント。これ、#171現在、あまり敵データが正確ではないのです。敵判別にはconfig/acoenemy.txtの内容を参照しているのですが、(acoenemy.txt について)これをもっと精度のよいデータに変えることで、キルカウントの精度が向上します。以下のサイトでより精度のよいacoenemy.txtが入手できるでしょう。

で、ここからが本題。ギルドで経験値上納をしているキャラは、キルカウントが正しく働きません。もらえる経験値が減るわけなので、acoenemy.txtを修正すればいいのですが、重要なのは、修正したデータを「上書き」せずに「追記」すること。すなわち、元の(上納0%の)データも残すということです。なぜなら、現在ROではギルド情報が死んでいることが多く(特に深夜?)、上納0%として計算される可能性があるということと、ギルドに入っていない(あるいは上納0%の)キャラを持っていた場合に、そのキャラのキルカウントが狂ってしまうからです。数キャラ持っていて、それぞれギルドで異なる上納値だった場合、そのすべての上納値(+上納0%)に対応したacoenemy.txtが必要ということになります。これを手作業で修正するのは面倒なので、Perlでさくっと変換してしまいましょう。

#!/usr/local/bin/perl

# 上納値を加えたacoenemy.txtを作成する # 本家acoenemy.txtをacoenemy_original.txtにリネームした後に実行させること。
#上納%を指定する。,で区切って複数指定できる。 @jono = (2,10);
$, = "\t"; open (IN, "acoenemy_original.txt"); open (OUT,"> acoenemy.txt"); while (<IN>){ @x = split(/\t/,); print (OUT @x);
@jono = sort {$a <=> $b} @jono; foreach $per (@jono){ $prev_exp = @x[1]; @x[1] *= (100 - $per) / 100; # 上納値 @x[1] = @x[1] == int(@x[1]) ? int(@x[1]) : int (@x[1] + 1); # 切り上げ print (OUT @x) if (@x[1] != $prev_exp); } } close IN; close OUT;

使い方は

  1. このソースをacoenemy_changer.plとでもして、acoenemy.txtと同じフォルダに入れる。
  2. @jonoの値を自分用にいぢる(上の例では上納2%、10%のキャラに対応)。
  3. acoenemy.txtをacoenemy_original.txtにリネームする。
  4. acoenemy_changer.plを実行。

かなり適当に作ったので、ソースが汚いのはご愛嬌。自己責任で宜しくお願いします。

本日のTrackBacks(全3件) [TrackBack URL: http://yaya.sakuratan.com/diary/tb.rb/20030211]
_ hermes bags usa:hermes bags usa (2014-11-25 [火] 05:35)

hermes paket uber 500 euro たわごと(2003-02-11)

_ green hermes bag:green hermes bag (2014-11-27 [木] 05:40)

buy hermes scarf たわごと(2003-02-11)

hermes shop2shop たわごと(2003-02-11)