nepret 0 Жалоба Опубликовано 19 марта, 2021 stealth version 8.11.4 Фишинг с берега. Новый! Как запустить: читать тут Что делает: ловит рыбу удочкой ничего не скидываем (карты, соски, обувь остаётся в паке) жрёт авто реконект (советую не включать встроенный столсовский реконектор, так как он имеет неприятную особенность зависать при длительных падениях сервака, да и на скрипты это влияет так себе...) Инструкция по применению: кидаем чару в пак удочки и еду(если надо, меняем на свой тип) FOOD = 0x097B # Type еды, сейчас фишстейки ставим возле берега запускаем скрипт следим за появлением капчи и появлением красно\серых упырей from datetime import datetime, timedelta from py_stealth import * """ в бекпак еду, удочки встаём возле берега и запускаем скрипт """ POLE = 0x0DBF RANGE = 6 FOOD = 0x097B # Type еды, сейчас фишстейки def msg(Message): print(Message) ClientPrintEx(0, 60, 2, Message) def DCC(message, TimeWait=15000): if Dead() or not Connected() or not CheckLag(TimeWait): print(f"{message}: You dead, or something else!") return False return True def CheckConnect(WaitTime=15000): if Connected() and Hidden(): for i in range(0, 10): if Hidden(): UOSay(' ') Wait(500) else: break if Connected() and not Hidden() 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() for i in range(0, 10): if Hidden(): UOSay(' ') Wait(500) else: break CheckLag(5000) if Connected() and not Hidden() and not CheckLag(8000): Disconnect() print('CheckConnect.py : Server connection restored.') return False return True def CheckSave(): Time = datetime.now() - timedelta(0, 30) if InJournalBetweenTimes('Saving World State', Time, datetime.now()) >= 0: Wait(30000) def OpenPack(Container=Backpack()): while LastContainer() != Container: if DCC(OpenPack): break CheckSave() UseObject(Container) end = 0 while end >= 5: if LastContainer() == Backpack(): break Wait(1000) end += 1 def Hungry(food=0x097B, place=Backpack()): # food default "fish steaks", search in you backpack while True: if Dead() or not Connected() or not CheckLag(): print("Hungry: You dead, or not connected or hard lags!") return False if f := FindType(food, place): ct = datetime.now() UseObject(f) Wait(1000) if WaitJournalLine(ct, 'Я объелся', 700): return True else: print("Hungry: not found food!") return False def CheckPole(): if not CheckConnect() or Dead(): return False CheckSave() if LastContainer() != Backpack(): OpenPack() if GetType(ObjAtLayer(RhandLayer())): Disarm() if GetType(ObjAtLayer(LhandLayer())) == POLE: return ObjAtLayer(LhandLayer()) if FindType(POLE, Backpack()): return FindItem() else: print('ERROR: у меня нет инструмента') return False def CheckTile(x, y): tile = [0, 6038, 6039, 6040, 6041, 6042, 6043, 13422, 13423, 13424, 13425, 13426, 13427, 13428, 13429, 13430, 13431, 13432, 13433, 13434, 13435, 13436, 13437, 13438, 13439, 13440, 13441, 13442, 13443, 13444, 13456, 13457, 13458, 13459, 13460, 13461, 13462, 13463, 13464, 13465, 13466, 13467, 13468, 13469, 13470, 13471, 13472, 13473, 13474, 13475, 13476, 13477, 13478, 13479, 13480, 13481, 13482, 13493, 13494, 13495, 13496, 13497, 13498, 13499, 13500, 13501, 13502, 13503, 13504, 13505, 13506, 13507, 13508, 13509, 13510, 13511, 13512, 13513, 13514, 13515, 13516, 13517, 13518, 13519, 13520, 13521, 13522, 13523, 13524, 168, 169, 170, 310, 16368, 16369, 16370, 168, 169, 170, 171, 310, 311] r = ReadStaticsXY(x, y, WorldNum()) for i in tile: if len(r) <= 0: return False if r[len(r) - 1].get('Tile') == i: return r[len(r)-1] return False def CheckCaptcha(pole): while IsGump(): g = GetGumpInfo(GetGumpsCount() - 1) if g.get('Text')[0][0].find("капча"): msg(">>>>>>>> Нужно ввести капчу!\n" "если клиент был закрыт и при заходе клиентом капчи нет, просто юзани удочку...") while IsGump(): Wait(1000) msg(">>>>>>>> отлично продолжаем...") if not TargetPresent(): UseObject(pole) Wait(1000) def Fishing(x, y, z, tile): while True: CheckConnect() if Dead(): msg('Чар мёртв') return False if pole := CheckPole(): Hungry() if TargetPresent(): CancelTarget() ct = datetime.now() while not TargetPresent(): CheckSave() CheckLag() UseObject(pole) CheckCaptcha(pole) WaitForTarget(2500) if WaitForTarget(2500): WaitTargetTile(tile, x, y, z) if WaitJournalLineSystem(ct, "Fishing шанс на успех|There doesn't", 15000): if InJournalBetweenTimes("There doesn't", ct, datetime.now()) != -1: return True else: return False def main(): while True: CheckConnect() if Dead(): msg('Чар мёртв') return ct = 0 for x in range(GetX(Self())-RANGE, GetX(Self())+RANGE): for y in range(GetY(Self())-RANGE, GetY(Self())+RANGE): if CheckTile(x, y): ct += 1 if ct <= 0: msg(f'ERROR: Не вижи тайлов для ловли в радиусе: {RANGE}') return for x in range(GetX(Self())-RANGE, GetX(Self())+RANGE): for y in range(GetY(Self())-RANGE, GetY(Self())+RANGE): if coord := CheckTile(x, y): if not Fishing(coord.get('X'), coord.get('Y'), coord.get('Z'), coord.get('Tile')): return False if __name__ == '__main__': main() if Connected(): Disconnect() msg('END SCRIPT!') Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты