Воскресенье, 24.08.2025, 19:23
[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
  • Мини-чат
    Главная » Статьи » Мои статьи

    Скрипт на опкоп скалы брита
    #####
    #чар ходит капает в городе Британии вдоль скалы
    #как обкапал скалу, обкапывает еще разок
    #затем идет и плавит всю руду выкапанную
    #потом идет к банку и делает из ингов отмычки
    #потом идет и продает все эти отмычки вендору
    #потом выкладывает золото, возвращается к скале и опять 25
    ######
    #настройки тут очень простые:
    #1)надо создать buy/sell лист с именем lp для продажи отмычек
    #2)вписать тип кирки/лопаты примерно 150 строка в скрипте
    #3)положить в банк инструмент для тинкерства
    ######
    #замечания!!!
    #1)чар делает отмычки поэтому скилл тинкера нужен >48,5
    #2)чар работает с сундуком банка, поэтому нельзя допускать
    # чтобы сундук банка закрывался, лучше запустить скрипт
    # и не трогать его, можно тока общаться продолжать без проблем
    #3)скрипт надо запускать, когда вы в координатах 1459-1510
    #4)чар 2 раза обкапывает скалу - это примерно 550 оров руды, что
    # соответствует силе примерно в 140 так что если сила чара меньше
    # чем 140 может выпадать руда при копании
    ######
    #from GimFlex aka Question with smile again)
    ######

    sub main()
    while not uo.dead()
    gomine()
    gominback()
    gomine()
    gosmelt()
    smeltore()
    gobank()
    unloadiron()
    #### tinkering()
    gosell()
    sellvendor()
    goungold()
    unloadgold()
    gomaxback()
    wend
    endsub

    Sub gomine()
    go(1459,1510,1)
    go(1458,1507,1)
    go(1457,1506,1)
    go(1455,1505,1)
    go(1452,1506,1)
    go(1450,1509,1)
    go(1450,1512,1)
    go(1450,1513,1)
    go(1448,1515,1)
    go(1451,1517,1)
    go(1452,1519,1)
    go(1451,1521,1)
    go(1448,1522,1)
    go(1445,1523,1)
    go(1445,1525,1)
    go(1447,1527,1)
    go(1448,1528,1)
    go(1450,1530,1)
    go(1452,1529,1)
    go(1454,1529,1)
    endsub

    Sub gosmelt()
    go(1432,1542,0)
    go(1426,1556,0)
    endsub

    Sub gobank()
    go(1430,1570,0)
    go(1438,1583,0)
    go(1425,1592,0)
    go(1425,1622,0)
    go(1420,1631,0)
    go(1420,1668,0)
    go(1436,1671,0)
    go(1435,1680,0)
    endsub

    Sub gomaxback()
    go(1435,1669,0)
    go(1420,1669,0)
    go(1420,1631,0)
    go(1425,1592,0)
    go(1438,1583,0)
    go(1430,1570,0)
    go(1430,1536,0)
    go(1445,1515,0)
    go(1453,1502,0)
    go(1460,1505,0)
    endsub

    Sub gominback()
    go(1446,1533,0)
    go(1441,1524,0)
    go(1447,1504,0)
    go(1460,1504,0)
    endsub

    Sub gosell()
    var dver='0x400009D9'
    go(1435,1658,0)
    go(1432,1658,0)
    while uo.getx('self')>=1432
    uo.useobject(dver)
    wait(700)
    uo.press(36)
    wait(400)
    uo.press(36)
    wait(400)
    uo.press(36)
    wait(400)
    wend
    go(1426,1655,0)
    endsub

    Sub goungold()
    var dver='0x400009D9'
    go(1430,1658,0)
    while uo.getx('self')<=1430
    uo.useobject(dver)
    wait(700)
    uo.press(39)
    wait(400)
    uo.press(39)
    wait(400)
    uo.press(39)
    wait(400)
    wend
    go(1435,1680,0)
    endsub

    Sub sellvendor()
    var vendor="Granger"
    uo.set('buydelay','4000')
    uo.set('maxsell','200')
    uo.findtype('0x14FB','-1','backpack')
    while uo.findcount()
    uo.sell('lp',vendor)
    wait(4200)
    uo.findtype('0x14FB','-1','backpack')
    wend
    endsub

    Sub kopka()
    var kirka='0x0E85'
    var i,j,x,y,z
    var ms1="Try mining"
    var ms2="You put"
    var ms3="There is no ore"
    var ms4="You loosen"
    x=uo.getx('self')
    y=uo.gety('self')
    z=uo.getz('self')
    hiding()
    for i=-1 to 1
    for j=-1 to 1
    repeat
    uo.deletejournal()
    uo.waittargettile(0,x+i,y+j,z)
    uo.usetype(kirka)
    repeat
    wait(300)
    until uo.injournal(ms1) or uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms4)
    until uo.injournal(ms1) or uo.injournal(ms3)
    next
    next
    endsub

    Sub unloadiron()
    uo.findtype('0x1BEF','-1','backpack')
    while uo.findcount()
    uo.say("bank")
    wait(1200)
    uo.findtype('0x1BEF','-1','backpack')
    if uo.findcount() then
    uo.moveitem('finditem','all','lastcontainer')
    endif
    uo.findtype('0x1BEF','-1','backpack')
    wend
    endsub

    Sub unloadgold()
    uo.findtype('0x0EED','-1','backpack')
    while uo.findcount()
    uo.say("bank")
    wait(1200)
    uo.findtype('0x0EED','-1','backpack')
    if uo.findcount() then
    uo.moveitem('finditem','all','lastcontainer')
    endif
    uo.findtype('0x0EED','-1','backpack')
    wend
    endsub

    Sub hiding()
    var ms1="You have hidden"
    var ms2="You can't"
    repeat
    uo.deletejournal()
    uo.useskill('Hiding')
    repeat
    wait(200)
    until uo.injournal(ms1) or uo.injournal(ms2)
    until uo.injournal(ms1)
    endsub

    Sub smeltore()
    uo.findtype('0x19B9','-1','backpack')
    while uo.findcount()
    uo.useobject('finditem')
    wait(700)
    uo.findtype('0x19B9','-1','backpack')
    wend
    endsub

    sub tinkering()
    var bank
    var ms1="You put"
    var ms2="Tinkering failed"
    uo.cancelmenu()
    uo.automenu('Tinkering','Tools')
    uo.automenu('Tools','lockpick (1 iron ingot)')
    uo.say("bank")
    wait(1200)
    bank=uo.getserial('lastcontainer')
    uo.findtype('0x1EBC','-1',bank)
    if uo.findcount() then
    uo.moveitem('finditem','all','backpack')
    endif
    uo.findtype('0x1BEF','-1',bank)
    while uo.findcount()
    uo.moveitem('finditem','30','backpack')
    wait(1200)
    uo.findtype('0x1BEF','-1','backpack')
    while uo.findcount()
    uo.deletejournal()
    uo.usetype('0x1EBC')
    repeat
    wait(300)
    until uo.injournal(ms1) or uo.injournal(ms2)
    uo.findtype('0x1BEF','-1','backpack')
    wend
    uo.findtype('0x14FB','-1','backpack')
    if uo.findcount() then
    uo.moveitem('finditem','all',bank)
    endif
    uo.findtype('0x1BEF','-1',bank)
    wend
    uo.findtype('0x1EBC','-1','backpack')
    if uo.findcount() then
    uo.moveitem('finditem','all',bank)
    endif
    uo.findtype('0x14FB','-1',bank)
    if uo.findcount() then
    uo.moveitem('finditem','all','backpack')
    wait(900)
    endif
    endsub

    Sub go(x,y,k)
    VAR i
    VAR dir,ldir,rdir,key,olddir
    VAR dx,dy,Exit=0
    VAR CacheLimit=9,CacheIndex="Text"
    DIM CacheX[10], CacheY[10]
    CacheX[0]="Test"
    While Exit<>1
    dx=x-UO.GetX()
    dy=y-UO.GetY()
    If dx==0 AND dy==0 Then
    Exit=1
    Endif
    If dx<>0 AND dy<>0 Then
    If dx>0 AND dy>0 Then ; GoSE
    dir=3
    ldir=2
    rdir=4
    key=40 ; DownArrow
    olddir=UO.GetDir()
    If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
    If olddir==2 Then ; GoNE
    dir=1
    ldir=0
    rdir=1
    key=39 ; RightArrow
    While UO.GetDir()<>1
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Else ; GoSW
    dir=5
    ldir=5
    rdir=6
    key=37 ; LeftArrow
    While UO.GetDir()<>5
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Endif
    Endif
    Endif
    If dx>0 AND dy<0 Then ; GoNE
    dir=1
    ldir=0
    rdir=2
    key=39 ; RightArrow
    olddir=UO.GetDir()
    If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
    If olddir==0 Then ; GoWN
    dir=7
    ldir=6
    rdir=7
    key=38 ; UpArrow
    While UO.GetDir()<>7
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Else ; GoSE
    dir=3
    ldir=3
    rdir=4
    key=40 ; DownArrow
    While UO.GetDir()<>3
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Endif
    Endif
    Endif
    If dx<0 AND dy>0 Then ; GoSW
    dir=5
    ldir=4
    rdir=6
    key=37 ; LeftArrow
    olddir=UO.GetDir()
    If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
    If olddir==6 Then ; GoWN
    dir=7
    ldir=7
    rdir=0
    key=38 ; UpArrow
    While UO.GetDir()<>7
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Else ; GoSE
    dir=3
    ldir=2
    rdir=3
    key=40 ; DownArrow
    While UO.GetDir()<>3
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Endif
    Endif
    Endif
    If dx<0 AND dy<0 Then ; GoWN
    dir=7
    ldir=6
    rdir=0
    key=38 ; UpArrow
    olddir=UO.GetDir()
    If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
    If olddir==0 Then ; GoNE
    dir=1
    ldir=1
    rdir=2
    key=39 ; RightArrow
    While UO.GetDir()<>1
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Else ; GoSW
    dir=5
    ldir=4
    rdir=5
    key=37 ; LeftArrow
    While UO.GetDir()<>5
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Endif
    Endif
    Endif
    Endif
    If dx<>0 AND dy==0 Then
    If dx>0 Then ; GoE
    dir=2
    key=34 ; PgDown
    olddir=UO.GetDir()
    If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
    If olddir==2 Then ; GoSE
    dir=3
    ldir=3
    rdir=4
    key=40 ; DownArrow
    While UO.GetDir()<>3
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Else ; GoNE
    dir=1
    ldir=1
    rdir=0
    key=39 ; RightArrow
    While UO.GetDir()<>1
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Endif
    Endif
    Endif
    If dx<0 Then ; GoW
    dir=6
    key=36 ; Home key
    olddir=UO.GetDir()
    If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
    If olddir==0 Then ; GoWN
    dir=7
    ldir=7
    rdir=0
    key=38 ; UpArrow
    While UO.GetDir()<>7
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Else ; GoSW
    dir=5
    ldir=4
    rdir=5
    key=37 ; LeftArrow
    While UO.GetDir()<>5
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Endif
    Endif
    Endif
    Endif
    If dx==0 AND dy<>0 Then
    If dy>0 Then ; GoS
    dir=4
    key=35 ; End
    If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
    If olddir==2 Then ; GoSE
    dir=3
    ldir=2
    rdir=3
    key=40 ; DownArrow
    While UO.GetDir()<>3
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Else ; GoSW
    dir=5
    ldir=6
    rdir=5
    key=37 ; LeftArrow
    While UO.GetDir()<>5
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Endif
    Endif
    Endif
    If dy<0 Then ;GoN
    dir=0
    key=33 ; PgUp
    olddir=UO.GetDir()
    If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
    If olddir==2 Then ; GoNE
    dir=1
    ldir=1
    rdir=2
    key=39 ; RightArrow
    While UO.GetDir()<>1
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Else ; GoWN
    dir=7
    ldir=7
    rdir=6
    key=38 ; UpArrow
    While UO.GetDir()<>7
    StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
    Wend
    Endif
    Endif
    Endif
    Endif
    Wend
    if k==1 then
    kopka()
    endif
    end sub

    Sub StepEdit(x,y,dir,key)
    VAR walkwait=100
    VAR ErrLevel=0
    If UO.GetDir()<>dir Then
    UO.Press(key)
    wait(walkwait)
    If UO.GetDir()<>dir Then
    CheckLag()
    Endif
    Endif
    UO.Press(key)
    wait(walkwait)
    If x==UO.GetX() AND y==UO.GetY() Then
    CheckLag()
    If x==UO.GetX() AND y==UO.GetY() Then
    ErrLevel=1
    Endif
    Endif
    Return ErrLevel
    endsub

    Sub StepArrow(x,y,dir,ldir,rdir,key)
    VAR walkwait=100
    VAR ErrLevel=0
    If UO.GetDir()<>dir Then
    UO.Press(key)
    wait(walkwait)
    If UO.GetDir()<>dir AND UO.GetDir()<>ldir AND UO.GetDir()<>rdir Then
    CheckLag()
    Endif
    Endif
    If UO.GetX()==x AND UO.GetY()==y Then
    UO.Press(key)
    wait(walkwait)
    If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
    CheckLag()
    If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
    ErrLevel=1
    Endif
    Endif
    Endif
    Return ErrLevel
    endsub

    Sub CheckLag()
    UO.DeleteJournal()
    UO.Click('backpack')
    repeat
    Wait(250)
    until UO.InJournal('backpack')
    endsub

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

     27.04.2009
    0  
      Вставил тип кирки, встал в нужную точку запускаю скрипт перс уходит в хайд пытается копать но выдают вот эту надпись "try mining in rock" и идёт дальше по скале опять уходит в хайд и опять выдаёт эту надпись в чом проблемма подскажите пожалуйста ?
    Ответ Цитата

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

    Статистика

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