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;
使い方は
- このソースをacoenemy_changer.plとでもして、acoenemy.txtと同じフォルダに入れる。
- @jonoの値を自分用にいぢる(上の例では上納2%、10%のキャラに対応)。
- acoenemy.txtをacoenemy_original.txtにリネームする。
- acoenemy_changer.plを実行。
かなり適当に作ったので、ソースが汚いのはご愛嬌。自己責任で宜しくお願いします。
hermes paket uber 500 euro たわごと(2003-02-11)
buy hermes scarf たわごと(2003-02-11)
hermes shop2shop たわごと(2003-02-11)