Page 1 of 1

атачим птицу бьём режем лутаем перья

Posted: 2006-09-14 11:49:26
by Mr.Denchik
Прошу помощи соединить 2 скрипта

луталка по типу режем и собираем из трупа

Code: Select all

sub Loot4() 
   VAR i,Exit  
   DIM Loot[18] 
    
  
Loot[0]=0x0EED ; gp 
Loot[1]=0x0F7B ; BM 
Loot[2]=0x0F7A ; BP 
Loot[3]=0x0F84 ; GA 
Loot[4]=0x0F85 ; GI 
Loot[5]=0x0F86 ; MR 
Loot[6]=0x0F88 ; NS 
Loot[7]=0x0F8C ; SA 
Loot[8]=0x0F8D ; SS 
Loot[9]=0x13FA ;two handed axe 
Loot[10]=0x1413 ;arm 
Loot[11]=0x1415 ;arm 
Loot[12]=0x1411 ;arm 
Loot[13]=0x1410 ;arm 
Loot[14]=0x1414 ;arm 
Loot[15]=0x0E21 ;ban 
Loot[16]=0x0F78 ;batw 
Loot[17]=0x0F8B ;pumise 

UO.SetReceivingContainer('0x4000C313') ;ID backpacka 
   uo.waittargetobject('lastcorpse') 
   uo.UseType('0x0F51') 
   For i=0 to 17 
      Exit=0 
      repeat 
       UO.FindType(Loot[i],-1,'lastcontainer')            
        if UO.GetQuantity('finditem') then 
         UO.Grab('0','finditem') 
          wait(100) 
          Else 
         Exit=1 
        endif 
      until Exit==1 OR uo.injournal("loot") 
   Next  
UO.UnSetReceivingContainer() 
end sub

и прекрасная атачилка нападалка убивалка

Code: Select all

sub att() 
#*********** 
#(C) Cooper 
#*********** 
VAR monst=0x0006 #Tèï ìîíñòðà 
VAR feathers=0x1bd1
VAR dagger=0x0F51
VAR backpack=0x4000C313
UO.Set('finddistance','3') 
while UO.GetHP('self') < 500 
UO.FindType(monst, '-1', 'ground') 
if UO.FindCount() > 0 then 
UO.DeleteJournal() 
UO.Attack('finditem')
wait (500)
repeat 
wait(700) 
else 
wait(100)
endif 
wend
end sub


помогите соединить эти прекрасные скрипты так чтоб чар с кинжалом в руке сам атачил(что в настройках укажем) бил резал и лутал только (переменная) что в настройках зададим :)

Posted: 2006-09-14 12:32:23
by Nmy

Code: Select all

sub wOOt()
while true
Loot4()
wait(1000)
att()
wend
end sub 
:roll:

Posted: 2006-09-14 13:27:44
by Mr.Denchik
спасибо.
попробовал - не работает.
работает только скрипт атачилка.
а хотелось бы код луталки вставить в код атачилки и без цикла а только 1 тип чтоб лутал.
то есть чтоб вот так работало

repeat
ищем птицу
атачим
бьём
режем труп
лутаем из трупа перья
endrepeat

тогда останется только мышкой бегать от птицы к птице

Posted: 2006-09-14 13:31:05
by Mr.Denchik
возможно придется между

бьём
режем труп

вставить ищем последний труп?

бьём
ищем последний труп
режем труп

то есть типа взять из журнала айди последнего увиденного тела и на него применить кинжал?

Posted: 2006-09-14 13:35:42
by Mr.Denchik
UO.SetReceivingContainer('0x4000C313') ;ID backpacka
uo.waittargetobject('lastcorpse')
uo.UseType('0x0F51')
UO.FindType(0x1bd1,'lastcontainer')
if UO.GetQuantity('finditem') then
UO.Grab('0','finditem')
wait(100)
UO.UnSetReceivingContainer()

вот этот кусочек кода (подозреваю что я неграмотно выдрал и код с ощибками проверьте плиз) всставить бы после убийства птицы

Posted: 2006-09-14 14:40:59
by Mr.Denchik
или вот так ?

Code: Select all

sub att() 
#*********** 
#(C) Cooper 
#*********** 
VAR monst=0x0006 #Tèï ìîíñòðà 
VAR feathers=0x1bd1
VAR dagger=0x0F51
VAR backpack=0x4000C313
var baggg 
var weapon='0x0F51' # òèï àòàêóþùåãî îðóæèÿ 
var i 

 DIM garp[3] 
  
   garp[0]='0x1BD1' 
   garp[1]='0x0eed' 
   garp[2]='0x1BFB' 
   garp[3]='0x1F3F'

UO.Set('finddistance','3') 
while UO.GetHP('self') < 500 
UO.FindType(monst, '-1', 'ground') 
if UO.FindCount() > 0 then 
UO.DeleteJournal() 
UO.Attack('finditem')
for i = 0 to 3
    uo.warmode(0) 
    baggg=uo.getserial('lastcorpse') 
    uo.useobject(baggg) 
    uo.Waittargetobject(baggg) 
    wait(700) 
    uo.usetype(dagger) 
    wait(700) 
    uo.findtype(garp[i],-1,baggg) 
    if uo.findcount()>0 then 
      uo.grab(-1,'finditem') 
      Wait(600) 
    endif 
    uo.ignore('finditem') 
next
  uo.IgnoreReset() 
  uo.usetype(weapon) 
  uo.warmode(1) 
repeat 
wait(700) 
else 
wait(100)
endif 
wend
end sub 
но как то не понятно работает открывает постоянно старый труп и атачит и лутает дноаременно что ли
может я где облажался в коде ? (наверняка облажался помогите плиз)

Posted: 2006-09-14 14:41:30
by Nmy

Code: Select all

sub att()
#NMY#
VAR monst=0x0006 

UO.Set('finddistance','3')
while true
UO.FindType(monst,'-1','ground')
if UO.FindCount() then
UO.DeleteJournal()
UO.Attack('finditem')
repeat
wait(250)
until uo.injournal('body')
Loot()
endif
wait(250)
wend
end sub 

sub Loot()
   VAR n
   DIM Loot[18]

Loot[0]=0x0EED ; gp
Loot[1]=0x0F7B ; BM
Loot[2]=0x0F7A ; BP
Loot[3]=0x0F84 ; GA
Loot[4]=0x0F85 ; GI
Loot[5]=0x0F86 ; MR
Loot[6]=0x0F88 ; NS
Loot[7]=0x0F8C ; SA
Loot[8]=0x0F8D ; SS
Loot[9]=0x13FA ;two handed axe
Loot[10]=0x1413 ;arm
Loot[11]=0x1415 ;arm
Loot[12]=0x1411 ;arm
Loot[13]=0x1410 ;arm
Loot[14]=0x1414 ;arm
Loot[15]=0x0E21 ;ban
Loot[16]=0x0F78 ;batw
Loot[17]=0x0F8B ;pumise

UO.UseObject('lastcorpse')
 CheckLag()
 if (uo.getserial('backpack') <> uo.getserial('lastcontainer')) then
   uo.waittargetobject('lastcorpse')
   uo.UseType('0x0F51')
   wait(200)
   checklag()
   For n=0 to 17
  UO.FindType( Loot[n] , -1 ,'lastcontainer')
 while UO.GetQuantity('finditem') > 0
  UO.Print(' !!! Looting Items: '+str(UO.findcount()))
  uo.moveitem('finditem')
  CheckLag()
  Wait(100)
  UO.FindType( Loot[n] , -1 ,'lastcontainer')
 wend
 Next
Endif 
UO.Print(' !!! -= Done =- !!! ')
end sub

Sub CHECKLAG() 
	del('backpack') 
	uo.click('backpack') 
	repeat 
	wait(200) 
	until uo.injournal('backpack') 
	del('backpack') 
endsub 

Sub DEL(msg) 
	while uo.injournal(msg) 
	uo.setJournalLine(uo.injournal(msg)-1,"Is Empty!") 
	wend 
endsub
нетестил...

Posted: 2006-09-14 14:46:37
by Mr.Denchik
ну оттестить то мы быстро :)

посмотрите пожалуйста второй код перед вашим ответом

Posted: 2006-09-14 14:55:56
by Nmy
Mr.Denchik wrote:ну оттестить то мы быстро :)

посмотрите пожалуйста второй код перед вашим ответом
на чужые скрипты глаза ломать неахота... :shock: :roll: :)

Posted: 2006-09-14 17:02:32
by Scripts Writer
Mr.Denchik wrote:ну оттестить то мы быстро :)

посмотрите пожалуйста второй код перед вашим ответом

Code: Select all

sub att() 
#********** 
#(C) Cooper 
#*********** 
VAR monst=0x0006 #Tèï ìîíñòðà 
VAR feathers=0x1bd1 
VAR dagger=0x0F51 
VAR backpack=0x4000C313 
var baggg 
var weapon='0x0F51' # òèï àòàêóþùåãî îðóæèÿ 
var i 

 DIM garp[4] 
  
   garp[0]='0x1BD1' 
   garp[1]='0x0eed' 
   garp[2]='0x1BFB' 
   garp[3]='0x1F3F' 

  UO.Set('finddistance','3') 
  while UO.GetHP('self') < 500 
    UO.FindType(monst, '-1', 'ground') 
    if UO.FindCount() > 0 then 
      UO.DeleteJournal() 
      UO.Attack('finditem') 
      for i = 0 to 3 
        uo.warmode(0) 
        baggg=uo.getserial('lastcorpse') 
        uo.useobject(baggg) 
        uo.Waittargetobject(baggg) 
        wait(700) 
        uo.usetype(dagger) 
        wait(700) 
        uo.findtype(garp[i],-1,baggg) 
        if uo.findcount()>0 then 
          uo.grab(-1,'finditem') 
          Wait(600) 
        endif 
        uo.ignore('lastcorpse') 
      next 
      uo.IgnoreReset() 
      uo.usetype(weapon) 
      uo.warmode(1) 
      wait(700) 
    else 
      wait(100) 
    endif 
  wend 
end sub 
Вот правильный синтаксис. Что уже у тебя тут наваяно-сам смотри.