Yoko

All sides of Injection
It is currently 2026-03-18 21:20:06

All times are UTC+02:00




Post new topic  Reply to topic  [ 11 posts ] 
Author Message
PostPosted: 2008-12-11 14:44:54 
Offline

Joined: 2007-01-31 12:15:24
Posts: 25
Помогите плиз изменить скрипт чтоб полные мешки он не в сундук кидал, а кидал под ноги.
Code:
######################## 
var Container='0x4047125B';кожа
VAR Sunduk1 = '0x4000C3BD';сундук с пустыми сумками
VAR Sunduk2 = '0x4000C32F';сундук с полными сумками
VAR Meshok = '0x0E75';тип сумки
VAR MeshSer, d
VAR k

###################
sub main()
VAR LastTimer
repeat
UO.FindType( Meshok, -1, Sunduk1 )
MeshSer = UO.GetSerial( 'finditem' )
UO.Grab( '1', 'finditem' )
wait( 2000 )
UO.MoveItem( MeshSer, 0, Sunduk2 )
k=0
repeat
if UO.Count( '0x1067' ) < 15 then
take()
endif
UO.DeleteJournal()
Hid()
eat()
    UO.set('quiet','1')
    UO.cancelmenu()
    UO.automenu ('Leather','Miscellaneous')
    UO.automenu ('Miscellaneous','Bag')
CheckLag()
uo.waittargettype(0x1067)
UO.UseType( '0x0F9D' )
LastTimer=UO.Timer()
repeat
wait(300)
until UO.InJournal("Вы положили") or UO.InJournal("Вам не удалось") or UO.InJournal('You put') or UO.InJournal('fail') or UO.InJournal('target') OR UO.Timer()>LastTimer+200
if UO.InJournal("Вы положили") or UO.InJournal('You put') then
while UO.Count( '0x0E76' ) > 0
UO.FindType( '0x0E76', -1, -1 )
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 200 )
k=k+1
uo.print('k='+str(k))
CheckLag()
wend
endif
until k>=250
until UO.DEAD()
end sub
####################
sub take()
DIM reg[1]
var i,n
reg[1]='0x1067';

CheckLag()
while UO.Count(reg[1])<100
UO.FindType(reg[1],-1,Container)
n=UO.Count(reg[1])
UO.Grab(str(100-n),'finditem')
wait(200)
wend

end sub
####################
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(100)
until UO.InJournal('ackpack')
end sub
#######################################
sub eat()
VAR LastTimer
UO.DeleteJournal()
repeat
LastTimer=UO.Timer()
UO.findtype(0x097B,-1,'backpack')
if UO.findcount('finditem') then
uo.print('покушали')
UO.Useobject('finditem')
wait(200)
else
return
end if
Until UO.InJournal("stuffed!") OR UO.InJournal("think") or UO.InJournal("found") or UO.InJournal("Вы ничего не можете") OR UO.Timer()>LastTimer+200
end sub
#########################################
sub Hid()
while not uo.Hidden()
uo.exec('warmode 0')
uo.Print('Hiding...')
uo.UseSkill('Hiding')
wait(4000)
wend
wait(100)
end sub


Top
   
 Post subject:
PostPosted: 2008-12-11 19:29:02 
Offline
User avatar

Joined: 2006-11-06 21:45:23
Posts: 137
Попробвал изменить. Изменения тольк ов этой части скрипта.
Code:
sub main() 
   VAR LastTimer
   repeat
      UO.FindType( Meshok, -1, Sunduk1 )
      MeshSer = UO.GetSerial( 'finditem' )
      UO.Grab( '1', 'finditem' )
      wait( 2000 )
      k=0
      repeat
         if UO.Count( '0x1067' ) < 15 then
            take()
         endif
         UO.DeleteJournal()
         Hid()
         eat()
         UO.set('quiet','1')
         UO.cancelmenu()
         UO.automenu ('Leather','Miscellaneous')
         UO.automenu ('Miscellaneous','Bag')
         CheckLag()
         uo.waittargettype(0x1067)
         UO.UseType( '0x0F9D' )
         LastTimer=UO.Timer()
         repeat
            wait(300)
         until UO.InJournal("Вы положили") or UO.InJournal("Вам не удалось") or UO.InJournal('You put') or UO.InJournal('fail') or UO.InJournal('target') OR UO.Timer()>LastTimer+200
         if UO.InJournal("Вы положили") or UO.InJournal('You put') then
            while UO.Count( '0x0E76' ) > 0
               UO.FindType( '0x0E76', -1, -1 )
               UO.MoveItem( 'finditem', 0, MeshSer )
               wait( 200 )
               k=k+1
               uo.print('k='+str(k))
               CheckLag()
            wend
         endif
      until k>=250
      UO.DropHere(MeshSer) 
   until UO.DEAD()
endsub

Кстати а чем тебе не нравится что полные мкшки складываются в сундук?


Top
   
 Post subject:
PostPosted: 2008-12-11 20:41:18 
Offline

Joined: 2007-01-31 12:15:24
Posts: 25
Просто на middle-earth в сундук влезает 2 мешка полных


Top
   
 Post subject:
PostPosted: 2008-12-11 20:50:44 
Offline

Joined: 2007-01-31 12:15:24
Posts: 25
чет по этой замене не работает просто берет мешок входит в хайд и все


Top
   
 Post subject:
PostPosted: 2008-12-11 21:07:15 
Offline
User avatar

Joined: 2006-11-06 21:45:23
Posts: 137
Klanded wrote:
чет по этой замене не работает просто берет мешок входит в хайд и все

Сори, может я поспешил с ответом. Смысл того что сделал я: персонаж берет мешок, заполняет его, а потом заполненный мешок бросает под ноги. Я не подумал о весе мешка. В принципе можно сделать так: чар бере мешок. бросает его под ноги и заполняет его. Тоесть так:
Code:
sub main() 
   VAR LastTimer
   repeat
      UO.FindType( Meshok, -1, Sunduk1 )
      MeshSer = UO.GetSerial( 'finditem' )
      UO.MoveItem(MeshSer,'0','ground',UO.GetX(),UO.GetY(),UO.GetZ())
      wait( 2000 )
      k=0
      repeat
         if UO.Count( '0x1067' ) < 15 then
            take()
         endif
         UO.DeleteJournal()
         Hid()
         eat()
         UO.set('quiet','1')
         UO.cancelmenu()
         UO.automenu ('Leather','Miscellaneous')
         UO.automenu ('Miscellaneous','Bag')
         CheckLag()
         uo.waittargettype(0x1067)
         UO.UseType( '0x0F9D' )
         LastTimer=UO.Timer()
         repeat
            wait(300)
         until UO.InJournal("Вы положили") or UO.InJournal("Вам не удалось") or UO.InJournal('You put') or UO.InJournal('fail') or UO.InJournal('target') OR UO.Timer()>LastTimer+200
         if UO.InJournal("Вы положили") or UO.InJournal('You put') then
            while UO.Count( '0x0E76' ) > 0
               UO.FindType( '0x0E76', -1, -1 )
               UO.MoveItem( 'finditem', 0, MeshSer )
               wait( 200 )
               k=k+1
               uo.print('k='+str(k))
               CheckLag()
            wend
         endif
      until k>=250
   until UO.DEAD()
endsub


Top
   
 Post subject:
PostPosted: 2008-12-11 22:14:08 
Offline

Joined: 2007-01-31 12:15:24
Posts: 25
он не берет пак и не складывает не куда


Top
   
 Post subject:
PostPosted: 2008-12-12 02:44:46 
Offline
User avatar

Joined: 2006-11-06 21:45:23
Posts: 137
Klanded wrote:
он не берет пак и не складывает не куда

Странно, я проверил работает, правда твое меню крафта не соответствует моему (пришлось сделать под себя, свое проверь тоже).
Берет рюкзак из контейнера, берет кожу, прячется и начинает шить мешки. и так по кругу.
Еще перед запуском скрипта следует открыть сундуки с ресурсами.


Top
   
 Post subject:
PostPosted: 2008-12-12 09:04:34 
Offline

Joined: 2007-01-31 12:15:24
Posts: 25
Спасиб большое попробую с открытими а тоя пробовал с закрытыми


Top
   
 Post subject:
PostPosted: 2008-12-12 11:29:19 
Offline

Joined: 2007-01-31 12:15:24
Posts: 25
Чет он берет сумку и не чего не делает.
Вот выкладываю мож подскажеш что да как.
Code:
######################## 
var Container='0x7395FCFD';????
VAR Sunduk1 = '0x7395FCFD';?????? ? ??????? ???????
VAR Sunduk2 = '0x4000C32F';?????? ? ??????? ???????
VAR Meshok = '0x0E75';??? ?????
VAR MeshSer, d
VAR k

###################
sub main()
   VAR LastTimer
   repeat
      UO.FindType( Meshok, -1, Sunduk1 )
      MeshSer = UO.GetSerial( 'finditem' )
      UO.MoveItem(MeshSer,'0','ground',UO.GetX(),UO.GetY(),UO.GetZ())
      wait( 2000 )
      k=0
      repeat
While UO.Count(0x1078)> 2
UO.Exec("waitmenu 'Choose' 'leather' 'What' 'Leather Cap'")
Wait(400)
 UO.Exec("waittargettype 0x1078")
Wait(400)
# sewing kit
UO.Exec("usetype 0x0f9d")
Wait(4000)
UO.Exec("cancelmenu")
# ?????? ????? ?? ??? ?????? :)
 wend
repeat
wait(300)
until UO.InJournal("?? ????????") or UO.InJournal("??? ?? ???????") or UO.InJournal('You put') or UO.InJournal('fail') or UO.InJournal('target') OR UO.Timer()>LastTimer+200
if UO.InJournal("?? ????????") or UO.InJournal('You put') then
while UO.Count( '0x1078' ) > 0
UO.FindType( '0x1078', -1, -1 )
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 200 )
k=k+1
uo.print('k='+str(k))
CheckLag()
wend
endif
until k>=4
until UO.DEAD()
end sub
####################
sub take()
DIM reg[1]
var i,n
reg[1]='0x1078';

CheckLag()
while UO.Count(reg[1])<100
UO.FindType(reg[1],-1,Container)
n=UO.Count(reg[1])
UO.Grab(str(100-n),'finditem')
wait(200)
wend

end sub
####################
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(100)
until UO.InJournal('ackpack')
end sub
#######################################
sub eat()
VAR LastTimer
UO.DeleteJournal()
repeat
LastTimer=UO.Timer()
UO.findtype(0x097B,-1,'backpack')
if UO.findcount('finditem') then
uo.print('????????')
UO.Useobject('finditem')
wait(200)
else
return
end if
Until UO.InJournal("stuffed!") OR UO.InJournal("think") or UO.InJournal("found") or UO.InJournal("?? ?????? ?? ??????") OR UO.Timer()>LastTimer+200
end sub
[/code]


Top
   
 Post subject:
PostPosted: 2008-12-12 13:38:11 
Offline
User avatar

Joined: 2006-11-06 21:45:23
Posts: 137
Если не шьет, то, по всей видимости, все дело в WaitMenu или AutoMenu. Составь правильные последовательности параметров prompt и choice.
Что такое prompt: http://yoko.netroof.net/help/help.php?l ... tem=prompt
Что такое choice: http://yoko.netroof.net/help/help.php?l ... tem=choice


Top
   
 Post subject:
PostPosted: 2008-12-18 01:27:48 
Offline
User avatar

Joined: 2007-06-20 15:38:11
Posts: 53
всё гораздо проще....
Code:
########################
var Container='0x4047125B';кожа
VAR Sunduk1 = '0x4000C3BD';сундук с пустыми сумками
VAR Sunduk2 = 'ground';сундук с полными сумками
VAR Meshok = '0x0E75';тип сумки
VAR MeshSer, d
VAR k

###################
sub main()
VAR LastTimer
repeat
UO.FindType( Meshok, -1, Sunduk1 )
MeshSer = UO.GetSerial( 'finditem' )
UO.Grab( '1', 'finditem' )
wait( 2000 )
UO.MoveItem( MeshSer, 0, Sunduk2 )
k=0
repeat
if UO.Count( '0x1067' ) < 15 then
take()
endif
UO.DeleteJournal()
Hid()
eat()
    UO.set('quiet','1')
    UO.cancelmenu()
    UO.automenu ('Leather','Miscellaneous')
    UO.automenu ('Miscellaneous','Bag')
CheckLag()
uo.waittargettype(0x1067)
UO.UseType( '0x0F9D' )
LastTimer=UO.Timer()
repeat
wait(300)
until UO.InJournal("Вы положили") or UO.InJournal("Вам не удалось") or UO.InJournal('You put') or UO.InJournal('fail') or UO.InJournal('target') OR UO.Timer()>LastTimer+200
if UO.InJournal("Вы положили") or UO.InJournal('You put') then
while UO.Count( '0x0E76' ) > 0
UO.FindType( '0x0E76', -1, -1 )
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 200 )
k=k+1
uo.print('k='+str(k))
CheckLag()
wend
endif
until k>=250
until UO.DEAD()
end sub
####################
sub take()
DIM reg[1]
var i,n
reg[1]='0x1067';

CheckLag()
while UO.Count(reg[1])<100
UO.FindType(reg[1],-1,Container)
n=UO.Count(reg[1])
UO.Grab(str(100-n),'finditem')
wait(200)
wend

end sub
####################
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(100)
until UO.InJournal('ackpack')
end sub
#######################################
sub eat()
VAR LastTimer
UO.DeleteJournal()
repeat
LastTimer=UO.Timer()
UO.findtype(0x097B,-1,'backpack')
if UO.findcount('finditem') then
uo.print('покушали')
UO.Useobject('finditem')
wait(200)
else
return
end if
Until UO.InJournal("stuffed!") OR UO.InJournal("think") or UO.InJournal("found") or UO.InJournal("Вы ничего не можете") OR UO.Timer()>LastTimer+200
end sub
#########################################
sub Hid()
while not uo.Hidden()
uo.exec('warmode 0')
uo.Print('Hiding...')
uo.UseSkill('Hiding')
wait(4000)
wend
wait(100)
end sub


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 11 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited