|
реконектор , когда изпитал у меня поевилос праблема такая што после дисконекта скрипт боукрафтинга заканчиваетса сам , я паставил в autostart() строики
Wait (10000)
bowcraft()
он типо после реконеткта должен заново начать скрипт на бовкрафт не так ли ? так вот скрипт наченаетса заново но всегда он сразу заканчиваетса патамушто типо не может наити логи в сундучке хатье ани там , если я пашевелюс и тогда скрипт запушу тогда он поидот нормально . может инэкт надо както абнавить после реконетка? памагите ктонить я сам не чиво в етом не сображаю и времини тоже много нету .
каму лень ити смотреть скрипт на боукрафт :
##################################################################### ; Bowcraft. v.1.03b (c) Edred ; ; Чар берет из сундука логи, крафтит из них шафты ; и складывает эти шафты в этот же сундук. ; Если логи закончились - выход. ; Если даггер (или что вы там используете) сломался - ; скрипт найдет аналогичный по типу в бэкпаке и возьмет ; в руки. ; ; 1.03b: Проверка, если Kolvo = 1, то берем три и кладем обратно два ; лога. ; sub bowcraft() VAR Sunduk = '0x4000F564' ; Сериал сундука VAR Logi = '0x1BDD' ; Тип логов VAR Shafts = '0x1BD4' ; Тип шафтов VAR Kolvo = 10 ; Брать логов для одного крафта VAR k = 0, j, dagger dagger = UO.ObjAtLayer( 'Rhand' ) UO.SetGlobal( 'instrtype', UO.GetGraphic( dagger ) ) While TRUE UO.FindType( Logi, -1, Sunduk ) ; Ищем логи в сундуке If UO.FindCount() == 0 Then UO.Print("Logs not found, script terminated") return else j = UO.GetQuantity( 'finditem' ) If j > Kolvo Then UO.Print( 'I can use ' + str( j ) + ' logs' ) else UO.Print( "I can't use " + str( j ) + " logs" ) return Endif Endif If Kolvo == 1 Then ; v. 1.03 UO.Grab( '3', 'finditem' ) wait(500) UO.FindType( Logi ) UO.MoveItem( 'finditem', '2', Sunduk ) wait(500) Else UO.Grab( Str( Kolvo ), 'finditem' ) wait(500) Endif ; А это - динамическая пауза на мув while UO.Count( Logi ) < Kolvo wait(100) wend ; проверка на то, что в руках по-прежнему даггер If CheckInstr() == 0 Then UO.Print("You don't have daggers!" ) return Endif UO.DeleteJournal() UO.CancelMenu() UO.WaitMenu ('What do you want to carve', 'shaft' ) UO.WaitTargetType( Logi ) UO.UseObject( dagger ) k = 0 while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 ) k = k + 1 wait(300) wend If UO.Count( Shafts ) > 0 then UO.FindType( Shafts, -1, -1 ) UO.MoveItem( 'finditem', 0, Sunduk ) wait(500) while UO.Count( Shafts ) > 0 wait(100) wend UO.Print( 'Shafts moved' ) Endif Wend end sub
Sub CheckInstr() ; проверим, есть ли в правой руке инструмент того же ; типа, что и в глобальной переменной instrtype ; если нет - найдем в бэкпаке такой инструмент и ; возьмем в правую руку. VAR typ = UO.GetGlobal( 'instrtype' ) VAR cur = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) ) If typ == cur Then return 1 Endif UO.FindType( typ ) If UO.FindCount() == 0 Then return 0 Endif UO.Equip( 'RHand' , 'finditem' ) wait(1000) return 1 endsub
скрипт на реконект :
sub Reconnector() var ReconnectTime, RFlag ReconnectTime = '0' RFlag = 1 Repeat While (UO.ObjAtLayer('Bpack') == '') if RFlag Then ReconnectTime = MakeTime() RFlag = 0 endif Wait(20000) # WorldSave Protection UO.Say('') Wait(3000) UO.Say('') Wait(3000) UO.Say('') Wait(3000) UO.LDblClick(357,164) UO.LClick(616,459) Wait(3000) WEnd Wait(3000) if (RFlag == 0) and (ReconnectTime <> '0') Then ;UO.Exec('terminate all') ;UO.Exec('exec autoload') UO.TextOpen() UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime) RFlag = 1 ReconnectTime = '0' endif Until false end sub
sub MakeTime() VAR D, T, Ret, i Ret = STR(UO.Time()) T = "" For i = 0 To Len(Ret) T = Ret[Len(Ret)-i] + T If (I == 2) OR (I == 4) Then T = ":" + T EndIf Next Ret = STR(UO.Date()) D = "" For i = 0 To Len(Ret) D = Ret[Len(Ret)-i] + D If (I == 2) OR (I == 4) Then D = "." + D EndIf Next Ret = T + " @ " + D RETURN Ret end sub
бутье дабри памагитье
и есть у каво скрипт штоби чар сам кушал от сундычка или проста с бекпака когда голодний ?
|