Anything and all.
Moderators: Murderator+ , Murderator
korzh
Posts: 220 Joined: 2007-04-26 23:35:15
Post
by korzh » 2008-03-07 01:53:47
Ссегодня решился таки попробовать пересесть на пинжект
Решил я значит написать простенькую ходилку и не получилось.. криво ходит
Так как с перлом я знаком первый день, может чтото сделал не так?
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 » 2008-03-07 11:34:59
а в чем кривость хождения?
korzh
Posts: 220 Joined: 2007-04-26 23:35:15
Post
by korzh » 2008-03-07 11:46:11
ввожу например координаты на 5 тайлов от себя, а идет вообще очень очень очень далеко хз куда, и даже если чудом пройдет по нужной координате все равно идет дальше дальше...
Grin
Expert!
Posts: 2580 Joined: 2005-05-04 14:05:19
Location: Москва
Post
by Grin » 2008-03-07 11:51:53
ну значит ты не правельно клавиши раставил:)
да и самый простой способ дебага это принтить твое условие...
korzh
Posts: 220 Joined: 2007-04-26 23:35:15
Post
by korzh » 2008-03-07 12:01:03
поидее понял, проблема в куске
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 » 2008-03-07 12:29:38
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 » 2008-03-07 18:11:43
Да совместными усилиями сделали
спасибо Грину