Модераторы! В разделе Scripts! есть мой скрипт (вообще-то там море моих скриптов, ну и фиг с ним) на прокачку картографии путем пошива бланк мап (НЕ скроллов!!!)
Довелось мне тут к нему вернуться, так переписал его. Так что новая версия будет ниже, замените ее:
Code: ##################################################################### ; Tailoring. v.1.04b (c) Edred ; ; Два сундука: в одном много кожи и воска, а также лежит много пустых мешков. ; В другой чар будет класть мешки и наполнять их картами (по 200 штук в ; каждый). ; ; (1.04b) - переделываю. Все берется из одного сундука, и мат, и мешки. ; Переходим заодно на AutoMenu, вводим чеклаг и всякие доп проверки. ; sub tailoring() VAR Sunduk1 = '0x4043310C' ; Сериал сундука с пустыми мешками VAR Sunduk2 = '0x40403350' ; Сериал пустого сундука VAR Meshok = '0x0E76' ; Тип мешка VAR Shkur = '0x1067' ; Тип шкур VAR Vosk = '0x1423' ; Тип воска VAR Kit = '0x0F9D' ; Тип инструмента тейлора VAR Map = '0x14EB' ; Тип карты VAR Kolvo = 200 ; Брать шкур и воска VAR MeshSer, j, ShkurSer, k, i VAR Med = '0x09EC' ; Тип меда VAR success = 'You put' VAR fizzle = 'fail' UO.CancelMenu() UO.AutoMenu( "Leather", "Blank's" ) UO.AutoMenu("Blank's", "blank map" ) While TRUE # Перекладываем один мешок в сундук 2 UO.FindType( Meshok, '-1', Sunduk1 ) ; Ищем мешок в сундуке 1 MeshSer = UO.GetSerial( 'finditem' ) UO.MoveItem( MeshSer, '0', Sunduk2 ) wait(500) CheckLag() i = 0 repeat If UO.Count( Shkur ) < 10 Then If GetResource( Shkur, 200 - UO.Count( Shkur ), Sunduk1 ) == 0 Then return Endif Endif If UO.Count( Vosk ) < 10 Then If GetResource( Vosk, 200 - UO.Count( Vosk ), Sunduk1 ) == 0 Then return Endif Endif UO.Print('Ostalos ' + Str( UO.Count( Shkur ) ) + ' shkur' ) DeleteJournal( success ) DeleteJournal( fizzle ) UO.FindType( Shkur ) UO.WaitTargetObject( 'finditem' ) UO.UseType( Kit ) k = 0 repeat k = k + 1 wait(500) until UO.InJournal( success ) OR UO.InJournal( fizzle ) OR ( k > 30 ) If UO.Count( Map ) > 0 Then i = i + 1 UO.FindType( Map ) UO.MoveItem( 'finditem', '0', MeshSer ) wait(500) CheckLag() UO.Print( str(i) + ' maps moved' ) Endif Until i > 199 Wend endsub
##################################################################### Sub GetResource( typ, kolvo, cont ) ; Берем из указанного контейнера указанное количество ресурса по типу ; Возвращаем 0 если ресурс не найден и 1 если все ок. UO.FindType( typ, '-1', cont ) ; Ищем ресурс в контейнере If UO.FindCount() == 0 Then UO.Print("Resource not found, script terminated") return 0 Endif UO.Grab( Str( Kolvo ), 'finditem' ) ; Кладем ресурсы в пак Wait(500) CheckLag() return 1 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
|