Прошу написать пару простеньких и полезных скриптов

Anything and all.

Moderators: Murderator+, Murderator

Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

[quote="1a2a3a4a5a6a
Не очень я понял, как работает эта ходилка. А в какую координату она пойдет? И у мя выдавалась ошибка. Что-то дополнительно нужно ставить к ней?[/quote]

Вставь координаты вместо х и у, например в скрипте она выглядит так:

Code: Select all

GotoXY(1111,1111)
Идет в 1111 и 1111
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

Если запустить данный скрипт без правки, то выдается ошибка: "Line71: Invalid number of arguments - GotoXY".
А если же запустить с правкой

Code: Select all

GotoXY(1111,1111) 
то выдается ошибка: "Line1: Parse error".

Чего-то я не понимаю... :?
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

1a2a3a4a5a6a wrote:Если запустить данный скрипт без правки, то выдается ошибка: "Line71: Invalid number of arguments - GotoXY".
А если же запустить с правкой

Code: Select all

GotoXY(1111,1111) 
то выдается ошибка: "Line1: Parse error".

Чего-то я не понимаю... :?
Попробуй кавычки поставь
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

Cooper wrote:
1a2a3a4a5a6a wrote:Если запустить данный скрипт без правки, то выдается ошибка: "Line71: Invalid number of arguments - GotoXY".
А если же запустить с правкой

Code: Select all

GotoXY(1111,1111) 
то выдается ошибка: "Line1: Parse error".

Чего-то я не понимаю... :?
Попробуй кавычки поставь
Как не крути...
А у тебя то работает?
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

1a2a3a4a5a6a wrote:Если запустить данный скрипт без правки, то выдается ошибка: "Line71: Invalid number of arguments - GotoXY".
А если же запустить с правкой

Code: Select all

GotoXY(1111,1111) 
то выдается ошибка: "Line1: Parse error".

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

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

Post by Grin »

идея с кавычками еще круче...
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

Edred wrote:
1a2a3a4a5a6a wrote:Если запустить данный скрипт без правки, то выдается ошибка: "Line71: Invalid number of arguments - GotoXY".
А если же запустить с правкой

Code: Select all

GotoXY(1111,1111) 
то выдается ошибка: "Line1: Parse error".

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

ЗЫ: В самом этом скрипте ты не должен править ничего, а вот из своего скрипта надо вызывать этот передавая параметрами координаты. Если ты это не понял - лучше используй ассист.
По поводу первого:
Работаю в дельфи и в html. Не хвастаюсь, как некоторые (не в обиду).
Потом, я незнал, что эта ходилка не работает на "простом" инжекте, потому так и получилось. Вообще с ходилками не работал.
Потом, в скрипте на ламбер есть ходилка. Она ведь работает прекрасно и без всяких доп. АСМ и прочего!?

Может, что-то и не понимаю, но не надо меня обзывать чайником. :)

И как можно реализовать наипростейщую ходилку, хоть и без обхода препятствий? Главное, чтобы до коорд. нужных была.
Или ходилку, как на ламбере!?
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

1a2a3a4a5a6a wrote:
Edred wrote:
1a2a3a4a5a6a wrote:Если запустить данный скрипт без правки, то выдается ошибка: "Line71: Invalid number of arguments - GotoXY".
А если же запустить с правкой

Code: Select all

GotoXY(1111,1111) 
то выдается ошибка: "Line1: Parse error".

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

ЗЫ: В самом этом скрипте ты не должен править ничего, а вот из своего скрипта надо вызывать этот передавая параметрами координаты. Если ты это не понял - лучше используй ассист.
По поводу первого:
Работаю в дельфи и в html. Не хвастаюсь, как некоторые (не в обиду).
Потом, я незнал, что эта ходилка не работает на "простом" инжекте, потому так и получилось. Вообще с ходилками не работал.
Потом, в скрипте на ламбер есть ходилка. Она ведь работает прекрасно и без всяких доп. АСМ и прочего!?

Может, что-то и не понимаю, но не надо меня обзывать чайником. :)

И как можно реализовать наипростейщую ходилку, хоть и без обхода препятствий? Главное, чтобы до коорд. нужных была.
Или ходилку, как на ламбере!?
Эта ходилка из Ламбера ))
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

Cooper wrote:Эта ходилка из Ламбера ))
Может тогда объясните, как она работает? В ламбере создавался всего-лишь один файл с координатами.
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

1a2a3a4a5a6a wrote:
Cooper wrote:Эта ходилка из Ламбера ))
Может тогда объясните, как она работает? В ламбере создавался всего-лишь один файл с координатами.
Едред написал же, она читает координаты из переменных, создай две переменных:

Code: Select all

VAR CoordX=' ' #Поставь коорды
VAR CoordY=' '
И вставь в скрипт:

Code: Select all

GotoXY(CoordX, CoordY)
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

Тогда полный скрипт получается таким:

Code: Select all

VAR CoordX='1234' #Поставь коорды 
VAR CoordY='123' 

sub GotoXY(CoordX, CoordY) 
var myX,myY,lastX=0,lastY=0,i,halt=0,z,r=0 
for i=1 to 60 
myX=uo.getX(); 
myY=uo.getY(); 
if LastX==myX and LastY==myY then 
halt=halt+1 
else 
halt=0 
end if 
if halt>=10 then 
if uo.GetDir()==1 then 
for z=0 to 8 
uo.Press(40) 
next 
end if 
if uo.GetDir()==3 then 
for z=0 to 8 
uo.Press(37) 
next 
end if 
if uo.GetDir()==5 then 
for z=0 to 8 
uo.Press(38) 
next 
end if 
if uo.GetDir()==7 then 
for z=0 to 8 
uo.Press(39) 
next 
end if 
halt=15 
end if 
if Numb(x-myX)<=1 and Numb(y-myY)<=2 then 
return 1 
end if 
if x<=myX then 
if y<=myY then 
for z=0 to 3 
uo.Press(38) 
next 
else 
for z=0 to 3 
uo.Press(37) 
next 
end if 
else 
if y<=myY then 
for z=0 to 3 
uo.Press(39) 
next 
else 
for z=0 to 3 
uo.Press(40) 
next 
end if 
end if 
lastX=myX 
lastY=myY 
wait(200) 
next 
return 0 
end sub 

sub Numb(num) 
if num>=0 then 
return num 
else 
return num*(-1) 
end if 
end sub 
Что не так?
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

1a2a3a4a5a6a wrote:Тогда полный скрипт получается таким:

Code: Select all

VAR CoordX='1234' #Поставь коорды 
VAR CoordY='123' 

sub GotoXY(CoordX, CoordY) 
var myX,myY,lastX=0,lastY=0,i,halt=0,z,r=0 
for i=1 to 60 
myX=uo.getX(); 
myY=uo.getY(); 
if LastX==myX and LastY==myY then 
halt=halt+1 
else 
halt=0 
end if 
if halt>=10 then 
if uo.GetDir()==1 then 
for z=0 to 8 
uo.Press(40) 
next 
end if 
if uo.GetDir()==3 then 
for z=0 to 8 
uo.Press(37) 
next 
end if 
if uo.GetDir()==5 then 
for z=0 to 8 
uo.Press(38) 
next 
end if 
if uo.GetDir()==7 then 
for z=0 to 8 
uo.Press(39) 
next 
end if 
halt=15 
end if 
if Numb(x-myX)<=1 and Numb(y-myY)<=2 then 
return 1 
end if 
if x<=myX then 
if y<=myY then 
for z=0 to 3 
uo.Press(38) 
next 
else 
for z=0 to 3 
uo.Press(37) 
next 
end if 
else 
if y<=myY then 
for z=0 to 3 
uo.Press(39) 
next 
else 
for z=0 to 3 
uo.Press(40) 
next 
end if 
end if 
lastX=myX 
lastY=myY 
wait(200) 
next 
return 0 
end sub 

sub Numb(num) 
if num>=0 then 
return num 
else 
return num*(-1) 
end if 
end sub 
Что не так?
Неет это не меняй:

Code: Select all

sub GotoXY(CoordX, CoordY) 
Оставь как было:

Code: Select all

sub GotoXY(x, y)
А себе в скрипт, где он по идеи должен начинать идти вставь:

Code: Select all

GotoXY(CoordX, CoordY) 
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

Тогда получается вот это:

Code: Select all

sub go()
VAR CoordX='1234' #Поставь коорды 
VAR CoordY='123' 
	GotoXY(CoordX, CoordY) 
end sub

sub GotoXY(x, y) 
var myX,myY,lastX=0,lastY=0,i,halt=0,z,r=0 
for i=1 to 60 
myX=uo.getX(); 
myY=uo.getY(); 
if LastX==myX and LastY==myY then 
halt=halt+1 
else 
halt=0 
end if 
if halt>=10 then 
if uo.GetDir()==1 then 
for z=0 to 8 
uo.Press(40) 
next 
end if 
if uo.GetDir()==3 then 
for z=0 to 8 
uo.Press(37) 
next 
end if 
if uo.GetDir()==5 then 
for z=0 to 8 
uo.Press(38) 
next 
end if 
if uo.GetDir()==7 then 
for z=0 to 8 
uo.Press(39) 
next 
end if 
halt=15 
end if 
if Numb(x-myX)<=1 and Numb(y-myY)<=2 then 
return 1 
end if 
if x<=myX then 
if y<=myY then 
for z=0 to 3 
uo.Press(38) 
next 
else 
for z=0 to 3 
uo.Press(37) 
next 
end if 
else 
if y<=myY then 
for z=0 to 3 
uo.Press(39) 
next 
else 
for z=0 to 3 
uo.Press(40) 
next 
end if 
end if 
lastX=myX 
lastY=myY 
wait(200) 
next 
return 0 
end sub 

sub Numb(num) 
if num>=0 then 
return num 
else 
return num*(-1) 
end if 
end sub 
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

1a2a3a4a5a6a wrote:Тогда получается вот это:

Code: Select all

sub go()
VAR CoordX='1234' #Поставь коорды 
VAR CoordY='123' 
	GotoXY(CoordX, CoordY) 
end sub
Типа того :D
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

Cooper wrote:
1a2a3a4a5a6a wrote:Тогда получается вот это:

Code: Select all

sub go()
VAR CoordX='1234' #Поставь коорды 
VAR CoordY='123' 
	GotoXY(CoordX, CoordY) 
end sub
Типа того :D
А что не так? :)
Мне нужно просто заставить чара пойти в нужную координату.
Может тогда исправишь мою кривость? :)
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

1a2a3a4a5a6a wrote:
Cooper wrote:
1a2a3a4a5a6a wrote:Тогда получается вот это:

Code: Select all

sub go()
VAR CoordX='1234' #Поставь коорды 
VAR CoordY='123' 
	GotoXY(CoordX, CoordY) 
end sub
Типа того :D
А что не так? :)
Мне нужно просто заставить чара пойти в нужную координату.
Может тогда исправишь мою кривость? :)
Смари:

Code: Select all

sub go()
VAR CordX=' '
VAR CordY=' '

While UO.GetX('self') <> CordX
GotoXY(CordX, CordY)
wend
end sub
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

Cooper wrote: Смари:

Code: Select all

sub go()
VAR CordX=' '
VAR CordY=' '

While UO.GetX('self') <> CordX
GotoXY(CordX, CordY)
wend
end sub
Вставил я этот код и ниже вставил саму ходилку. Поставил координаты. Когда запускаю go, то выдает ошибку: "Line 43: Runtime error - Invalid operation for this type".
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

1a2a3a4a5a6a wrote:
Cooper wrote: Смари:

Code: Select all

sub go()
VAR CordX=' '
VAR CordY=' '

While UO.GetX('self') <> CordX
GotoXY(CordX, CordY)
wend
end sub
Вставил я этот код и ниже вставил саму ходилку. Поставил координаты. Когда запускаю go, то выдает ошибку: "Line 43: Runtime error - Invalid operation for this type".
Вот, ща протестил, ходит тока координаты поменяй:

Code: Select all

sub go() 
VAR CX=1794 
VAR CY=1563 

If UO.GetX() <> CX and UO.Gety() <> CY then
GotoXY(CX, CY) 
endif
end sub
ТОка ходилка тупит, поточнее надо
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

Да, у меня тоже работает! Огромное спасибо!
А ходилка действительно запинается.
SLAK
Posts: 182
Joined: 2005-08-19 16:12:23
Contact:

Post by SLAK »

Запускать ходилку вы уже научились, а ходилки по качественее тут:
http://forum.yoko.com.ua/viewtopic.php?t=6743 :D
Post Reply