простая ходилка на пинжекте

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

простая ходилка на пинжекте

Post by korzh »

Ссегодня решился таки попробовать пересесть на пинжект :)
Решил я значит написать простенькую ходилку и не получилось.. криво ходит :roll:
Так как с перлом я знаком первый день, может чтото сделал не так?

Code: Select all

sub use
{
  walk (2149,787);
}

sub walk($$)
{
  my($x1, $y1);
  $x1 = $_[1];
  $y2 = $_[2];
  while( (uo::getx()!=$x1) && (uo::gety()!=$y1) )
  {
    $x=uo::getx();
    $y=uo::gety();
    if ($x == $x1 && $y > $y1)
    {
      uo::press(35);
    }   
    if ($x == $x1 && $y < $y1)
    {
      uo::press(33);
    }
    if ($x < $x1 && $y == $y1)
    {
      uo::press(36);
    }
    if ($x < $x1 && $y > $y1)
    {
      uo::press(37);
    }
    if ($x < $x1 && $y < $y1)
    {
      uo::press(38);
    }
    if ($x > $x1 && $y == $y1)
    {
      uo::press(34); 
    }
    if ($x > $x1 && $y > $y1)
    {
      uo::press(40);
    }
    if ($x > $x1 && $y < $y1)
    {
      uo::press(39);
    }
      &wait(50);
  }
}
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

а в чем кривость хождения?
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

ввожу например координаты на 5 тайлов от себя, а идет вообще очень очень очень далеко хз куда, и даже если чудом пройдет по нужной координате все равно идет дальше дальше...
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

ну значит ты не правельно клавиши раставил:)
да и самый простой способ дебага это принтить твое условие...
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

поидее понял, проблема в куске

Code: Select all

  my($x1, $y1); 
  $x1 = $_[1];
  $y2 = $_[2];

так он не видет координаты х

Code: Select all

 my($x1, $y1); 
  $x1 = $_[0];
  $y2 = $_[1];

а так не виде у.
чего делать?
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Code: Select all

sub use 
{
  walk (2149,787);
}

sub walk($$)
{
  my($x1, $y1);
  $x1 = $_[1];
  $y1 = $_[2]; //!!!!
  while( (uo::getx()!=$x1) && (uo::gety()!=$y1) )
  {
    $x=uo::getx();
    $y=uo::gety();
    if ($x == $x1 && $y > $y1)
    {
      uo::press(35);
    }   
    if ($x == $x1 && $y < $y1)
    {
      uo::press(33);
    }
    if ($x < $x1 && $y == $y1)
    {
      uo::press(36);
    }
    if ($x < $x1 && $y > $y1)
    {
      uo::press(37);
    }
    if ($x < $x1 && $y < $y1)
    {
      uo::press(38);
    }
    if ($x > $x1 && $y == $y1)
    {
      uo::press(34); 
    }
    if ($x > $x1 && $y > $y1)
    {
      uo::press(40);
    }
    if ($x > $x1 && $y < $y1)
    {
      uo::press(39);
    }
      &wait(50);
  }
}

Никому больше таких ошибок не делать!

+ еще куча ошибок...
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

Да совместными усилиями сделали :D
спасибо Грину ;)
Post Reply