Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Stealth 7 Release

nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Stealth 7 Release

Post by nah nah »

Файлик, convert.pyw, бросить в папку стелса, согласившись на замену. Что делает:

Code: Select all

    1)Коннектится к стелсу через Script.dll
    2)Перенаправляет весь вывод в системный журнал стелса
    3)Небольшие дополнения к механизму импорта
        3.1)В пространство имён каждого стороннего модуля (не из стандартной библиотеки)
            вводятся методы из обёртки бойдона
        3.2)В "корневом" модуле __name__ подменивается на "__main__"
Пользоваться просто: нужно открыть в стелсе нужный .py или .pyw скрипт (может и .pyz сработает).
if __name__ == '__main__' работает, а импортировать from stealth import * не нужно
Ссылки для скачивания
ЗЫ Позже доделаю для питона 2.7
80aX
Neophyte
Neophyte
Posts: 34
Joined: 10.12.2016 2:31
Location: Hawaii

Re: Stealth 7 Release

Post by 80aX »

nah nah wrote:Файлик, convert.pyw, бросить в папку...
Что то всё равно не идёт у меня питон на 7.9.0...

7.9.0 лежит в папке Stealth_v.7.9.0 в основной папке с уо, для тестов сделал копию этой папки с другим именем, скопировал с заменой туда файлик, удалил из all.py строчку импорта стелса. Пытаюсь запустить простенький скрипт на тинкер, пишет в системном журнале Что нашёл питон 3.2 и ничего не происходил, даж ошибок никаких нет. Попробовал вообще удалить из скрипта все импорты, hungry, checksave, тоже самое. Хотя на 6.7.0 скрипт отлично отрабатывает. Тестил всё на одном и том же чаре, на ZHR.

Вот скрипт на котором тестил:
Python tinkering.py

Code: Select all

IngotsType = 0x1BF2
ToolsType = 0x1EBC


def CheckQuantity():
    global IngotsType
    FindType(IngotsType, Backpack())
    AddToSystemJournal('Ingots left: {0}'.format(FindFullQuantity()))
    if FindFullQuantity() < 50:
        AddToSystemJournal('No ingots found in backpack')
        Wait(10000)
    return

    
def MakeItem():
    global IngotsType, ToolsType
    WaitMenu('to make', 'Tools')
    WaitMenu('to make', 'Lockpicks')
    WaitTargetObject(FindType(IngotsType, Backpack()))
    UseObject(FindType(ToolsType, Backpack()))
    return

    
def main():
    SetARStatus(True)
    while True:
        Wait(1000)
        for i in range(100):
            CheckQuantity()
            MakeItem()
            Wait(6600)
    return


if __name__ == "__main__":
    main()
UPD: попробовал убрать main и его вызов, оставив тело вот таким:
main

Code: Select all

while True:
    CheckQuantity()
    MakeItem()
    Wait(6600)
даже х3 куда копать.
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Stealth 7 Release

Post by nah nah »

а stealth.py находится в папке со стелсом?
80aX
Neophyte
Neophyte
Posts: 34
Joined: 10.12.2016 2:31
Location: Hawaii

Re: Stealth 7 Release

Post by 80aX »

nah nah wrote:а stealth.py находится в папке со стелсом?
да, там. 7.9.0 качал пару дней с оф сайта(отсюда то есть), ничего не менял в структуре файлов.
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Stealth 7 Release

Post by nah nah »

Тогда надо посмотреть, что пишет питон)

в convert.py закомментировать строки 88 и 89

Code: Select all

sys.stdout = output
sys.stderr = output
Запустить всё вручную из командной строки

Code: Select all

python.exe "полный_путь_до_convert.pyw" "полный_путь_до_любого_скрипта.py"
если в путях есть пробелы, то они обязательно должны быть в кавычках. Еслу ругается на python.exe, то нужно поменять каталог на питоновский

Code: Select all

D:
cd Python\Python33
это если питон лежит в D:\Python\Python33\python.exe
80aX
Neophyte
Neophyte
Posts: 34
Joined: 10.12.2016 2:31
Location: Hawaii

Re: Stealth 7 Release

Post by 80aX »

ругается на модуль какой то...

Image
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Stealth 7 Release

Post by nah nah »

Строка 36 в stealth.py

Code: Select all

# you need to specify the path to your Script.dll
if is64bit():
    stealth_dll = WinDLL("Script_x64.dll")
else:
    stealth_dll = WinDLL("Script.dll")
нужно выставить пути до длл в бойдоновской обёртке
80aX
Neophyte
Neophyte
Posts: 34
Joined: 10.12.2016 2:31
Location: Hawaii

Re: Stealth 7 Release

Post by 80aX »

nah nah wrote: нужно выставить пути до длл в бойдоновской обёртке
Что такое бойдоновская обёртка?) гугл не смог подсказать...

Попробовал вот так, новая ошибка:

Image
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Stealth 7 Release

Post by nah nah »

нужно так

Code: Select all

WinDLL(r'c:\uo_zuluhotel\Stealth_v7.9.0_python\Script.dll')
Поскольку Виз в седьмом стелсе решил все проблемы внутреннего питона (цитата из ченджлога =D), нам теперь предлагается пользоваться дллкой, а чтобы было удобней, Бойдон написал обёртку, использующую функции этой самой длл.
80aX
Neophyte
Neophyte
Posts: 34
Joined: 10.12.2016 2:31
Location: Hawaii

Re: Stealth 7 Release

Post by 80aX »

nah nah wrote:нужно так

Code: Select all

WinDLL(r'c:\uo_zuluhotel\Stealth_v7.9.0_python\Script.dll')
Что то опять ругается и скрипты не запускает :(

Image
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Stealth 7 Release

Post by nah nah »

Ого! питон ниже 3.3?
80aX
Neophyte
Neophyte
Posts: 34
Joined: 10.12.2016 2:31
Location: Hawaii

Re: Stealth 7 Release

Post by 80aX »

nah nah wrote:Ого! питон ниже 3.3?
Так да, я ж писал ранее, 3.2

По рекомендации с оф. сайта ставил :
http://stealth.od.ua/Doc:RU/Manual/Scripting/Python
Стелс для исполнения питон-скриптов использует обыкновенный интерпретатор, который нужно скачать с официального сайта: [[1]]. Работает и 2.7 и 3.2 версии интерпретаторов. Желательно использовать версию 3.2. После установки нужно перезапустить стелс.
Это виртуалка с XP SP3, х3 на неё встанет новый питон вообще... чуть позже попробую, отпишусь как пошло)
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Stealth 7 Release

Post by nah nah »

питоны с версии 3,5 и выше не поддерживаются вин XP, ставь 3,4
80aX
Neophyte
Neophyte
Posts: 34
Joined: 10.12.2016 2:31
Location: Hawaii

Re: Stealth 7 Release

Post by 80aX »

nah nah wrote:питоны с версии 3,5 и выше не поддерживаются вин XP, ставь 3,4
Ура! поставил 3.4.3, отрабатывает хорошо, скрипты запускаются. Спасибо тебе большое) Буду тестить стесл 7.9.0 с твоим файликом.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Stealth 7 Release

Post by Vizit0r »

80aX wrote:автоламбер с этого форума от Edred, вообще не запускается на нём.
Исправил, да и в целом вопроса с SetArrayLength/GetArrayLength больше не возникнет.
В следующем апдейте будет доступно.

80aX wrote:На 7.9.0 чет не очень идёт, пока только пару дней гоняю его, также 24/7, 3 чара, но за это время он успел зависнуть раза 3
Логи ошибок есть?
Зависания повторяемы? Если да - пиши в скайп\асю, посмотрю что там у тебя виснет.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Post Reply