Вторник, 24.06.2025, 19:21
[nIrVaNa]
Приветствую Вас Призывник | RSS

Меню сайта
Ultima Online
  • Ultima Online DRW
  • .::Games::.
  • EVE Online
  • Russia EVE-RU
  • Ukrainian EVE-UA
  • [6OP3bIE CAHTEXHuru] EVE
  • L2Europa.com
  • Clan Viktoria L2Europa.com
  • Мини-чат
    Главная » Статьи » Мои статьи

    Скрипт на Camping
    ; Берем в пак 200 хвороста и реги, реколлимся по руне туда где можно
    ; жечь костры, врубаем медитацию, отделяем по 1 шт. хвороста, кладем их
    ; вокруг чара с трех сторон, дважды щелкаем по этим кучкам хвороста
    ; для их разжигания (с повторами в случае физлов). Отходим назад
    ; (направление на правый нижний угол - клавиша "3" на нумпаде).
    ; Повторям последнюю операцию пока чар не придет в точку FinalX.
    ; Реколлимся на базу, добираем из ящика хворост и реги. И по кругу.
    ;
    ; Разметьте руну где-нибудь в непосещаемом городе, прогуляйтесь шагов
    ; на 30-50 по диагонали по направлению цифры 3 на нумпаде, занесите
    ; координату X этой точки в FinalX (для надежности и защиты от лагов
    ; будет лучше если в этой точке чар упрется в стенку). На базе рядом
    ; с реколлкой поставьте сундук и в него положите много хвороста (можно
    ; одной "неподьъемной" кучкой и побольше регов для реколла.
    ; Занесите руну в этот город в ту же рунбуку, где и руна на базу.
    ;
    sub camping()
    DIM Regs[3]
    Regs[0] = '0x0F7A' ; Black Pearl
    Regs[1] = '0x0F7B' ; Bood Moss
    Regs[2] = '0x0F86' ; Mandrake Root
    VAR Hvorost = '0x0DE1'
    VAR flag, myx, myy, myz, fin, i
    VAR FinalX = 1350
    VAR Sunduk = '0x40591B82'
    VAR RuneToBase = '20'
    VAR RuneToFire = '30'
    ;
    ; Стартуем стоя в начале пути.
    ; UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
    UO.Exec( 'set finddistance 3' )
    While UO.SkillVal( 'Camping' ) < 1000
    fin = 0
    UO.UseSkill( 'Meditation' )
    UO.FindType ( Hvorost )
    While ( UO.FindCount() > 0 ) AND ( fin == 0 )
    myx = UO.GetX()
    myy = UO.GetY()
    myz = UO.GetZ()
    UO.MoveItem('finditem', '1', 'ground', str(myx-1), str(myy), str(myz))
    wait(1000)
    CheckLag()
    UO.FindType ( Hvorost )
    UO.MoveItem('finditem', '1', 'ground', str(myx), str(myy+1), str(myz))
    wait(1000)
    CheckLag()
    UO.FindType ( Hvorost )
    UO.MoveItem('finditem', '1', 'ground', str(myx), str(myy-1), str(myz))
    wait(1000)
    CheckLag()
    UO.Findtype( Hvorost, -1, 1 )
    While UO.FindCount() > 0 AND NOT UO.InJournal( "You can't ignite several" )
    repeat
    flag = 1
    DeleteJournal( "You fail to ignite" )
    DeleteJournal( "You can't ignite several" )
    DeleteJournal( "You must wait" )
    UO.UseFromGround( Hvorost )
    wait(1000)
    CheckLag()
    If UO.InJournal( "You must wait" ) OR UO.InJournal( "You fail to ignite" ) Then
    flag = 0
    wait(1000)
    Endif
    If UO.InJournal( "You can't ignite several" ) Then
    UO.FindType( Hvorost, -1, 1 )
    While UO.FindCount() > 0
    If UO.GetQuantity( 'finditem' ) > 1 Then
    UO.Grab( str( UO.GetQuantity( 'finditem' ) - 1 ), 'finditem' )
    wait(1000)
    CheckLag()
    Endif
    UO.Ignore( 'finditem' )
    UO.FindType( Hvorost, -1, 1 )
    Wend
    UO.IgnoreReset()
    Endif
    until flag
    UO.Findtype( Hvorost, -1, 1 )
    Wend
    While ( UO.GetX() < myx + 1 ) AND ( fin == 0 )
    UO.Press( 34 )
    wait(300)
    CheckLag()
    If UO.GetX() == FinalX Then
    fin = 1
    Endif
    Wend
    UO.FindType ( Hvorost )
    Wend
    ; достигли конца маршрута или кончился хворост
    Recalling( 'CommonRunbook', RuneToBase )
    UO.UseObject( Sunduk )
    wait(1000)
    CheckLag()
    for i = 0 To 2
    If UO.Count( Regs[i] ) < 6 Then
    ; этого рега меньше 6
    UO.FindType( Regs[i], '-1', Sunduk )
    UO.Grab( str( 6 - UO.Count( Regs[i] ) ), 'finditem' )
    Wait( 1000 )
    CheckLag()
    Endif
    next
    If UO.Count( Hvorost ) < 200 Then
    ; хвороста меньше 200
    UO.FindType( Hvorost, '-1', Sunduk )
    UO.Grab( str( 200 - UO.Count( Hvorost ) ), 'finditem' )
    Wait( 1000 )
    CheckLag()
    Endif
    ; EatChar( Sunduk, 2, 1, 60 )
    Recalling( 'CommonRunbook', RuneToFire )
    Wend
    endsub

    #####################################################################
    Sub CheckLag()
    DeleteJournal( 'backpack' )
    UO.Click( 'backpack' )
    repeat
    wait(100)
    until UO.InJournal( 'backpack' )
    return
    end sub

    #####################################################################
    Sub DeleteJournal( string1 )
    VAR nom = UO.InJournal( string1 )
    If nom > 0 Then
    UO.SetJournalLine( Nom - 1, 'string replaced' )
    DeleteJournal( string1 )
    Endif
    endsub

    #####################################################################
    Sub Recalling( Runbk, NRune )
    ; Runbk - сериал или ссылка на объект рунбуки
    ; NRune - десятичный номер (текстом) руны для реколла
    VAR myx = UO.GetX()
    VAR myy = UO.GetY()
    VAR OldMana = UO.Mana
    VAR i = 0
    DeleteJournal( 'fizzles' )
    UO.Exec("recall " + Runbk + " " + NRune)
    repeat
    CheckLag()
    wait(1000)
    i = i + 1
    until ( i > 6 ) OR ( UO.Mana < OldMana - 8 ) OR UO.InJournal( 'fizzles' )
    wait(500)
    If myx == UO.GetX() AND myy == UO.GetY() Then
    UO.WarMode( 'flip' )
    wait(100)
    UO.WarMode( 'flip' )
    Recalling( Runbk, NRune )
    Endif
    endsub

    Категория: Мои статьи | Добавил: Shofana (30.11.2008)
    Просмотров: 1328 | Комментарии: 1 | Рейтинг: 0.0/0
    Всего комментариев: 1

     21.04.2010
    0  
      Спс...скрипт прекрасно работает....все норм...долго искал рабочий скрипт...а то раскладывает тока и не поджигает...а тут все оки
    Респект....
    Ответ Цитата

    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]

    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Наш опрос
    Как Вам наш сайт
    Всего ответов: 244
    Copyright MyCorp © 2025