Нужна помощь со скриптом

Frozen
8 июля 2010 13:37
Сообщение #1

Всем привет. Уже лет 7 не играл в УО. Все свои знания по написанию скриптов позабыл. Сейчас в НТ пытаюсь прокачать фишинг и кукинг до 65. Возникла проблема со скриптом на фишинг. В данный момент скриптом я ловлю рыбу вокруг себя в радиусе 6 тайлов и автоматически закидываю в бекпак. Хотелось бы сделать так, чтобы перед тем как положить рыбку в мешок, сначала разделать ее. Есть тут кто-ть кто разбирается в скриптах инжекта?

sub fishing()
var mx, my, mz, i, j
uo.print('А где ведро?')
uo.exec('addobject Bag')
while uo.targeting()
wait(100)
wend

mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()
for i = mx-6 to mx+6
for j = my -6 to my+6
if UO.dead() then
return
endif
UO.Print("Now Fishing In: "+str(mx-i)+" "+str(my-j))
while not UO.InJournal("no fish here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in water")
UO.DeleteJournal()
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Usetype("0x0DBF") ;FishingPole
if UO.dead() then
return
endif
if UO.Weight>660 then
return
endif
while not UO.InJournal("You pull") and not UO.InJournal("location") and not UO.InJournal("no fish") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in water")
wait (100)
if UO.InJournal("You pull") then
UO.SetReceivingContainer('Bag')



UO.findtype('0x09CC','0x0000','ground') ///здесь определяется
UO.grab ('3','finditem') /// наличие рыбы
wait (100) ///под ногами, и перетаскивается 
UO.findtype('0x09CE','0x0000','ground')   ///в сумку. 
UO.grab ('3','finditem')  ///Знает кто, что нужно указать,
wait (100)      ///чтобы он сначала эту рыбу 
UO.findtype('0x09CF','0x0000','ground')///порезал, а потом уже 
UO.grab ('3','finditem')   ///
засунул в сумку 
wait (100)          ///




UO.UnSetReceivingContainer()
end if
wend
wend
UO.DeleteJournal()
next
next
end sub

Старший Лейтенант (5922425)15 лет
Necromancer
Сообщений: 597
Рег. 15.10.2009
8 июля 2010 13:40
Сообщение #2
sub FishingAround()
  VAR X, Y, i, MaxRange = 6, MaxVes = 620
  VAR knife = '0x0F51'   ; нож
  VAR Steak = '0x097A'
  VAR Bag = '0x40205DFE'

DIM Fish[4]
  Fish[0]  = '0x09CC'   ; тип рыбы 1
  Fish[1]  = '0x09CD'   ; тип рыбы 2
  Fish[2]  = '0x09CE'   ; тип рыбы 3
  Fish[3]  = '0x09CF'   ; тип рыбы 4

for Y = -MaxRange to MaxRange
for X = -MaxRange to MaxRange
if FishTiles(UO.GetX()+X, UO.GetY()+Y) then
   repeat
  UO.DeleteJournal()
    UO.Warmode(0)
         wait(100)
    UO.WaitTargetTile(FishTiles(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ())
;ToHide()
  ; ********************************
  ; Auto Tools
    if UO.Count(0x0DBF) || UO.Count(0x0DC0) then
     if UO.Count(0x0DBF) then
      UO.UseType(0x0DBF); <-- удочка
     else
      UO.UseType(0x0DC0); <-- удочка
    endif
    else
     return 1
    endif
  ; ********************************
      repeat
     wait(100)
    until UO.InJournal('****|pull out|anything|поймали|You can|не получилось|no fish|нету рыбы|месте|далеко|вытащили удочку')
  For i=0 To 3
     UO.FindType( Fish[i], -1, 'ground' )
     If UO.FindCount() > 0 Then
        UO.Grab( 0, 'finditem' )
        Wait( 300 )
     Endif
  Next
   If UO.Weight > MaxVes Then
    UO.Print('Перегруз!')
     return 0
   endif
   If UO.Life < Uo.Str/10 then
    UO.Print('А мы умираем!')
    return 0
   endif
  until UO.InJournal("no fish|нету рыбы|anything|в другом месте|далеко|вытащили удочку") || UO.Dead()
For i=0 To 3
     UO.FindType( Fish[i] )
     If UO.FindCount() > 0 Then
           UO.WaitTargetObject( 'finditem' )
           UO.UseType( knife )
           Wait( 500 )
           UO.FindType( Steak )
           If UO.FindCount() > 0 Then
              UO.MoveItem( 'finditem', '0' , Bag )
              wait( 500 )
          Endif
       Endif
   Next
endif
   next
     next
UO.Print(" = Вся рыба в квадрате поймана = ")
UO.Sound(100)
return 0
end sub

Sub FishTiles(X,Y)
var j
if UO.PrivateGetTile(X, Y, -1, 6038, 6066) then
for j=6038 to 6066
  if UO.PrivateGetTile(X, Y, -1, j, j) then
   return j
  end if
next
end if
return 0
end sub

Frozen
8 июля 2010 14:19
Сообщение #3
а нельзя, чтобы он не останавливал скрипт, когда докопает круг. Чтобы начал копать заного. Да и если сломается удочка, другую он не берет(
Последние посетители (0):

 
Сейчас: 23 ноября 2024 18:29