Инструкция в коде. Для работоспособности нужен stealth клиент не ниже 3.8.0 версии.
Code: Select all
# -*- coding: utf-8 -*-
## Скрипт для прокачки Carpentry под сервер Forest Wars http://forestwars.ru
## by chernysh aka De Pol'
##
## Описание:
## Скрипт прокачивает Carpentry в процессе делания
## music stand. Нужно 15 логов для данного предмета.
## Сначала делает один предмет, а последующие делает
## через комманду .makelast
##
## Инструкция:
## Ложим под ноги логи (можно несолькими стопками).
## Рядом ставим треш (мусорник), либо сундук.
## В бэкпак ложим тесак (carpentry tool).
## Запускаем.
##
## Лицензия:
## Скрипт распространяется под свободной лицензией GPL2.
## При любых модификациях скрипта вы обязаны указать
## разработчика базового скрипта.
##
## Поддержка:
## Скрипт написан c использованием Python
## Для работы нужен stealth не ниже версии 3.8.0
## Любые замечания и пожелания оставляйте в теме форума
from stealth import *
from datetime import datetime
import time
how_logs = 15 ## Сколько логов нужно брать с пола
type_stand = 0x0EB5 ## Тип сделанного предмета (music stand)
type_logs = 0x1BDD ## Тип логов, которые нужно брать с пола (простые)
trash_id = 0x4004088F ## ID мусорника, чтобы сбрасывать готовый предмет
carpentry_tools = 0x4004A8B1 ## ID или тип тесака :)
first_time = True
def get_logs_ground(count_in_pack):
"""
Функция проверки кол-во логов на полу
с последующим перемещением оных в backpack
"""
if count_in_pack < how_logs:
FindType(type_logs, Ground())
if FindCount() > 0:
need_logs = how_logs - count_in_pack
if FindQuantity() < need_logs:
Grab(FindItem(), FindQuantity())
Wait(1000)
get_logs_ground(count_in_pack)
Grab(FindItem(), need_logs)
Wait(1000)
print 'Взял %s логов с %s' % (need_logs, FindQuantity())
else:
print 'Нету логов на полу'
SetARStatus(False)
Disconnect()
time.sleep(0)
def move_trash():
"""
Функция перемещения сделанного предмета
в мусорник
"""
FindType(type_stand, Backpack())
Wait(100)
while FindCount() > 0:
MoveItem(FindItem(),1,trash_id,0,0,0)
Wait(700)
print 'Вы переместили %s предметов в мусорник' % FindQuantity()
FindType(type_stand, Backpack())
Wait(100)
time.sleep(0)
def make_item():
"""
Функция, которая делает предмет
"""
global first_time
if first_time == True:
CancelMenu()
Wait(100)
WaitMenu('Carpentry', 'Furniture')
Wait(100)
WaitMenu('Furniture', 'music stand')
Wait(100)
if TargetPresent():
CancelTarget()
ctime = datetime.now()
k = 0
UseObject(carpentry_tools)
Wait(100)
while InJournalBetweenTimes('Вы переместили|You fail', ctime, datetime.now()) <> -1 or k > 300:
Wait(100)
k = k + 1
Wait(1000)
first_time = False
time.sleep(0)
else:
UOSay('.makelast')
Wait(10000)
while not Dead():
count_in_pack = Count(type_logs)
get_logs_ground(count_in_pack)
make_item()
Wait(100)
move_trash()
if GetSkillValue('Carpentry') >= 100.00:
SetARStatus(False)
Disconnect()
time.sleep(0)
time.sleep(0)
time.sleep(0)
exit()