Page 1 of 1

Вопросик

Posted: 2006-08-22 18:45:36
by Slavik
Нашел скрипт на обкладку на инже. Но он у меня почему то глючит, он то выкладывает 2, то три стенда. Иногда вообще один. А не четыре как долен. Почему так? Вот скрипт:

Code: Select all

sub vetki()
#Mihail
var x, item
if uo.getglobal('vetki')=='1' then
uo.print('script already running')
return
end if
uo.setglobal('vetki','1')
x=uo.getserial('lasttarget')
if uo.getdistance(x)>2 then
uo.print('target too far')
uo.setglobal('vetki','0')
return
end if
item=surch()
uo.drop("1",str(uo.getx(x)-1),str(uo.gety(x)),0,item)
wait(800)
item=surch()
uo.drop("1",str(uo.getx(x)),str(uo.gety(x)-1),0,item)
item=surch()
wait(800)
item=surch()
uo.drop("1",str(uo.getx(x)+1),str(uo.gety(x)),0,item)
wait(800)
item=surch()
uo.drop("1",str(uo.getx(x)),str(uo.gety(x)+1),0,item)
uo.setglobal('vetki','0')
end sub

sub surch()
var n
Dim Items[6]
## ???? ???? ????????? ???? ????????? ##
Items[0] = 0x0EB5
Items[1] = 0x0EB5
Items[2] = 0x0EB5
Items[3] = 0x0EB5
Items[4] = 0x0EB5
Items[5] = 0x0EB5
###################
for n = 0 to 2
uo.findtype(Items[n],-1,'backpack')
if uo.findcount() then
return uo.getserial('finditem')
end if
next
end sub

Posted: 2006-08-22 18:59:06
by Nmy
скрипты на обклад тут хватают... ищи...

Code: Select all

sub obklad()
var musor = type # пропиши здесь тип, чем обкладываешь
var x=uo.getserial('lasttarget')
var delay=700
uo.set('lasttarget','laststatus')
   uo.findtype(musor,'-1','2')
   if uo.findcount() then
      uo.drop("1",str(uo.getx(x)-1),str(uo.gety(x)),0,"finditem")
   endif
wait(delay)
   uo.findtype(musor,'-1','2')
   if uo.findcount() then
      uo.drop("1",str(uo.getx(x)),str(uo.gety(x)-1),0,"finditem")
   endif
wait(delay)
   uo.findtype(musor,'-1','2')
   if uo.findcount() then
      uo.drop("1",str(uo.getx(x)+1),str(uo.gety(x)),0,"finditem")
   endif
wait(delay)
   uo.findtype(musor,'-1','2')
   if uo.findcount() then
      uo.drop("1",str(uo.getx(x)),str(uo.gety(x)+1),0,"finditem")
   endif
end sub

Posted: 2006-08-22 19:01:51
by Slavik
Да этот вроде тоже нормальный. Это у меня лаги какие то походу. Может кто знает. А вообще у меня был еще один скрипт на обкладку, нажатием на 4 кнопки, так он так же глючил, хочет выкинет стенд, хочет не выкинет. Незнаю что с этим делать.

Posted: 2006-08-22 19:05:55
by Slavik
С твоим скриптом тоже самое, хочет выкладывает, хочет нет. Я непойму почему так?

Posted: 2006-08-22 19:17:00
by Nmy
значит у тебя лаги, вместо вейт ставь Checklag() иго можно наидти на форуме...

Posted: 2006-08-22 19:22:45
by Slavik
Можешь найти плз? Я тут вообще не разбераюсь.

Posted: 2006-08-22 19:37:27
by I'm
Checklag() есть практически в каждом втором скрипте.

Posted: 2006-08-22 19:40:00
by I'm
viewtopic.php?t=7379
Самый распространенный вариант ИМХО:

Code: Select all

sub CheckLag() 
UO.DeleteJournal()
UO.Click("backpack")
 Repeat
  Wait(500)
 Until UO.InJournal("backpack")
end sub

Posted: 2006-08-22 19:46:06
by Slavik
И как это вставить в скрипт который выложил один человек выше? Я автомеханик по профессии, так что мне эти скрипты в дековенку. :) Если не трудно, то выложите сразу скрипт который может работать с лагами. Хотя вроде лагов у меня не должно быть, выделенная линия как никак, но все же.

Posted: 2006-08-22 20:25:55
by Slavik
Проверил, обкладка не работает не из-за лагов, лагов нет. Чисто ради интереса поставил задержку в 5 секунд между выкладываеием стендов и все равно то выклыдвает стенды, то не выкладывает. Причем если несколько раз нажимать на обкладку, то он все же кинет стенды туда, куда кинуть не мог. Когда не может кинуть стенд, пишет вот эту фразу : Cant't pickup item.
Причем я так же не мог выкладывать нормально стенды даже на пилоте! Все равно то выложит, то нет. У кого такое было и как это решали? Может что в натройках самой ультимы нужн сделать?

Posted: 2006-08-22 21:07:26
by Nmy

Code: Select all

sub obklad()
var musor = type # пропиши здесь тип, чем обкладываешь
var x=uo.getserial('lasttarget')
uo.set('lasttarget','laststatus')
   uo.findtype(musor,'-1','2')
   if uo.findcount() then
      uo.drop("1",str(uo.getx(x)-1),str(uo.gety(x)),0,"finditem")
   endif
CheckLag()
   uo.findtype(musor,'-1','2')
   if uo.findcount() then
      uo.drop("1",str(uo.getx(x)),str(uo.gety(x)-1),0,"finditem")
   endif
CheckLag()
   uo.findtype(musor,'-1','2')
   if uo.findcount() then
      uo.drop("1",str(uo.getx(x)+1),str(uo.gety(x)),0,"finditem")
   endif
CheckLag()
   uo.findtype(musor,'-1','2')
   if uo.findcount() then
      uo.drop("1",str(uo.getx(x)),str(uo.gety(x)+1),0,"finditem")
   endif
end sub

sub CheckLag()
UO.DeleteJournal()
UO.Click("backpack")
 Repeat
  Wait(200)
 Until UO.InJournal("backpack")
end sub


напишы ,set grabdelay 0
может у тебя в паке 4 штуки, кидая их напол, они поворачиваются, а если они повернулись, тогда их тип меняется :arrow: :!:

Posted: 2006-08-22 23:01:46
by Slavik
Не, тип один и тот же, проверял. Кстати вот этот скрипт, что ты выложил, он еще хуже у меня работает, чем предыдущий. Отсюда делаем выводы, что инет не лагает, проблема в чем то другом. Но в чем?...

Posted: 2006-08-22 23:18:44
by Slavik
Вот еще пример когда он может выкидывает сено, а может и нет.

Code: Select all

ub dr1()
var x
  UO.Set('lasttarget','laststatus')
  x=uo.getserial('lasttarget')
  uo.findtype("0x0F36")
  if uo.findcount() then
    uo.drop("1",str(uo.getx(x)-1),str(uo.gety(x)),0,"finditem")
  else
   uo.findtype("0x0E7D")
    if uo.findcount() then
     uo.drop("1",str(uo.getx(x)-1),str(uo.gety(x)),0,"finditem")
   end if
  end if
end sub


Может это поможет разобраться в моей проблеме

NMY: используй [code][./code] !