★RO kore情報交換所 中級者のマクロ(11体目)★

このエントリーをはてなブックマークに追加
99名無しさん@お腹いっぱい。
 せっかく中級者と名前が変わったのにソースがまるで貼られてないのな。
 まあどうせだいたいの人は実装してるっぽいが活気を取り戻せたらと
期待してモンスターによって装備武器切り替えるソースあげとくか。

 この関数の呼び出しはattack関数呼び出す前あたりでやること。
(引数にモンスターIDを突っ込んでおく。$foundIDなど)
 configに入る設定は武器は2つまでのみ(3つ以上やりたかったら自分で作れ)
 1つめ:常用 2つめ:モンスター名を記載したモンスターへのみ使用
 モンスターの設定はconfigで対象モンスター名を入れておく。連番の始まりは1から。
 なお同一武器名に対する切替には対応してないので注意。ついでに
Jkoreと本家Koreの両方で使えるが、関数の呼び出しの時の引数の設定が
それぞれ異なるので自分で調べること

10099:03/01/11 02:21 ID:???
sub useWeaponsChange {
 my $monsterID = shift;
 my $i = 1;
 my $weaponName;

 # useWeapons_1 & _2 の両方がない場合にはこのロジックを使わない
 if ($config{'useWeapons_1'} ne "" || $config{'useWeapons_2'} ne ""){

  $weaponName = $config{'useWeapons_1'};
  while(1){
   last if (!$config{"targetMonster_$i"});
   if ($monsters{$monsterID}{'name'} =~ /\Q$config{"targetMonster_$i"}/){
    $weaponName = $config{'useWeapons_2'};
    print "Use Weapon : $weaponName\n" if ($config{'debug'});
    last;
   }
   $i++;
  }
  for ($i = 0; $i < @equipment; $i++) {
   print "Search Equip Item : $chars[$config{'char'}]{'inventory'}[$equipment[$i]]{'name'}\n" if ($config{'debug'} == 2);
   if ($weaponName =~ /\Q$chars[$config{'char'}]{'inventory'}[$equipment[$i]]{'name'}\E/){
    print "Equip Check Succesed : $chars[$config{'char'}]{'inventory'}[$equipment[$i]]{'name'}\n" if ($config{'debug'});
    if (!$chars[$config{'char'}]{'inventory'}[$equipment[$i]]{'equipped'}){
     print "Equip Packet Sended!\n" if ($config{'debug'});
     sendEquip(\$remote_socket, $chars[$config{'char'}]{'inventory'}[$equipment[$i]]{'index'}, $chars[$config{'char'}]{'inventory'}[$equipment[$i]]{'type_equip'}, 0);
    }
    last;
   }
  }

 }
}