Page 1 of 1
Help me!
Posted: 2006-04-05 20:16:37
by jin
Ребята помогите плиз.. нужен скрипт такого рода - чар стоит возле порога дома, нужно чтобы он открыл дверь и прошел 8 раз по PageUp и 3 раза по End + проверка, что он дошел до того места...
Только не говорите типа - читай фаг и т.д. я в написании скриптов не розбераюсь

Re: Help me!
Posted: 2006-04-05 20:39:15
by Kynep
jin wrote:Ребята помогите плиз.. нужен скрипт такого рода - чар стоит возле порога дома, нужно чтобы он открыл дверь и прошел 8 раз по PageUp и 3 раза по End + проверка, что он дошел до того места...
Только не говорите типа - читай фаг и т.д. я в написании скриптов не розбераюсь

Смари:
Code: Select all
sub idu()
UO.Set('finddistance', '3')
wait(200)
UO.opendoor()
wait(1000)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(35)
wait(500)
Uo.Press(35)
wait(500)
Uo.Press(35)
wait(500)
end sub
Re: Help me!
Posted: 2006-04-05 22:31:38
by jin
Cooper wrote:Смари:
Code: Select all
sub idu()
UO.Set('finddistance', '3')
wait(200)
UO.opendoor()
wait(1000)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(35)
wait(500)
Uo.Press(35)
wait(500)
Uo.Press(35)
wait(500)
end sub
пасиб большое, а можна как-то проверку на открытие двеерй зделать ??
Posted: 2006-04-05 23:50:07
by flake
Копер, а нафиг тебе файнддистанс выставлять?
Posted: 2006-04-06 07:04:24
by Kynep
flake wrote:Копер, а нафиг тебе файнддистанс выставлять?
2flake
Чтоб двери открыл...
Code: Select all
Описание: opendoor •
Синтакс: ,opendoor
none uo.opendoor()
Открывает/закрывает (двойной щелчок, использование) дверь в радиусе set distance.
2jin
Поставь wait побольше после UO.OpenDoor()
Posted: 2006-04-06 07:56:28
by flake
Так это
а не файнддистанс.
Re: Help me!
Posted: 2006-04-06 08:01:29
by Askaneli
Cooper wrote:jin wrote:Ребята помогите плиз.. нужен скрипт такого рода - чар стоит возле порога дома, нужно чтобы он открыл дверь и прошел 8 раз по PageUp и 3 раза по End + проверка, что он дошел до того места...
Только не говорите типа - читай фаг и т.д. я в написании скриптов не розбераюсь

Смари:
Code: Select all
sub idu()
UO.Set('finddistance', '3')
wait(200)
UO.opendoor()
wait(1000)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(33)
wait(500)
Uo.Press(35)
wait(500)
Uo.Press(35)
wait(500)
Uo.Press(35)
wait(500)
end sub
UO.opendoor() калитку не открывает, по крайней мере у меня ...
Re: Help me!
Posted: 2006-04-06 08:12:03
by Kynep
Askaneli wrote:UO.opendoor() калитку не открывает, по крайней мере у меня ...
ХЗ на калитках не тестил, мож она и не должна открывать калитки?
Двери норм открывает

Posted: 2006-04-06 08:55:30
by flake
Code: Select all
var Oper()
var close = '' ; типа закрытой калитки
uo.set( 'finddistance' , '3' )
uo.findtype( close, '-1', 'ground' )
if uo.findcount() == 0 then
uo.print( 'Рядом нет калиток' )
return
endif
open:
uo.useobject( 'finditem' )
wait(600)
if uo.getgraphic( 'finditem' ) == close then
goto open
endif
endsub
Posted: 2006-04-06 11:09:41
by Askaneli
Code: Select all
Cheklag()
uo.findtype('0x084D','0x0000','ground') ## Тип и цвет открытой калитки
wait(50)
if uo.findcount()==0 then ## Открываем если она закрыта
Cheklag()
uo.useobject('ИД калитки')
wait(50)
end if
while uo.gety('self')>Координата Y до которой идём сперва
Cheklag()
uo.press(33)
wait(150)
wend
while uo.getx('self')<Координата X до которой идём поле, обычно рядом с сейфом
Cheklag()
uo.press(40)
wait(150)
wend
uo.press(40) потому что чар потом вдоль забора идёт скольжением ...
Posted: 2006-04-07 12:25:04
by jin
Ребята помогите с дропом, не кидает дроп в координату (( координата находиться на соседнем тайле
Code: Select all
sub Drop()
if uo.Waiting() then
uo.CancelTarget()
end if
var a,Exit
dim Logs[1]
Logs[0]=0x1BDD
wait(500)
for a=0 to 0
Exit=0
repeat
uo.FindType(Logs[a])
if uo.GetQuantity('finditem')>0 then
uo.drop(0, 372, 244,'finditem')
wait(1500)
else
Exit=1
end if
until Exit==1
next
end sub
Posted: 2006-04-07 14:14:34
by Kynep
jin wrote:Ребята помогите с дропом, не кидает дроп в координату (( координата находиться на соседнем тайле
Code: Select all
sub Drop()
if uo.Waiting() then
uo.CancelTarget()
end if
var a,Exit
dim Logs[1]
Logs[0]=0x1BDD
wait(500)
for a=0 to 0
Exit=0
repeat
uo.FindType(Logs[a])
if uo.GetQuantity('finditem')>0 then
uo.drop(0, 372, 244,'finditem')
wait(1500)
else
Exit=1
end if
until Exit==1
next
end sub
У тебя цикл не выполняется:
он сразу останавливается, поставь хотя бы так:
выкинет 1 пачку логов
Posted: 2006-04-07 21:21:46
by jin
Cooper wrote:У тебя цикл не выполняется:
он сразу останавливается, поставь хотя бы так:
выкинет 1 пачку логов
Пасиб )
Posted: 2006-04-11 14:35:15
by jin
Ребята выручите еще раз

... вот скрипт сделал на доски, но он чего-то не хочет их делать

( и cancelmenu не работает

(((
Code: Select all
sub ToBoards()
Var tb
For tb = 0 To 7
UO.Exec ("usetype 0x1035")
UO.Exec ("waitmenu 'carpentry selection menu' 'Materials' 'carpentry selection menu' 'Boards' ")
UO.Exec ("waittargettype 0x1BDD")
wait (10000)
uo.cancelmenu()
wait (100)
uo.canceltarget()
wait (100)
Next
end sub
Posted: 2006-04-11 22:08:06
by Edred
В разделе Help прилеплены уроки. Почитай, сразу отпадут глупые вопросы. Ловушку на прицел надо ставить до, а не после использования инструмента. И меню до.
Posted: 2006-04-12 01:47:17
by jin
Edred wrote:В разделе Help прилеплены уроки. Почитай, сразу отпадут глупые вопросы. Ловушку на прицел надо ставить до, а не после использования инструмента. И меню до.
почитал, много чего нового узнал... вот ..
Code: Select all
sub ToStool()
Var A
For A = 0 To 1
UO.CancelMenu()
wait (100)
UO.Exec("waitmenu 'carpentry selection menu' 'Chairs' 'carpentry selection menu' 'Stool'")
UO.Exec("waittargettype 0x1BDD")
UO.Exec("usetype 0x1035")
wait(9000)
UO.CancelMenu()
wait (100)
Next
end sub
Code: Select all
sub ToStool()
Var A
For A = 0 To 1
UO.CancelMenu()
wait (100)
UO.AutoMenu('carpentry selection menu', 'Chairs')
UO.AutoMenu('carpentry selection menu', 'Stool')
UO.Exec("waittargettype 0x1BDD")
UO.Exec("usetype 0x1035")
wait(9000)
UO.CancelMenu()
wait (100)
Next
end sub
Code: Select all
sub ToStool()
Var A
For A = 0 To 1
UO.CancelMenu()
wait (100)
UO.AutoMenu('carpentry selection menu', 'Chairs')
UO.AutoMenu('Chairs', 'Stool')
UO.Exec("waittargettype 0x1BDD")
UO.Exec("usetype 0x1035")
wait(9000)
UO.CancelMenu()
wait (100)
Next
end sub
Code: Select all
sub ToStool()
Var A
For A = 0 To 1
UO.CancelMenu()
wait (100)
UO.AutoMenu('Chairs', 'Stool')
UO.Exec("waittargettype 0x1BDD")
UO.Exec("usetype 0x1035")
wait(9000)
UO.CancelMenu()
wait (100)
Next
end sub
вот несколько способов которыми я пробовал, но без желаемого результата... появляетcя меню (его полное название "Carpentry Selection Menu") и ничего не происходит + после UO.CancelMenu() - менюшка не закрывается
Покажи мне плиз мою ошибку

либо я плохо читаю, либо ....
сервак pol 0.96
Posted: 2006-04-12 08:41:50
by Edred
jin wrote:UO.AutoMenu('carpentry selection menu', 'Chairs')
UO.AutoMenu('carpentry selection menu', 'Stool')
......
появляетcя меню (его полное название "Carpentry Selection Menu")
Так что же у тебя все-таки написано в меню? Инжект передает клиенту и серверу именно то, что ты напишешь, преобразованиями регистров он не занимается. Поэтому в строке меню нужно указывать заглавные буквы именно там, где они нужны, а там где не нужны - не указывать.
И вообще: убери канселменю в конце скрипта, она там на фиг не нужна, раз она у тебя есть в начале, и посмотри. Если при запуске скрипта выскакивает меню и остается висеть, значит ты однозначно неправильно записал в аутоменю (вайтменю тебе не подходит, у тебя на разных уровнях меню одинаковые заголовки).