nepret 0 Жалоба Опубликовано 15 марта, 2021 stealts v. 8.11.4 Как запустить: читать тут Собственно сабж Чар берёт из банка нужное кол-во логов для 1 крафта - крафтит вещь, если не получилось, добирает логов, если получилось скидывает удочку\ки в банк сам жрёт, сам реконектится Никаких счётчиков на кол-во скрафченных вещей нет! Будет пилить эти палки пока есть из чего! Оставить чара в Ньюби Городе, в пак ему кинуть щипцы тинкертулса, в банк закинуть жареной рыбки если хотите что бы чар с начало кидал удочки в контейнер в банке, указать ID контейнера в: CONTAINER = 0x69F8D06A # указать ID контейнера в банке иначе будет кидать в банк После того как контейнер заполнится, будет складывать всё в банк под завязку, ну или пока не кончатся логи. Логи должны быть ПРОСТЫЕ! from py_stealth import * from datetime import datetime as dt from datetime import timedelta CONTAINER = 0x69F8D06A # указать ID контейнера в банке иначе будет кидать в банк def CheckSave(): Time = dt.now() - timedelta(0, 30) if InJournalBetweenTimes('Saving World State', Time, dt.now()) >= 0: Wait(30000) return False return True def Hungry(food=0x097B, place=Backpack()): # food default "fish steaks", search in you backpack while True: if Dead() or not Connected() or not CheckLag(15000): print("Hungry: You dead, or not connected or hard lags!") return False FindType(food, place) if FindCount() <= 0: print("Hungry: not food!") return ct = dt.now() UseObject(FindItem()) Wait(1000) if InJournalBetweenTimes('Я объелся', ct, dt.now()) != -1: return True def OpenPack(Container=Backpack()): while LastContainer() != Container: if Dead() or not Connected() or not CheckLag(): print("OpenPack: You dead, or something else!") break CheckSave() UseObject(Container) end = 0 while end >= 5: if LastContainer() == Backpack(): break Wait(1000) end += 1 def msg(Message): print(Message) ClientPrintEx(0, 60, 2, Message) def CheckConnect(WaitTime=15000): for i in range(0, 10): if Hidden(): UOSay(' ') Wait(500) else: break if Connected() and not CheckLag(WaitTime): Disconnect() Wait(5000) if not Connected(): print('CheckConnect.py : Not connected to server!') print('CheckConnect.py : Reconnected...') while not Connected(): Connect() CheckLag(5000) if Connected() and not CheckLag(8000): Disconnect() print('CheckConnect.py : Server connection restored.') return False return True def GetTool(): if f := FindType(0x1EBC, Backpack()): return f else: msg("ERROR: в бекпаке нет tinker's tools") return False def GetWood(): FindTypeEx(0x1BDD, 0xffff, Backpack(), False) if FindQuantity() >= 5: return True count = abs(5 - FindQuantity()) if count == 0: return True FindTypeEx(0x1BDD, 0xffff, ObjAtLayer(BankLayer()), False) if FindQuantity() >= count: MoveItem(FindItem(), count, Backpack(), 0, 0, 0) return True return False def CraftPole(tool): AutoMenu("Select", "Tools") AutoMenu("Select", "Pole") cTime = dt.now() if TargetPresent(): CancelTarget() UseObject(tool) if WaitForTarget(5000): if f := FindType(0x1BDD, Backpack()): WaitTargetObject(f) msg1 = "You don't have enough material to make this!" msg2 = "You destroy some material." msg3 = "You create" if WaitJournalLine(cTime, f"{msg1}|{msg2}|{msg3}", 15000): if InJournalBetweenTimes(msg3, cTime, dt.now()) != -1: return True Wait(100) return False def MovePoleInBank(): if GetType(CONTAINER) > 0: cont = CONTAINER else: cont = ObjAtLayer(BankLayer()) while f := FindType(0x0DBF, Backpack()): bTime = dt.now() MoveItem(f, 1, cont, 0, 0, 0) Wait(100) if InJournalBetweenTimes("full", bTime, dt.now()) != -1: if cont == ObjAtLayer(BankLayer()): msg("Все контейнеры заполнены!") return False cont = ObjAtLayer(BankLayer()) return True def main(): while True: if not CheckConnect(): OpenPack() if Dead(): msg('ERROR: Я мёртв') return False if Dist(GetX(Self()), GetY(Self()), 3031, 3370) < 1: if not newMoveXY(3031, 3370, 0, 1, True): msg('ERROR: не могу дойти до банка') return False t = 0 while LastContainer() != ObjAtLayer(BankLayer()): if t > 4: msg('ERROR: Не могу открыть банк') return False t += 1 UOSay('bank') Wait(5000) Hungry(place=ObjAtLayer(BankLayer())) tool = GetTool() if not GetWood(): return False if CraftPole(tool): if not MovePoleInBank(): return False if __name__ == '__main__': main() SetARStatus(False) Disconnect() msg('END SCRIPT') Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты