Henrybk

teleportToDest v1

Jul 11th, 2015
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.17 KB | None | 0 0
  1. package teleportToDest;
  2.  
  3. use strict;
  4. use warnings;
  5. use Globals;
  6. use Log qw(message debug error warning);
  7. use Settings;
  8. use Plugins;
  9. use Misc;
  10. use Utils;
  11. use AI;
  12. use Network;
  13.  
  14. Plugins::register("teleportToDest", "teleportToDest", \&unload, \&unload);
  15. my $hooks = Plugins::addHooks(
  16.     ['AI_pre',\&on_RepeatStuff, undef],
  17.     ['packet_mapChange', \&MapLoaded, undef],
  18. );
  19.  
  20. my $maploaded;
  21.  
  22. sub unload {
  23.     Plugins::delHooks($hooks);
  24. }
  25.  
  26. sub MapLoaded {
  27.     $maploaded = 1;
  28. }
  29.  
  30. sub on_RepeatStuff {
  31.     if ($config{'teleportToDest'} && Misc::inLockMap() && $maploaded == 1) {
  32.         my %want;
  33.         if ($config{'teleportToDestxy'} =~ /(\d+)\s+(\d+)/) {
  34.             ($want{x}, $want{y}) = ($1, $2);
  35.         } else {
  36.             error T("Invalid coordinates in teleportToDestxy; teleportToDest disabled\n");
  37.             configModify('teleportToDest', 0);
  38.         }
  39.         my $dist = round(distance($char->{pos_to}, \%want));
  40.         if ($dist > $config{'teleportToDestMinDist'}) {
  41.             message "[teleportToDest]Teleporting\n", "info";
  42.             $maploaded = 0;
  43.             useTeleport(1);
  44.         } else {
  45.             message "[teleportToDest]Destination reached; teleportToDest disabled\n", "info";
  46.             configModify('teleportToDest', 0);
  47.         }
  48.     }
  49. }
  50.  
  51. return 1;
Advertisement
Add Comment
Please, Sign In to add comment