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

    Скрипт на ForensicEvaluation вариант 2
    ;Скрипт на прокачку Forensic Evaluation.
    ;Смысл в том, что ставим чара у НПС тамера. Он покупает пташек мелких, колбасит их и качает на трупах пташек скил.
    ;Необходимые настройки:
    ;1. ИД НПС тамера у которого бум покупать пташек.
    ;2. Шоплист pta в который засовываем 1 Bird (птичка мелкая 1 штук)
    ;3. Придётся вам самим где та брать ходилку и встраивать её в скрипт GotoXY(X,Y,R), где R это расстояние на которое ;надо подойти. )))

    ;Code:

    sub Forensic()
    var vendor='0x002332E6'
    var ptaha=''
    var corpse=''

    uo.set("finddistance",15)
    while not uo.dead()
    uo.findtype('0x0006','-1','ground')
    if uo.findcount()>0 then
    ptaha=uo.getserial('finditem')
    while uo.getdistance(ptaha)>1
    GotoXY(uo.getx(ptaha),uo.gety(ptaha))
    wend
    uo.warmode(1)
    uo.deletejournal()
    uo.attack(ptaha)
    repeat
    wait(100)
    if uo.getdistance(ptaha)>1 then
    GotoXY(uo.getx(ptaha),uo.gety(ptaha))
    end if
    until uo.injournal("Body of")
    uo.warmode(0)
    wait(100)
    corpse=uo.getserial('lastcorpse')
    repeat
    if uo.skillval("Forensic Evaluation",1)>=1000 then
    uo.closeuo()
    end if
    uo.deletejournal()
    uo.useskill("Forensic Evaluation",corpse)
    repeat
    wait(10)
    until uo.injournal("You can tell nothing about the corpse.") or uo.injournal("This is Body of") or uo.injournal("Forensics must be used on a corpse.") or uo.injournal("You can't see the target")
    until uo.injournal("Forensics must be used on a corpse.") or uo.injournal("You can't see the target")
    uo.usetype('0x097B')
    wait(1500)
    else
    while uo.getdistance(vendor)>1
    GotoXY(uo.getx(vendor),uo.gety(vendor))
    wend
    uo.click(vendor)
    wait(1000)
    uo.Set('buydelay','600')
    uo.buy("pta",uo.getname(vendor))
    wait(2500)
    end if
    wend
    ;uo.closeuo()
    end sub

    Sub go(xko,yko)
    var mx=UO.GetX()
    var my=UO.GetY()
    if mx == xko and my > yko then
    UO.Press(33)
    endif
    if mx == xko and my < yko then
    UO.Press(35)
    endif
    if mx < xko and my == yko then
    UO.Press(34)
    endif
    if mx < xko and my > yko then
    UO.Press(39)
    endif
    if mx < xko and my < yko then
    UO.Press(40)
    endif
    if mx > xko and my == yko then
    UO.Press(36)
    endif
    if mx > xko and my > yko then
    UO.Press(38)
    endif
    if mx > xko and my < yko then
    UO.Press(37)
    endif
    end sub

    Sub GotoXY(x,y)
    VAR i,j,m
    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
    endif
    Wend
    end sub

    Sub StepEdit(x,y,dir,key)
    VAR walkwait=300
    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
    end sub

    Sub StepArrow(x,y,dir,ldir,rdir,key)
    VAR walkwait=300
    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
    end sub

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

    Категория: Мои статьи | Добавил: Shofana (30.11.2008)
    Просмотров: 797 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]

    Статистика

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