Yoko
http://forum.yoko.com.ua/

Помогите плиз со скриптом
http://forum.yoko.com.ua/viewtopic.php?f=20&t=14180
Page 1 of 1

Author:  Klanded [ 2008-12-11 14:44:54 ]
Post subject:  Помогите плиз со скриптом

Помогите плиз изменить скрипт чтоб полные мешки он не в сундук кидал, а кидал под ноги.
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

Author:  GAUHAR [ 2008-12-11 19:29:02 ]
Post subject: 

Попробвал изменить. Изменения тольк ов этой части скрипта.
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

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

Author:  Klanded [ 2008-12-11 20:41:18 ]
Post subject: 

Просто на middle-earth в сундук влезает 2 мешка полных

Author:  Klanded [ 2008-12-11 20:50:44 ]
Post subject: 

чет по этой замене не работает просто берет мешок входит в хайд и все

Author:  GAUHAR [ 2008-12-11 21:07:15 ]
Post subject: 

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

Author:  Klanded [ 2008-12-11 22:14:08 ]
Post subject: 

он не берет пак и не складывает не куда

Author:  GAUHAR [ 2008-12-12 02:44:46 ]
Post subject: 

Klanded wrote:
он не берет пак и не складывает не куда

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

Author:  Klanded [ 2008-12-12 09:04:34 ]
Post subject: 

Спасиб большое попробую с открытими а тоя пробовал с закрытыми

Author:  Klanded [ 2008-12-12 11:29:19 ]
Post subject: 

Чет он берет сумку и не чего не делает.
Вот выкладываю мож подскажеш что да как.
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]

Author:  GAUHAR [ 2008-12-12 13:38:11 ]
Post subject: 

Если не шьет, то, по всей видимости, все дело в 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

Author:  CoS [ 2008-12-18 01:27:48 ]
Post subject: 

всё гораздо проще....
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

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/