помогите со скриптом
Младший Сержант (391765)14 лет
Paladin
Сообщений: 37
Рег. 4.11.2009
28 апреля 2010 18:07
Сообщение #1

нужен скрипт на шитьё сумок,чтобы брал кожу из пака,шил сумку и ложил её обратноже в пак.попробовал зделать чтото подобное но допустил гдето ошибку он открывает таблицу с сумками но не шьёт ничего пишит таргет канцелед.кто разбирается можите объяснить?или киньте кому не жалко свой скрипт буду благодарен

 

вот скрипт

 

var Container='0x40674719';кожа
VAR Sunduk1 = '0x40F67513';сундук с пустыми сумками
VAR Sunduk2 = '0x40F67513';сундук с полными сумками
VAR Meshok = '0x0E76';тип сумки
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()
UO.set('quiet','1')
UO.cancelmenu()
UO.automenu ('Leather','Miscellaneous')
UO.automenu ('Miscellaneous','Bag')
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))
wend
endif
until k>=250
until UO.DEAD()
end sub
####################


Frozen
28 апреля 2010 19:30
Сообщение #2
http://library.bestuo.ru/index.php/Скрипты

Frozen
29 апреля 2010 11:27
Сообщение #3

Чот я как-то сразу сбился...

>UO.FindType( Meshok, -1, Sunduk1 )
нашли в сундуке1 некий мешок...

>MeshSer = UO.GetSerial( 'finditem' )
теперь это определенный, конкретный мешок...

>UO.Grab( '1', 'finditem' )
бумс неконкретный мешок в пак (наверное в пак, потому что
setreceivingcontainer в общем-то неизвестен, т.к. хз, что ты запускал до этого), плюс нафига ты узнавал сериал... ну окей, пока "горячий" в пак упал, наверное, он же.

>wait( 2000 )
акей...

>UO.MoveItem( MeshSer, 0, Sunduk2 )
шварк конкретный мешок  во второй сундук... потерял мысль.

>k=0
>repeat
>if UO.Count( '0x1067' ) < 15 then
>take()


а кто такой тэйк? Чот фигня какая-то

Frozen
8 мая 2010 08:16
Сообщение #4

Тейк это имя процедуры которую он не скинул, как я полагаю там прописано, чтобы он брал откуданить шкуры.

Автору: Проверь меню попробуй через uo.WaitMenu, и поставь задержку WAIT после действий гденить 5000-8000, он у тя тупо неуспевает сшить и ты отменяеш действие.

Если ты копировал с другова сервера то учти тута часть заголовков и сообщений изменена, поэтому могут быть глюки с журналом и меню.

« · Таверна · »
Последние посетители (0):

 
Сейчас: 1 мая 2024 15:11