Help me!

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
jin
Posts: 8
Joined: 2006-04-05 19:58:43

Help me!

Post by jin »

Ребята помогите плиз.. нужен скрипт такого рода - чар стоит возле порога дома, нужно чтобы он открыл дверь и прошел 8 раз по PageUp и 3 раза по End + проверка, что он дошел до того места...
Только не говорите типа - читай фаг и т.д. я в написании скриптов не розбераюсь :(
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Re: Help me!

Post 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
jin
Posts: 8
Joined: 2006-04-05 19:58:43

Re: Help me!

Post 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


пасиб большое, а можна как-то проверку на открытие двеерй зделать ??
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Копер, а нафиг тебе файнддистанс выставлять?
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

flake wrote:Копер, а нафиг тебе файнддистанс выставлять?


2flake
Чтоб двери открыл...

Code: Select all

Описание: opendoor •
Синтакс: ,opendoor
none uo.opendoor()

Открывает/закрывает (двойной щелчок, использование) дверь в радиусе set distance.


2jin
Поставь wait побольше после UO.OpenDoor()
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Так это

Code: Select all

uo.set( 'distance', '3' )
а не файнддистанс.
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Re: Help me!

Post 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() калитку не открывает, по крайней мере у меня ...
Сделал дело - флуди смело !!!
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Re: Help me!

Post by Kynep »

Askaneli wrote:UO.opendoor() калитку не открывает, по крайней мере у меня ...


ХЗ на калитках не тестил, мож она и не должна открывать калитки?
Двери норм открывает :?
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post 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
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post 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) потому что чар потом вдоль забора идёт скольжением ...
Сделал дело - флуди смело !!!
jin
Posts: 8
Joined: 2006-04-05 19:58:43

Post 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
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post 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



У тебя цикл не выполняется:

Code: Select all

for a=0 to 0


он сразу останавливается, поставь хотя бы так:

Code: Select all

for a=0 to 1


выкинет 1 пачку логов
jin
Posts: 8
Joined: 2006-04-05 19:58:43

Post by jin »

Cooper wrote:У тебя цикл не выполняется:

Code: Select all

for a=0 to 0


он сразу останавливается, поставь хотя бы так:

Code: Select all

for a=0 to 1


выкинет 1 пачку логов


Пасиб )
jin
Posts: 8
Joined: 2006-04-05 19:58:43

Post 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
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

В разделе Help прилеплены уроки. Почитай, сразу отпадут глупые вопросы. Ловушку на прицел надо ставить до, а не после использования инструмента. И меню до.
jin
Posts: 8
Joined: 2006-04-05 19:58:43

Post 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
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

jin wrote:UO.AutoMenu('carpentry selection menu', 'Chairs')
UO.AutoMenu('carpentry selection menu', 'Stool')
......
появляетcя меню (его полное название "Carpentry Selection Menu")


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

И вообще: убери канселменю в конце скрипта, она там на фиг не нужна, раз она у тебя есть в начале, и посмотри. Если при запуске скрипта выскакивает меню и остается висеть, значит ты однозначно неправильно записал в аутоменю (вайтменю тебе не подходит, у тебя на разных уровнях меню одинаковые заголовки).
Post Reply