Помогите переделать скрипт чтобы он всегда хайдилса и копал на хайде.
Code: sub minamine() #константы VAR Kirka = '0x0E85' ; Тип кирки VAR MaxVes =390 ; Больше не утащим VAR TileNum = '1339' ; Тайл пещеры #Переменные VAR x, y, t, k, oldx, oldy, wh, togg #Сообщения VAR ms1 = "There is no ore here to mine" VAR ms2 = "You can't use" VAR ms3 = "You put the" VAR ms4 = "You loosen" VAR ms5 = "You have no" VAR ms6 = "Try mining in rock" VAR ms7 = "Хм.." #Поехали! while 1 wait(300) oldx = uo.getx() #Запомним где мы: вдруг в тупике? oldy = uo.gety() UO.Set('quiet','1') #Заканали сообщения... for y=-2 to 2 for x=-2 to 2 k = 0 repeat UO.DeleteJournal() t = UO.Timer() k = k + 1 UO.CancelTarget() wait(300) UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0) UO.UseType( Kirka ) repeat wait(300) until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) If UO.Weight > MaxVes Then ; Фууу.... UO.Print(" Overweight!" ) return Endif until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 7) ) next next UO.Set('quiet','0') #Пошли? uo.print( 'Ходилка задействована.') #Удобно для отладки... wait(300) oldx = uo.getx() #Еще раз на всякий. oldy = uo.gety() if wh == '1' then #Вправо uo.press (33) uo.press (33) uo.press (33) else #Влево uo.press (35) uo.press (35) uo.press (35) endif wait(300) if (uo.getx() == oldx) and (uo.gety() == oldy) then uo.print('Тупик!') if wh == '1' then #Переключить wh и сдвинуца вверх uo.press(36) uo.press(36) uo.press(36) wh = '0' else wh = '1' uo.press(36) uo.press(36) uo.press(36) end if else uo.print('Проходим.') endif wait(300) # иии.... заново! wend endsub
|