Advertisement
KeplerBR

Handle show_eq

Oct 18th, 2012
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 2.52 KB | None | 0 0
  1. sub show_eq2 {
  2.    my ($self, $args) = @_;
  3.  
  4.    message "Length: $args->{len}\n";
  5.    error "-------------------------------\n";
  6.    message "Name: $args->{name}\n";
  7.    message "Class: $jobs_lut{$args->{class}} ($args->{class})\n";
  8.    message "Sex: $sex_lut{$args->{sex}} ($args->{sex})\n";
  9.    error "-------------------------------\n";
  10.  
  11.    my $QuantidadeDeEquips = ($args->{len} - 45)/28;
  12.    message "Quantidade de equips: $QuantidadeDeEquips \n";
  13.    error "-------------------------------\n";
  14.  
  15.    for (my $offset = 0; $offset < length($args->{equips}); $offset += 28) {
  16.       my ($valor1, $ID, $valor3, $valor4, $slot, $refine, $slot1, $slot2, $slot3, $slot4, $valor11, $valor12, $valor13, $valor14) = unpack("v14", substr($args->{equips}, $offset, 28));
  17.  
  18.       if ($slot1 == 255) {
  19.          # Forged weapon
  20.          #
  21.          # # Display e.g. "VVS Earth" or "Fire"
  22.  
  23.          # # slot1 -> Intensidade da força
  24.           # # VS = Forte  |  VVS = Muito forte  |  ??? = Fortíssima  |  ??? = Exra forte
  25.          # # slot2 -> Elemento
  26.          # # slot4 e slot4 -> Nick do criador da arma
  27.          my $elementID = $slot2 % 10;
  28.          my $elementName = $elements_lut{$elementID};
  29.          my $starCrumbs = ($slot2 >> 8) / 5;
  30.             if ($starCrumbs >= 1 && $starCrumbs <= 3 ) {
  31.             $slot1 .= ('V'x$starCrumbs)."S " if $starCrumbs;
  32.             }
  33.          $prefix .= "$elementName " if ($elementName ne "");
  34.          $slot2 = "$elementName" if ($elementName ne "");
  35.  
  36.          # Recolher o nick de quem criou a arma
  37.          $slot3 = unpack("x16 a4 x10", substr($args->{equips}, $offset, 28));        
  38.          $slot3 = getHex($slot3);
  39.          $messageSender->sendRaw("93 01 $slot3");
  40.          
  41.          $slot4 = '';
  42.       }
  43.  
  44.       my $refineDividido = $refine / 256;
  45.  
  46.       message "valor1: $valor1 \n";
  47.       message "Nome  : $items_lut{$ID} ($ID) \n";
  48.       message "valor3: $valor3 \n";
  49.       message "valor4: $valor4 \n";
  50.       message "Slot  : $equipSlot_lut{$slot} ($slot) \n";
  51.       essage "Refine: $refine_lut{$refine} ($refine) \n";
  52.       message "Refine: $refineDividido ($refine) \n";
  53.       message "Slot1: $items_lut{$slot1} ($slot1) \n";
  54.       message "Slot2: $items_lut{$slot2} ($slot2) \n";
  55.       message "Sot3: $items_lut{$slot3} ($slot3) \n";
  56.       message "Slot4: $items_lut{$slota4} ($slot4) \n";
  57.       message "valor11: $valor11 \n";
  58.       message "valor12: $valor12 \n";
  59.       message "valor13: $valor13 \n";
  60.       message "valor14: $valor14 \n";
  61.       error "--------------- \n";
  62.    }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement