Перейти к содержанию
Форум шарда Middle-Earth
Авторизация  
nepret

[Stealth] Meditation(свежий)

Рекомендуемые сообщения

stealth version 8.12.7

Прокачка Meditation с dragon шмотками. Новый!

Как запустить:  читать тут

Что делает:

  • снимает-одевает dragon шмот (кнут в том числе)
  • медитирует
  • жрёт фиш стейки (можно поменять)
  • реконектит

Инструкция по применению:

  • кидаем в пак еду
FOOD = 0x097B  # Type еды, сейчас фишстейки
  • одеваем в dragon вещи + кнут(если есть)
  • запускаем скрипт
from py_stealth import *
from datetime import datetime, timedelta
"""
Устанавливаем настройки ниже, одеваем чара в драгон, запускаем скрипт
"""
SKILL = 100  # Предел прокачки скила
FOOD = 0x097B  # Type еды, сейчас фишстейки
DELAY = 150  # Задерка после снятия\одевания вещи (в мс)


# include start
def msg(Message):
    print(Message)
    ClientPrintEx(0, 60, 2, Message)


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=None):
    """
    :param Container: if "None": Backpack self, or set ID Container
    :return: if open True, else not False
    """
    if Container is None:
        Container = Backpack()
    while LastContainer() != Container:
        if not Connected() or Dead():
            msg("#ERROR: {OpenPack} not connected or you dead")
            return False
        CheckSave()
        UseObject(Container)
        for i in range(5):
            if LastContainer() == Container:
                break
            Wait(1000)
    return True


class Hungry:
    def __init__(self, food=0x097B, place=None, timer=10):
        """
        food: сейчас фишстейки или указать тип еды
        place: место поиска еды
        timer: через сколько докармливать чара
        """
        if place is None:
            self._place = Backpack()
        else:
            self._place = place
        self._food = food
        self._nextTime = datetime.now()
        self._timer = timer

    def Hungry(self):
        if datetime.now() >= self._nextTime:
            OpenPack()
            while f := FindType(self._food, self._place):
                CheckConnect()
                CheckSave()
                td = datetime.now()
                UseObject(f)
                if WaitJournalLineSystem(td, "Я объелся|You are full, and can't eat nothing more.", 750):
                    self._nextTime = datetime.now() + timedelta(minutes=self._timer)
                    break
            else:
                msg("Warning: Food not found!")


# include finish

class Layer:
    def __init__(self):
        self._layer = [1, 5, 23, 4, 19, 10, 6, 7, 13, 3]
        self.__CheckEquip()

    @property
    def Equip(self):
        return len(self._layer)

    def __CheckEquip(self):
        CheckConnect()
        for i in self._layer.copy():
            if f := ObjAtLayer(i):
                if "Dragon" not in GetTooltip(f):
                    self._layer.remove(i)
            else:
                self._layer.remove(i)
        if len(self._layer):
            SetDress()
        else:
            msg("На чаре нет одежды...")


def CheckSkill():
    CheckConnect()
    if GetSkillValue("Meditation") >= SKILL:
        msg(f"Стоп-отметка! Скилл 'Meditation' прокачен до: {SKILL}")
        return True
    return False


def Meditation():
    while Mana() < MaxMana():
        CheckConnect()
        CheckSave()
        ct = datetime.now()
        UseSkill("Meditation")
        if WaitJournalLineSystem(ct, "You begin to meditate|Вы уже медитируете|You are already meditating", 5000):
            WaitJournalLineSystem(ct, "You are unable to concentrate.|You stop meditating", 30000)


def Main():
    while not Dead() and not CheckSkill():
        h.Hungry()
        Meditation()
        if not Undress():
            Disconnect()
        CheckConnect()
        CheckSave()
        EquipDressSet()


if __name__ == '__main__':
    SetARStatus(False)
    SetPauseScriptOnDisconnectStatus(False)
    SetDressSpeed(DELAY)
    SKILL_VALUE = 100
    h = Hungry(food=FOOD)
    l = Layer()
    if l.Equip:
        Main()
    msg("End script.")
    Disconnect()

 

 

Meditation.py

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Авторизация  

×
×
  • Создать...