Discussion:______________
http://yoko.netroof.net/forum/viewtopic.php?t=1438
Author or poster:_________
Edred,
tercia@spb.lanck.net
Tested on:_______________
Цитадель
http://ultima.e-burg.ru
Must work:_______________
Sphere emu
Customization required:____
Yes/place (serials Sunduk; also check object types)
Description:______________
Скрипт для прокачки картографии (работает по результатам работы моего скрипта на тейлор с пошивом карт
http://yoko.netroof.net/forum/viewtopic.php?t=1439 ).
Ищем в сундуке мешок с картами, берем по очереди из него карты, качаем на них картографию (с повторами в случае физлов), потом скидываем карты в трэш. Если мешки с картами кончились - выход.
ЗЫ: Обратите внимание - скрипт не двигает сами мешки, он только опорожняет их...
Настройка: внесите в соответствующие переменные сериал сундука, проверьте необходимые типы.
Yoko comment:___________
none
________________________
Code:
#####################################################################
; Cartography. v.1.00b (c) Edred
;
; Ищем в сундуке 1 мешок с картами, берем по очереди из него карты,
; качаем на них картографию (с повторами в случае физлов), потом скидываем
; карты в трэш. Если мешки с картами кончились - выход.
sub cartograph()
VAR Sunduk1 = '0x4047F4CD' ; Сериал сундука с мешками с картами
VAR Trash = '0x4001F99D' ; Сериал мусорного ведра
VAR Meshok = '0x0E76' ; Тип мешка
VAR Map = '0x14EB' ; Тип карты
VAR Fizzle = 'Thy trembling hand results'
VAR Success = 'You put the map in your pack'
VAR MeshSer, j, k, MapSer, flag
UO.CancelMenu()
UO.IgnoreReset()
UO.AutoMenu( 'What sort of map', 'Regional Map' )
UO.FindType( Meshok, -1, Sunduk1 )
While UO.FindCount() > 0
MeshSer = UO.GetSerial( 'finditem' )
UO.UseObject( MeshSer )
wait(500)
CheckLag()
UO.FindType( Map, -1, MeshSer )
While UO.FindCount() > 0
MapSer = UO.GetSerial( 'finditem' )
UO.Grab( '1', 'finditem' )
repeat
wait(100)
until UO.Count( Map ) == 1
flag = 0
While flag == 0
DeleteJournal( Fizzle )
DeleteJournal( Success )
UO.UseObject( MapSer )
k = 0
repeat
k = k + 1
wait(100)
until UO.InJournal( Fizzle ) OR UO.InJournal( Success ) OR k > 600
If UO.InJournal( Success ) OR k > 600 Then
flag = 1
Endif
Wend
UO.FindType( Map )
While UO.FindCount() > 0
UO.MoveItem( 'finditem', 0, Trash )
wait(1000)
CheckLag()
UO.FindType( Map )
Wend
UO.FindType( Map, -1, MeshSer )
Wend
UO.Ignore( MeshSer )
UO.FindType( Meshok, -1, Sunduk1 )
Wend
UO.IgnoreReset()
UO.CancelMenu()
endsub
Sub CheckLag()
DeleteJournal( 'backpack' )
UO.Click( 'backpack' )
repeat
wait(100)
until UO.InJournal( 'backpack' )
return
end sub
Sub DeleteJournal( string1 )
VAR nom = UO.InJournal( string1 )
If nom > 0 Then
UO.SetJournalLine( Nom - 1, 'string replaced' )
DeleteJournal( string1 )
Endif
endsub