Advertisement
NatedogServer

Find Quest Items

Nov 23rd, 2014
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.86 KB | None | 0 0
  1. use Getopt::Std;
  2. my $TEST = "ReadQuest_FoundItems.txt"; #default
  3. open(DUMB, ">>$TEST") or die "Unable to find backup file!: $TEST\n";
  4.     ##########################
  5.     ########## EDIT
  6.     my $quest_folder = "C:/eqemu/quests/";
  7.     ########## EDIT
  8.     ##########################
  9.     my @FOUND_ITEMS;
  10.     print "\n\n Enter Zone Shortname you wish to find items from... \n";
  11.     my $zonesn =  <STDIN>;
  12.     chomp $zonesn;
  13.     FindSummonItemPerl();
  14.     FindSummonItemLua();
  15.    
  16.     print DUMB "START QUEST  SUMMONITEMS IN - $zonesn - \n \n";
  17.    
  18.     $FOUND_TEXT = '(';
  19.     foreach $I (@FOUND_ITEMS) {
  20.         if ($I == $FOUND_ITEMS[$#FOUND_ITEMS]) {
  21.             $FOUND_TEXT .= "$I);";
  22.         } elsif($I == '') {
  23.  
  24.         }      
  25.         else {
  26.             $FOUND_TEXT .= "$I,";
  27.         }
  28.     }
  29.     print DUMB "$FOUND_TEXT \n \n";
  30.     print DUMB "END ITEMS IN - $zonesn - $TOTAL_ITEMS items Found \n";
  31.     print DUMB "########################################################## \n";
  32.     print DUMB "########################################################## \n \n";
  33.     close (DUMB);
  34.     print "$zonesn -- DONE! \n";
  35.    
  36.    
  37. sub FindSummonItemPerl {
  38.     my @files = glob "$quest_folder$zonesn/*.pl";
  39.     if($files[0]) {
  40.         for (0..$#files){
  41.             open(F, $files[$_]) or die "Unable to open questfile: $files[$_]\n";
  42.            
  43.             while(<F>) {
  44.                 if(/quest::summonitem\((.*?)\)/i) {
  45.                     push(@FOUND_ITEMS,fixtext($1));
  46.                 }
  47.                 elsif(/quest::summonitem\((.*?)\,/i) {
  48.                     push(@FOUND_ITEMS,fixtext($1));
  49.                 }
  50.             }
  51.            
  52.         }
  53.     }
  54. }
  55.  
  56. sub FindSummonItemLua {
  57.     my @files = glob "$quest_folder$zonesn/*.lua";
  58.     if($files[0]) {
  59.         for (0..$#files){
  60.             open(F, $files[$_]) or die "Unable to open questfile: $files[$_]\n";
  61.            
  62.             while(<F>) {
  63.                 if(/SummonItem\((.*?)\)/i) {
  64.                     push(@FOUND_ITEMS,fixtext($1));
  65.                 }
  66.                 elsif(/SummonItem\((.*?)\,/i) {
  67.                     push(@FOUND_ITEMS,($1));
  68.                 }
  69.             }
  70.            
  71.         }
  72.     }
  73. }
  74.  
  75. sub fixtext {
  76.     local $_    = shift;
  77.     s/[^0-9,]+//g;
  78.     return $_;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement