Сайт Антареса Сайт Антареса Форум Антарес
> >

Здравствуйте, гость ( Вход | Регистрация )


> > Производственные заказы., Сборка скриптов. >
Alucard
сообщение 16.4.2010, 16:07
Сообщение #1


ДМ НТ
Group Icon

Группа: Пользователи
Сообщений: 4 801
Регистрация: 13.7.2006
Из: г. Иваново
Пользователь №: 3 276
Спасибо сказали: 351 раз(а)
Класс: Человек



Возможны модификации. На данный момент рабочие скрипты.
2 сундука на территории дома или в банке (в банке хуже - туда влезает только 10К итемов). В одном сумки сырье еда и инструменты в другом заполненные мешки.
ПЕРЕД ЗАПУСКОМ ОТКРЫТЬ СУНДУКИ!!!
Скрипт останавливается если чара расхайдили несколько раз подряд, если не достает каких либо ингредиентов (даже рыбы) или если не достать до контейнеров.

Код

VAR Container    = '0x40B5267F';айрон, рыба, инструменты, может быть равен Sunduk 1
VAR Sunduk1    = '0x40B5267F';пустые мешки
VAR Sunduk2    = '0x40B52599';полные
VAR Instrum    = '0x1EBC';набор жестянщика
VAR hammer    = '0x13E3'    ;кузнечный молоток
VAR saw        = '0x1034'    ;пила
VAR Ing        = '0x1BEF'        
VAR log        = '0x1BDD'    
VAR key        = '0x1010'        
VAR Lock    = '0x14FB'        
VAR Bottle    = '0x0F0E'        
VAR Dagger    = '0x0F51'        
VAR club    = '0x13B3'        
VAR Bow        = '0x13B1'        #лук#
VAR spool    = '0x0FA0'            #нитки#
VAR Сap        = '0x171C'        #колпак#
VAR cloth    = '0x175D'            #ткань#
VAR Skit    = '0x0F9D'            #швейный набор#
VAR Deed     = '0x14EF'
VAR Meshok     = '0x0E76';тип мешка
var havka    = '0x097B'
VAR MeshSer, d, LastTimer, timemove, itemM
var quantity = 150; количество предметов в 1 мешке
var msg ='You put|положили|fail|не удалось|You broke|сломали'
var printcolour = '1069'
VAR HIDE = 1; если 1 прячемся, если 0 нет.
###################
sub TinkKey()
    var menu = "waitmenu 'Tinkering' 'Keys' 'Keys' 'Iron key'"
    var item = key
    UO.CancelMenu()
    WHILE NOT UO.Dead()
        UO.FindType( Meshok, '-1', Sunduk1 )
        MeshSer = UO.GetSerial( 'finditem' )
        UO.MoveItem( MeshSer, 0, Sunduk2 )
        checklag()
        uo.useobject( MeshSer )
        eat()
        REPEAT
            GET(ing, Container, 20, 100)
            GET(Instrum, Container, 2, 2)
            Repeat
                Hide()
                UO.DeleteJournal()
                LastTimer=UO.Timer()
                UO.exec( menu )
                UO.Usetype( Instrum )
                repeat
                    wait( 300 )
                until UO.InJournal( msg ) or UO.Timer()>LastTimer+150
            Until UO.Count( item ) > 0
            checklag()
            PUT( item, MeshSer )
            UO.FindType( item, -1, MeshSer )
            uo.charprint(printcolour,'Ключей в мешке: '+Str( UO.FindCount()))
        UNTIL UO.FindCount()>=quantity
        uo.charprint(printcolour,'Берем другую сумку')
        wait( 300 )
    wend
end sub
###################
sub TinkerLockpicks()
    var menu = "waitmenu 'Tinkering' 'Tools' 'Tools' 'lockpick'"
    var item = Lock
    UO.CancelMenu()
    WHILE NOT UO.Dead()
        GET(ing, Container, 1, 100)
        GET(log, Container, 1, 100)
        GET(Instrum, Container, 2, 2)
        if HIDE then
            Hide()
        endif
        UO.DeleteJournal()
        LastTimer=UO.Timer()
        Repeat
            UO.DeleteJournal()
            LastTimer=UO.Timer()
            UO.exec( menu )
            UO.Usetype( Instrum )
            repeat
                wait( 100 )
            until UO.InJournal( msg ) or UO.Timer()>LastTimer+150
        Until UO.Count( item ) > 0
        checklag()
        PUT(item, Container)
        UO.FindType( item, -1, Container)
        uo.charprint(printcolour,'Отмычек в банке: '+Str(UO.GetQuantity('finditem')))
    WEND
end sub
###################
sub TinkerBottle()
    var menu = "waitmenu 'Tinkering' 'Tools' 'Tools' 'Empty bottle'"
    var item = Bottle
    WHILE NOT UO.Dead()
        GET(ing, Container, 10, 100)
        GET(Instrum, Container, 2, 2)
        if HIDE then
            Hide()
        endif
        UO.DeleteJournal()
        LastTimer=UO.Timer()
        Repeat
            UO.DeleteJournal()
            LastTimer=UO.Timer()
            UO.exec( menu )
            UO.Usetype( Instrum )
            repeat
                wait( 100 )
            until UO.InJournal( msg ) or UO.Timer()>LastTimer+150
        Until UO.Count( item ) > 0
        checklag()
        PUT(item, Container)
        UO.FindType( item, -1, Container)
        uo.charprint(printcolour,'Банок в банке: '+Str(UO.GetQuantity('finditem')))
    WEND
end sub
###################
sub BSDagger()
    var item = Dagger
    UO.Set('quiet','1')
    UO.CancelMenu()
################## со скилла 30.0 до 45.5
;    UO.AutoMenu('Blacksmithing','Weapons')
;    UO.AutoMenu('Fencing','Dagger')
################## со скилла 45.5 до 110.0
    UO.AutoMenu('Blacksmithing','Weapons')
    UO.AutoMenu('Weapons','Fencing')
    UO.AutoMenu('Fencing','Dagger')
##################
    UO.Set('quiet','0')
    WHILE NOT UO.Dead()
        UO.FindType( Meshok, '-1', Sunduk1 )
        MeshSer = UO.GetSerial( 'finditem' )
        UO.MoveItem( MeshSer, 0, Sunduk2 )
        checklag()
        uo.useobject( MeshSer )
        eat()
        REPEAT
            GET(ing, Container, 20, 100)
            Repeat
                if HIDE then
                    Hide()
                endif
                UO.DeleteJournal()
                LastTimer=UO.Timer()
                UO.Waittargettype ( Ing )
                UO.Usetype(hammer)
                repeat
                    wait(50)
                until UO.InJournal( msg ) or UO.Timer()>LastTimer+150
            Until UO.Count( item ) > 0
            checklag()
            PUT( item , MeshSer )
            UO.FindType( item , -1, MeshSer )
            uo.charprint(printcolour,'Кинжалов в мешке: '+Str( UO.FindCount()))
        UNTIL UO.FindCount()>=quantity
        uo.charprint(printcolour,'Берем другую сумку')
        wait( 300 )
    wend
end sub
###################
sub CarpentryClub()
    var menu = "waitmenu 'Carpentry' 'Weapons' 'Weapons' 'Club'"
    var item = club
    WHILE NOT UO.Dead()
        UO.FindType( Meshok, '-1', Sunduk1 )
        MeshSer = UO.GetSerial( 'finditem' )
        UO.MoveItem( MeshSer, 0, Sunduk2 )
        checklag()
        uo.useobject( MeshSer )
        eat()
        REPEAT
            GET(log, Container, 10, 300)
            GET(saw, Container, 1, 1)
            Repeat
                if HIDE then
                    Hide()
                endif
                UO.DeleteJournal()
                LastTimer=UO.Timer()
                UO.exec( menu )
                UO.Usetype( saw )
                repeat
                    wait( 300 )
                until UO.InJournal( msg ) or UO.Timer()>LastTimer+300
            Until UO.Count( item )>0
            checklag()
            PUT( item, MeshSer )
            UO.FindType( item, -1, MeshSer)
            uo.charprint(printcolour,'Дубин в мешке: ' + Str( UO.FindCount( item ) ) )
        UNTIL UO.FindCount()>=quantity
        uo.charprint(printcolour,'Берем другую сумку' )
        wait( 300 )
    WEND
end sub
###################
sub Bowcraft()
    var menu = "waitmenu 'What do you' 'Bow'"
    var item = Bow
    WHILE NOT UO.Dead()
        UO.FindType( Meshok, '-1', Sunduk1 )
        MeshSer = UO.GetSerial( 'finditem' )
        UO.MoveItem( MeshSer, 0, Sunduk2 )
        checklag()
        uo.useobject( MeshSer )
        eat()
        REPEAT
            GET(log, Container, 10, 800)
            GET(spool, Container, 1, 100)
            Repeat
                if HIDE then
                    Hide()
                endif
                UO.DeleteJournal()
                LastTimer=UO.Timer()
                UO.exec( menu )
                UO.waittargettype ( log )
                UO.Usetype( Dagger )
                repeat
                    wait( 100 )
                until UO.InJournal( msg ) or UO.Timer()>LastTimer+150
            Until UO.Count( item )>0
            checklag()
            PUT(item , MeshSer)
            UO.FindType( item , -1, MeshSer)
            uo.charprint(printcolour,'Сделано луков: ' + Str( UO.FindCount( item ) ) )
        UNTIL UO.FindCount()>=quantity
        uo.charprint(printcolour,'Берем другую сумку' )
        wait( 300 )
    WEND
end sub
###################
sub TailorCap()
    var menu = "waitmenu 'Cloth' 'Headwear' 'Headwear' 'Jester'"
    var item = Сap
    WHILE NOT UO.Dead()
        UO.FindType( Meshok, '-1', Sunduk1 )
        MeshSer = UO.GetSerial( 'finditem' )
        UO.MoveItem( MeshSer, 0, Sunduk2 )
        checklag()
        uo.useobject( MeshSer )
        eat()
        REPEAT
            GET(cloth, Container, 16, 100)
            GET(spool, Container, 1, 100)
            Repeat
                UO.DeleteJournal()
                LastTimer=UO.Timer()
                UO.exec( menu )
                UO.waittargettype ( cloth )
                UO.Usetype( Skit )
                repeat
                    wait( 100 )
                until UO.InJournal( msg ) or UO.Timer()>LastTimer+150
            Until UO.Count( item ) > 0
            checklag()
            PUT(item , MeshSer)
            UO.FindType( item , -1, MeshSer)
            uo.charprint(printcolour,'Сделано колпаков: ' + Str( UO.FindCount( item ) ) )
        UNTIL UO.FindCount()>=quantity
        uo.charprint(printcolour,'Берем другую сумку' )
        wait( 300 )
    WEND
end sub
###################
sub makeAgility()
    alchemy('0x0F7B', '0x0F09', "'Agility potion'")
end sub
sub makePoisen()
    alchemy('0x0F88', '0x0F0A', "'Poison potion'")
end sub
sub makeStrength()
    alchemy('0x0F86', '0x0F09', "'Strength potion'")
end sub
###################
Sub Alchemy(reagent, Potion, choice)
    WHILE NOT UO.Dead()
        UO.FindType( Meshok, '-1', Sunduk1 )
        MeshSer = UO.GetSerial( 'finditem' )
        UO.MoveItem( MeshSer, 0, Sunduk2 )
        checklag()
        uo.useobject( MeshSer )
        eat()
        REPEAT
            GET(log, Container, 1, 100)
            GET(reagent, Container, 3, 100)
            Repeat
                if HIDE then
                    Hide()
                endif
                UO.DeleteJournal()
                LastTimer=UO.Timer()
                UO.WaitMenu ('What sort of potion do you want to', choice)
                UO.UseType(reagent)
                repeat
                    wait(100)
                until UO.InJournal( msg ) or UO.Timer()>LastTimer+300
            Until UO.Count( Potion ) > 0
            checklag()
            PUT(Potion, MeshSer)
            UO.FindType( Potion, -1, MeshSer )
            uo.charprint(printcolour,'Зелий в мешке: '+Str( UO.FindCount()))
        UNTIL UO.FindCount()>=250
        uo.charprint(printcolour,'Берем другую сумку' )
        wait( 300 )
    WEND
end sub
Sub eat()
    GET(havka, Container, 1, 20)
    REPEAT
        UO.DeleteJournal()
        LastTimer=UO.Timer()
        UO.findtype(havka,-1,'backpack')
        If UO.FindCount() > 0 Then
            UO.Useobject('finditem')
            wait(200)
        Else
            uo.charprint(printcolour, 'кончилась рыба' )
            return 0
        end if
    Until UO.InJournal("simply too full to eat|stuffed!|think|found|Вы ничего не можете") OR UO.Timer()>LastTimer+200
    PUT(havka, Container)
end sub
Sub GET(item, cont, min, max); предмет, откуда, минимум, сколько брать
    If UO.Count( item ) < min Then
        UO.FindType( item, '-1', cont )
        if UO.FindCount() > 0 Then
            uo.charprint(printcolour,'Сырья в сундуке: '+Str(UO.GetQuantity('finditem')) )  
            itemM=UO.GetSerial('finditem')
            timemove=UO.Timer()
            while UO.ContainerOf(itemM)==cont && timemove+20>UO.Timer()
                uo.moveitem('finditem', max, 'backpack')
                wait(300)
            wend
        else
            uo.charprint(printcolour, 'Полностью кончилось сырье' )
            UO.CancelMenu()
            MyTerminate()
        endif
    Endif
end sub
Sub PUT(item, cont)
    while UO.Count( item ) > 0
        UO.FindType( item, -1, -1 )
        itemM=UO.GetSerial('finditem')
        timemove=UO.Timer()
        UO.MoveItem( 'finditem', 0, cont )
        while UO.ContainerOf(itemM)=='my' && timemove+20>UO.Timer()
            wait(300)
        wend
    wend
end sub
Sub Hide()
    VAR LastTimer, n=0, HidFlag=1
    if UO.Hidden() then
        HidFlag=0
    else
    end if
    while HidFlag
        DeleteJournal("can't seem to hide|to perform|stop trying|прекратили|не удалось|удачно|You have hidden yourself well")
        LastTimer=UO.Timer()
        UO.WarMode(0)
        UO.UseSkill('Hiding')
        repeat
            wait(50)
        until UO.InJournal("can't seem to hide|to perform|stop trying|прекратили|не удалось|удачно|You have hidden yourself well") || LastTimer+50<UO.Timer()
        if UO.InJournal("0xA5F8|удачно|You have hidden yourself well") then
            HidFlag=0
        else
            n=n+1
            if n>5 then
                UO.Set('quiet','0')
                uo.charprint(printcolour,'Спрятаться не получается, происходит что-то тревожное и непонятное, готовься к смерти, неудачнег!')
                UO.Set('quiet','1')
                MyTerminate()
            end if
        end if
    wend
end sub
Sub DeleteJournal(msg)
    While UO.InJournal(msg)
        UO.SetJournalLine(UO.InJournal(msg) - 1,'')
    wend
endsub
Sub MyTerminate()
    UO.Set('quiet','1')
    UO.CancelMenu()
    UO.IgnoreReset()
    UO.Set('quiet','0')
    UO.Exec('terminate all')
end sub
Sub checklag()
    DeleteJournal("ackpack")
    UO.Click("backpack")
    repeat
        wait(100)
    until UO.InJournal("ackpack")
end sub

(с) много кто. Конечная доработка Ваш покорный слуга.


Спасибо сказали:
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
 
Ответить в эту темуОткрыть новую тему
> > Ответов(1 - 9) >
Дядя Крим
сообщение 16.4.2010, 18:58
Сообщение #2


Гость
Group Icon

Группа: Пользователи
Сообщений: 47
Регистрация: 23.3.2008
Пользователь №: 5 632
Спасибо сказали: 0 раз(а)



Спасибо, пригодится :)
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Kamikadze
сообщение 17.4.2010, 10:44
Сообщение #3


Подозрительный тип
Group Icon

Группа: Пользователи
Сообщений: 93
Регистрация: 1.2.2005
Пользователь №: 417
Спасибо сказали: 0 раз(а)
Класс: Рейнджер



Не шьёт всё равно!Пишет закончилось сырьё!!!
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Alucard
сообщение 17.4.2010, 14:27
Сообщение #4


ДМ НТ
Group Icon

Группа: Пользователи
Сообщений: 4 801
Регистрация: 13.7.2006
Из: г. Иваново
Пользователь №: 3 276
Спасибо сказали: 351 раз(а)
Класс: Человек



к моему большому сожалению только что проверил - скрипт работает. Так что ищем проблему у себя. Как вариант постучать мне в аську - решим индивидуально вопрос.
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Forg
сообщение 19.4.2010, 7:27
Сообщение #5


ДАНУНАХ
Group Icon

Группа: Пользователи
Сообщений: 1 069
Регистрация: 18.5.2005
Из: Москва
Пользователь №: 1 019
Спасибо сказали: 32 раз(а)
Класс: Друид



Бовкрафт таже херь пишет полностью кончилось сырье

Скрипт сцука умный. Если пишет значит... читай что пишет. laught.gif (с) аффтор
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Alucard
сообщение 19.4.2010, 11:08
Сообщение #6


ДМ НТ
Group Icon

Группа: Пользователи
Сообщений: 4 801
Регистрация: 13.7.2006
Из: г. Иваново
Пользователь №: 3 276
Спасибо сказали: 351 раз(а)
Класс: Человек



Ну я могу ответить на твое сообщение вот так:
Не пишет.
А могу объяснить:
1)пишет процедура GET
2)в боукрафте в частность она используется в 3 местах
а) eat()
b) GET(log, Container, 10, 800)
c) GET(spool, Container, 1, 100)
3)давай разберемся. В ОТКРЫТОМ контейнере (в закрытом скрипт естественно ничего не найдет) который находится в пределах досягаемости чара (лучше всего в притык) должна лежать еда в виде жаренных рыбных котлет(иначе чар сдохнет во время крафта), и естественно логи и нитки на крафт(иначе с чего ты хочешь делать луки?!?!?). Если чего то не лежит в сундуке ПРОПИСАННОМ в шапке скрипте - скрипт сообщает что чего то не хватает. Я телепатией пока что владею в самом зачаточном уровне (интуиция и дедукция) так что что у вас происходит дома я понятия не имею. Почему то мои несколько чаров прокачали все крафты очень быстро. БЕЗ каких либо сбоев... А нет вру. Скрипт не расчитан на частые конектлосты, не встроенн реконектор и не любит когда по месту стояния лупят квакой или чайной. Остальные возможные помехи я старался устранить.
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Tourus
сообщение 19.4.2010, 11:27
Сообщение #7


Местный трепач
Group Icon

Группа: Пользователи
Сообщений: 1 760
Регистрация: 26.12.2006
Пользователь №: 4 302
Спасибо сказали: 151 раз(а)
Класс: Некромант



МНе кажется, что повлиять на это может версия инжи :) Были такие случаи, что одни скрипты инжа читала без сбоев, а часть - не работали...
Щас стоит инжа с асм модулем.. вроде всё нормально :)
Может, если старая инжа - команды не понимает какието...

Ну или чтото нетак делаешь. Мож вбил айди не так. Мож спутал чего... Попробуй всё с нуля настроить :)

Сообщение отредактировал Alucard - 19.4.2010, 11:59
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Alucard
сообщение 19.4.2010, 11:58
Сообщение #8


ДМ НТ
Group Icon

Группа: Пользователи
Сообщений: 4 801
Регистрация: 13.7.2006
Из: г. Иваново
Пользователь №: 3 276
Спасибо сказали: 351 раз(а)
Класс: Человек



там кроме сообщений никаких нестандартных команд то нет. Никаких перемещений за границу сумки или под землю с чем бы не справился старый инжект. МОЖЕТ БЫТЬ (но не обязательно) не включена галка TWI (следить за мировыми вещами). У меня работает и с ней и без нее. так что всего скорее просто не выполнено какое либо условие либо просто не правильно указан контейнер. Внимательней прочитайте что написано вверху скрипта.
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Forg
сообщение 20.4.2010, 7:23
Сообщение #9


ДАНУНАХ
Group Icon

Группа: Пользователи
Сообщений: 1 069
Регистрация: 18.5.2005
Из: Москва
Пользователь №: 1 019
Спасибо сказали: 32 раз(а)
Класс: Друид



Цитата(Alucard @ 19.4.2010, 15:08) *

Ну я могу ответить на твое сообщение вот так:
Не пишет.
А могу объяснить:
1)пишет процедура GET
2)в боукрафте в частность она используется в 3 местах
а) eat()
b) GET(log, Container, 10, 800)
c) GET(spool, Container, 1, 100)
3)давай разберемся. В ОТКРЫТОМ контейнере (в закрытом скрипт естественно ничего не найдет) который находится в пределах досягаемости чара (лучше всего в притык) должна лежать еда в виде жаренных рыбных котлет(иначе чар сдохнет во время крафта), и естественно логи и нитки на крафт(иначе с чего ты хочешь делать луки?!?!?). Если чего то не лежит в сундуке ПРОПИСАННОМ в шапке скрипте - скрипт сообщает что чего то не хватает. Я телепатией пока что владею в самом зачаточном уровне (интуиция и дедукция) так что что у вас происходит дома я понятия не имею. Почему то мои несколько чаров прокачали все крафты очень быстро. БЕЗ каких либо сбоев... А нет вру. Скрипт не расчитан на частые конектлосты, не встроенн реконектор и не любит когда по месту стояния лупят квакой или чайной. Остальные возможные помехи я старался устранить.

Если Сундук открыт в нем лежат логи нитки, но не лежат стейки скрипт не будет работать????

Правильно я я понял??

Сообщение отредактировал Forg - 20.4.2010, 7:23
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Alucard
сообщение 20.4.2010, 8:23
Сообщение #10


ДМ НТ
Group Icon

Группа: Пользователи
Сообщений: 4 801
Регистрация: 13.7.2006
Из: г. Иваново
Пользователь №: 3 276
Спасибо сказали: 351 раз(а)
Класс: Человек



Правильно :)
вариант без еды найти в скрипте боукрафта или любого другово строку
eat()
и поставить перед ней # или ;
Но воообще скрипт расчитан на несколько часов непрерывной работы - чар по любому проголодается. А наловить 200 рыбы дело 5 минут. А если кончится или нет еды а чар не в биже (ну малоли - мне вот лень кольца на ботов надевать) то чар сдохнет.
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 

Ответить в эту темуОткрыть новую тему
> >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия Сейчас: 22.9.2018, 3:00
Design: Fisana  © 2005-2006 IBR Team