объясните, пожалуйста...

Ask for help

Moderators: Murderator+, Murderator

Post Reply
comatoza
Posts: 76
Joined: 2006-09-10 01:09:20
Location: Russia>>SPb>>Kolpino
Contact:

объясните, пожалуйста...

Post by comatoza »

вот кусок скрипта...
смысл оного - тамит всех овец на поляне, подходит к тамеру, продаёт всех овец...

Code: Select all

sub taming()
var sheepX, sheepY, k=0
var sheep = '0x00CF'

uo.findtype(sheep, '0x0000', 'ground')
while uo.FindCount()
 sheepX = uo.GetX('finditem')
 sheepY = uo.GetY('finditem')
 gotoxy(sheepX, sheepY, 1)
 uo.DeleteJournal()
 uo.waittargetobject('finditem')
 uo.useskill('Animal Taming')
 while not uo.InJournal('You successfully|already')
  wait(100)
  if (abs(uo.GetX('finditem')-uo.GetX())>3 or abs(uo.GetY('finditem')-uo.GetY()>3)) then
   sheepX = uo.GetX('finditem')
   sheepY = uo.GetY('finditem')
   gotoxy(sheepX, sheepY, 1)
  endif
 wend
 uo.msg('all follow me')
 k=k+1
 uo.ignore('finditem')
 uo.findtype(sheep, '0x0000', 'ground')
wend
uo.ignore('self')
uo.findtype('0x0190','0x0000', 'ground')
 uo.msg('all follow me')
 gotoxy(uo.GetX('finditem'), uo.GetY('finditem'), 1)
 uo.msg('all stay')
 selling(k)
end sub

sub selling(k)
 var sheep = '0x00CF'

for var i = 1 to k
 uo.DeleteJournal()
 uo.waittargetground(sheep)
 uo.msg('sell')
 while not uo.InJournal('is worth')
  wait(100)
 wend
next
end sub



проблемка в следующем... затамив всех овец на поляне он находит какую то тварюшку, аж за 950 тайлов... хотя finddistance = 10

ф чём может быть дело?
Твоими пастырями будем мы. Во имя Твоё Господи. Сила снизошла из Твоих рук, наши ноги быстро Твоё слово несут. И прямо к Тебе пусть потёчёт река, наполним душами её. Да будет так!
(с) "Святые из трущоб" перевод камрада Гоблина
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Re: объясните, пожалуйста...

Post by Edred »

comatoza wrote:проблемка в следующем... затамив всех овец на поляне он находит какую то тварюшку, аж за 950 тайлов...


Бред. Макс. финддистанс = 14-15 тайлов. Разбирайся получше, что-то другое у тебя там зарыто.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
comatoza
Posts: 76
Joined: 2006-09-10 01:09:20
Location: Russia>>SPb>>Kolpino
Contact:

Re: объясните, пожалуйста...

Post by comatoza »

Edred wrote:
comatoza wrote:проблемка в следующем... затамив всех овец на поляне он находит какую то тварюшку, аж за 950 тайлов...


Бред. Макс. финддистанс = 14-15 тайлов. Разбирайся получше, что-то другое у тебя там зарыто.


спасибо... но больше по-идее там ничего зарыто быть не может...
даже если ставлю финддистанс 5 фсё равно находит...
может какая из галок в майне лишняя? или, наоборот, не стоит?
Твоими пастырями будем мы. Во имя Твоё Господи. Сила снизошла из Твоих рук, наши ноги быстро Твоё слово несут. И прямо к Тебе пусть потёчёт река, наполним душами её. Да будет так!
(с) "Святые из трущоб" перевод камрада Гоблина
comatoza
Posts: 76
Joined: 2006-09-10 01:09:20
Location: Russia>>SPb>>Kolpino
Contact:

Post by comatoza »

Я, валенок, :) там зарЫто воть что :) он uo.ignore('self') не воспринимает :) ему объект подавай :)
Твоими пастырями будем мы. Во имя Твоё Господи. Сила снизошла из Твоих рук, наши ноги быстро Твоё слово несут. И прямо к Тебе пусть потёчёт река, наполним душами её. Да будет так!
(с) "Святые из трущоб" перевод камрада Гоблина
comatoza
Posts: 76
Joined: 2006-09-10 01:09:20
Location: Russia>>SPb>>Kolpino
Contact:

Post by comatoza »

столкнулся с новой проблемой...
если не включать track eorld items он не наход animal tamer`a
а если включить устранавливает таргет на зомбика. который появляется после продажи овцы...
Твоими пастырями будем мы. Во имя Твоё Господи. Сила снизошла из Твоих рук, наши ноги быстро Твоё слово несут. И прямо к Тебе пусть потёчёт река, наполним душами её. Да будет так!
(с) "Святые из трущоб" перевод камрада Гоблина
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

А почитать
viewtopic.php?t=1172
слабо? Или зомбики так нравятся? Зомбики ведь не от ТВИ, а от статус бар фикс.

Вообще, мне лично уже достало объяснять азы людям, которым лень почитать уроки, хелп, раздел ФАК, прилепленные темы в разделах Дженерал и Хелп. Это относится к тебе и еще одному "товарищу" на этом форуме. Интересно, он догадается, что я его имею в виду? :lol:
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
comatoza
Posts: 76
Joined: 2006-09-10 01:09:20
Location: Russia>>SPb>>Kolpino
Contact:

Post by comatoza »

Edred wrote:А почитать
viewtopic.php?t=1172
слабо? Или зомбики так нравятся? Зомбики ведь не от ТВИ, а от статус бар фикс.

Вообще, мне лично уже достало объяснять азы людям, которым лень почитать уроки, хелп, раздел ФАК, прилепленные темы в разделах Дженерал и Хелп. Это относится к тебе и еще одному "товарищу" на этом форуме. Интересно, он догадается, что я его имею в виду? :lol:


читал... забыл просто... а зомбики и правда нравятся... есть такая особенность в игре на МЕ... нада знать где человек убегая в хайд встал что потом ГЕшкой его выбить из хайда... ну или другим способом... помогает в общем...
кстати, а почему статусбар фикс не оставляет зомбиков без включеного ТВИ?

ЗЫ... а насЕчет вопросов... а зачем ышо форум нужен - пЫськами мерятся? самостоятельно вовсём разобраться, конечно, здорово... но иногда голова уже просто отказывается соображать... а когда до такого доходит придумать параметры поиска тяжело... :)

ЗЫЫ а получилась вот такая бодяга... чар прыгает по 3 рункам символизирующими загоны в Yew тамит там овец, потом прыгает к Animal Tamer`у и продаёт их... если регов на рекаллы становется мало - прыгает закупает их... скрипт заточен под МЕ... до скольки на нём реально прокачать тамминг не знаю... пока знаю тока, что с 30 до 70 реально и достаточно быстро...

Code: Select all

sub main()
var i, myX, myY
var tame_book = '0x6152F3CE'
var mage_book = '0x6152EF86'

while not uo.Dead()
 for i=2 to 6 step 2
  if (uo.mr>10 and uo.bm>10 and uo.bp>10) then
   myX=uo.GetX()
   myY=uo.GetY()
   uo.recall(tame_book, i)
   while uo.GetX()==myX and uo.GetY()==myY
    wait(100)
   wend
   wait(5000)
   taming()
   myX=uo.GetX()
   myY=uo.GetY()
   uo.recall(tame_book, 8)
   while uo.GetX()==myX and uo.GetY()==myY
    wait(100)
   wend
   wait(5000)
   selling()
  else
   while (uo.mr<50 or uo.bm<50 or uo.bp<50)
    i = 2
    myX=uo.GetX()
    myY=uo.GetY()
    uo.recall(mage_book, i)
    while uo.GetX()==myX and uo.GetY()==myY
     wait(100)
    wend
    uo.buy('recall_regs')
    wait(1000)
    if (uo.mr<50 or uo.bm<50 or uo.bp<50) then
     i=i+2
     if i==32 then
      i=2
     endif
    endif
   wend
  endif
 next
wend
end sub

sub taming()
var sheepX, sheepY
var sheep = '0x00CF'


uo.set('finddistance', '10')
uo.findtype(sheep, '-1', 'ground')
while uo.FindCount()>0
 sheepX = uo.GetX('finditem')
 sheepY = uo.GetY('finditem')
 gotoxy(sheepX, sheepY, 1)
 uo.DeleteJournal()
 uo.waittargetobject('finditem')
 while not uo.injournal('What do you want to tame?')
  uo.useskill('Animal Taming')
  wait(2000)
 wend
 while not uo.InJournal('You successfully|already|not seems|cancelled')
  wait(1000)
  if (abs(uo.GetX('finditem')-uo.GetX())>3 or abs(uo.GetY('finditem')-uo.GetY()>3)) then
   sheepX = uo.GetX('finditem')
   sheepY = uo.GetY('finditem')
   gotoxy(sheepX, sheepY, 1)
  endif
 wend
 uo.msg('all follow me')
 uo.ignore('finditem')
 wait(1000)
 uo.findtype(sheep, '-1', 'ground')
wend
uo.ignorereset()
end sub

sub selling()
var sheep = '0x00CF'
 uo.DeleteJournal()
 uo.findtype(sheep, '-1', 'ground')
 while uo.findCount()>0
  uo.waittargetobject('finditem')
  uo.msg('sell')
  wait(1000)
  uo.ignore('finditem')
  wait(1000)
  uo.findtype(sheep, '0x0000', 'ground')
 wend
 uo.ignorereset()
end sub


sub gotoxy(x,y,prec)
var ld=0,ldc=0
var dx,dy
var mx,my
var ox,oy,mk,k
#uo.print(">")
#uo.track("1",str(x),str(y))
start:
mx=UO.GetX()
my=UO.GetY()
dx=mx-x
if dx<0 then
dx=0-dx
endif
dy=my-y
if dy<0 then
dy=0-dy
endif
if dy>dx then
dx=dy
end if
if dx<=prec then
return
end if
if not ldc then
uo.print(STR(dx))
end if
if dx<3 then
mk=70
else
mk=15
end if

ox=mx
oy=my
for k=1 to mk
mx=UO.GetX()
my=UO.GetY()
if mx<>ox or my<>oy then
goto sdidapl
end if
wait(10)
next
sdidapl:

mx=UO.GetX()
my=UO.GetY()
dx=mx-x
if dx<0 then
dx=0-dx
endif
dy=my-y
if dy<0 then
dy=0-dy
endif
if dy>dx then
dx=dy
end if

if dx<=prec then
return
end if
if ld==dx then
ldc=ldc+1
if ldc>100 then
uo.print("Can not reach location!")
return
end if
else
ld=dx
end if

if mx==x then
if my==y then
return
endif
if my>y then
#UO.Print("UR")
UO.Press(33)
goto start
endif
#UO.Print("DL")
UO.Press(35)
goto start
end if
if mx<x then
if my>y then
#UO.Print("R")
UO.Press(39)
goto start
endif
if my==y then
#UO.Print("DR")
UO.Press(34)
goto start
endif
#UO.Print("D")
UO.Press(40)
goto start
end if
if my<y then
#UO.Print("L")
UO.Press(37)
goto start
endif
if my==y then
#UO.Print("LU")
UO.Press(36)
goto start
endif
#UO.Print("U")
UO.Press(38)
goto start
end sub

sub abs(num)
if num>=0 then
 return num
else
 return num*(-1)
end if
end sub


ЗЫЫЫ афтар благодарит алфавит за любезно предоставленные буквы... а также афтара ходилки... пусть и не идеально, но вполне удовлетворяющей МОИМ требованиям...
Твоими пастырями будем мы. Во имя Твоё Господи. Сила снизошла из Твоих рук, наши ноги быстро Твоё слово несут. И прямо к Тебе пусть потёчёт река, наполним душами её. Да будет так!
(с) "Святые из трущоб" перевод камрада Гоблина
Post Reply