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

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


> > Переделать под мининг >
Михаил Ожиринский
сообщение 5.4.2010, 11:40
Сообщение #1


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

Группа: Пользователи
Сообщений: 74
Регистрация: 19.2.2010
Пользователь №: 7 182
Спасибо сказали: 5 раз(а)



Народ подскажите как переделать этот скрипт ламбера под мининг?

Код
sub main()
    var zona = 6;
    var m, i, a, tX, tY, tr = 1
    tX = UO.GetX('self')
    tY = UO.GetY('self')
    for i=1 to zona
        if tr then
            m = - 5
        else
            m = 5
        endif
        for a=1 to zona
            tY = tY + m
            GotoXY(tX,tY)
            Lumder()
        next
        tX = tX - 5
        if tr then
            tr = 0
        else
            tr = 1
        endif
    next
end sub

sub Lumder()
    UO.UseSkill("Hiding")
    wait(4100)
    var X, Y, MaxRange = 3, MaxVes = 620, k = 0
    for Y = -MaxRange to MaxRange
        for X = -MaxRange to MaxRange
            if Tree(UO.GetX()+X, UO.GetY()+Y) then
                repeat
                    UO.Set('quiet','0')
                    UO.DeleteJournal()
                    UO.Warmode(0)
                    wait(100)
                    UO.WaitTargetTile(Tree(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ())
            ;********************************
            ; Auto Tools
                    if UO.Count(0x0E85) || UO.Count(0x0F44) then
                        if UO.Count(0x0E85) then
                            UO.UseType(0x0E85); <-- Топор
                        else
                            UO.UseType(0x0E85); <-- Топор
                        endif
                    else
                        UO.Set('quiet','0')
                        UO.Print('А топор то проебали!')
                        return
                    endif
                    k=k+1
                    repeat
                        wait(100)
                    until UO.InJournal("0xA20D|0xA2DE|0xA2E7|0xA308|0xA309|0xA30D|0xA311|0xA312|Вы положили|nothing|You put|Вы ударили по дереву|You hack at the tree|Тут нечего рубить|no logs|Вы не можете до этого достать|You can|reach this|Дерево слишком далеко|That is too far away|do much|Это кажется свободным для вашего удара|It appears immune to your blow|атакует")
                    UO.Set('quiet','0')
                    if k>30 then
                        UO.Print('Какая то крепкая поебень на зуб попалась!!!')
                        return
                    endif
                    If UO.Weight > MaxVes Then
                        UO.Sound(61)
                        UO.Print('Тяжело шо [вырезано]ец!')
                        return 0
                    endif
                    If UO.Life < Uo.Str then
                        UO.Sound(100)
                        UO.Print('БЛЯ БЛЯ БЛЯ да подыхаю же ПОМОЖИТЕ!')
                        return 0
                    endif
                until UO.InJournal("0xA20D|0xA2DE|0xA2E7|0xA308|0xA309|0xA30D|Тут нечего рубить|nothing|no logs|You can|Вы не можете до этого достать|Дерево слишком далеко|too far away|свободным для вашего удара")
            endif
        next
    next
    return 0
end sub
Sub Tree(X,Y)
    var i
    DIM R[34]
    R[1] = 3274;
    R[2] = 3275;
    R[3] = 3276;
    R[4] = 3277;
    R[5] = 3280;
    R[6] = 3283;
    R[7] = 3286;
    R[8] = 3288;
    R[9] = 3290;
    R[10] = 3293;
    R[11] = 3296;
    R[12] = 3299;
    R[13] = 3302;
    R[14] = 3320;
    R[15] = 3323;
    R[16] = 3326;
    R[17] = 3329;
    R[18] = 3393;
    R[19] = 3394;
    R[20] = 3395;
    R[21] = 3396;
    R[22] = 3415;
    R[23] = 3416;
    R[24] = 3417;
    R[25] = 3418;
    R[26] = 3419;
    R[27] = 3438;
    R[28] = 3439;
    R[29] = 3440;
    R[30] = 3441;
    R[31] = 3442;
    R[32] = 3460;
    R[33] = 3461;
    R[34] = 3462;
    for i = 1 to 34
        if uo.privategettile( x, y, -1, R[i], R[i]) then
            return R[i]
        endif
    next
    return false
end sub
##############################################
sub GotoXY(x,y)
    var myX,myY,lastX=0,lastY=0,i,halt=0,z,r=0
    for i=1 to 60
        myX=UO.GetX();
        myY=UO.GetY();
        if LastX==myX and LastY==myY then
            halt=halt+1
        else
            halt=0
        end if
        if halt>=10 then
            if UO.GetDir()==1 then
                for z=0 to 8
                    UO.Press(38)
                next
            end if
            if UO.GetDir()==3 then
                for z=0 to 8
                    UO.Press(40)
                next
            end if
            if UO.GetDir()==5 then
                for z=0 to 8
                    UO.Press(37)
                next
            end if
            if UO.GetDir()==7 then
                for z=0 to 8
                    UO.Press(39)
                next
            end if
            halt=15
        end if
        if Numb(x-myX)<=1 and Numb(y-myY)<=2 then
            return 1
        end if
        if x<=myX then
            if y<=myY then
                for z=0 to 3
                    UO.Press(36)
                next
            else
                for z=0 to 3
                    UO.Press(35)
                next
            end if
        else
            if y<=myY then
                for z=0 to 3
                    UO.Press(33)
                next
            else
                for z=0 to 3
                    UO.Press(34)
                next
            end if
        end if
        lastX=myX
        lastY=myY
        wait(200)
    next
    return 0
end sub
sub Numb(num)
    if num>=0 then
        return num
    else
        return num*(-1)
    end if
end sub
##### СТЕРЕТЬ ЖУРНАЛ #####
Sub DeleteJournal(msg)
    While UO.InJournal(msg)
        UO.SetJournalLine(UO.InJournal(msg) - 1,'')
    wend
end sub
sub Ept()
    var gold, bag
    gold=UO.Gold
    bag=UO.Count(0x0E76)
    UO.Set('finddistance', '3')
    UO.FindType(0x0E76, -1,'ground')
    UO.Grab(str(0),'finditem'); юзай Grab
    UO.FindType(0x0EED, -1,'ground')
    UO.Grab(str(0),'finditem'); как и сказал Te Killa юзай опять Grab
    if UO.Count(0x0E76)>bag and UO.Gold>gold then
        UO.Say(')')
    endif
end sub
sub CarveLoot()
    # Порежем
    uo.waittargetobject('lastcorpse') ##Целимся на последний труп
    wait(300)  
    uo.usetype('0x0F51') ## Это тип для сабли (можно прописать кинжал)
    wait(300)
    Loot()
    sub Loot()
        #      грабим труп монстра
        UO.FindType(0x0EED, -1,'lastcontainer')
        if UO.FindCount() then
            UO.MoveItem('finditem')
            wait(300)
        end if
        UO.FindType(0x0E76, -1,'lastcontainer')
        if UO.FindCount() then
            UO.MoveItem('finditem')
            wait(300)# можно увеличит до 600
        end if
    end sub
    sub empter()
        VAR Sunduk1 = '0x0e75';сундук для мешков
        VAR Sunduk2 = 'backpack';сундук для хлама
        VAR Meshok = '0x0E76';тип мешка
        VAR MeshSer
        repeat
            uo.findtype(Meshok,-1,'backpack')
            MeshSer = UO.GetSerial( 'finditem' )
            uo.useobject(MeshSer)
            wait(500)
            repeat    
                uo.findtype(-1,-1,MeshSer)
                uo.moveitem('finditem',0,Sunduk2)
                wait(200)
            until not UO.GetQuantity('finditem')
            wait(200)
            uo.moveitem(MeshSer,0,Sunduk1)
        until not UO.count(Meshok)
    end sub
    sub h()
        uo.exec("bandageself")
        wait(200)
        uo.UseType("0x143A")
        wait(200)
        uo.UseType("0x1B78")
    end sub
    sub d()
        uo.exec("bandageself")
        wait(200)
        uo.UseType("0x0F51")
    end sub
    sub restore()
        uo.UseType("0x0f09")
    end sub
    sub b()
        uo.exec("bandageself")
        wait(200)
        uo.UseType("0x13FC")
    end sub
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
 
Ответить в эту темуОткрыть новую тему
> > Ответов(1 - 6) >
Дядя Крим
сообщение 5.4.2010, 13:07
Сообщение #2


Гость
Group Icon

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



Да вродь проще написать новый :) Как переделать скрипт с алхимии на трекинг знаешь? Юзай поиск.
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Kamikadze
сообщение 11.4.2010, 20:55
Сообщение #3


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

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



Не пойму какая строка отвечает за вес в скрипте на мининг!
Код

######################################
#  Antares /Revenant/ uoa.ru / ver 4
######################################
# в банке должны быть руны в пещеры, помеченные в инжекте как обьекты
# (Закладка Objects !!!!  не путать c  Object type)
# Mine , Mine1, Mine2, Mine3, Mine4, а в бекпаке обьект Bank - руна к банку
# промаркировать каждую пещеру надо зарание, запустив процедуру MultyMark()
# Для марка, обходя последовательно все точки копания набирать "set"
# (точка копания - центр квадрата 5х5 тайлов, который выкапывается подчистую)
# При окончании марка в текущей пещере набрать "stop" перереколиться в следующюю пещеру и продолжить
# После марка 5 пещер появятся файлы C:\mine4.dat, C:\mine3.dat, C:\mine2.dat, C:\mine1.dat, C:\mine.dat
# После этого можно начинать копку запустив процедуру main() стоя у банка.
# И если в банке будут лежать жаренные фишстеки, чар не применет возможностью ими полакомиться.
# при вероятности дисконнектов перед копкой запускать процедуру Reconnect
#
#
# скрипт с авторесом (при стаке в Брит) Верхнее меню помощи должно быть открыто.
# процедуру minesh(PX,PY) поставить вместо mine(PX,PY) для копки лопатой и разбивания добытых камней на стоунблоки, в паке должна быть кирка
# процедура pod() для экстренного подьема выпавшей из банка руды. Контейнер куда собирать указать в самой процедуре.

################################
var Cont = '0x4048C31D';ID контейнера в который будет складываться накопанное.
var RC = '0x400F44CB';ID контейнера с регами
var Dagg = '0x4070540D';ID контейнера с дагерами и бинтами (на случай если копаются элемы)
var food= '0x097B'  ;еда(type) по умолчанию жаренные фишстейки
var q, w, p
var f=file("C:\mine.dat")
;var f , mine
var mine

###############################        процедура запуска для  5 пещер
# количество пещер может быть уменьшено или увеличено
# удалением или внесением троестрочий вида:
#      f=file("C:\mine1.dat")
#      mine='Mine1'
#      one()

sub main()
repeat

f=file("C:\mine.dat")
mine='Mine'                      
one()


f=file("C:\mine1.dat")
mine='Mine1'
one()



f=file("C:\mine2.dat")
mine='Mine2'
one()


until UO.Dead()
end sub
#########
sub tert()
uo.print(str(uo.str*4))
end sub
################################      
sub one()
dim PX[50], PY[50]
var Minepoints=0
var i

uo.Print('Loading from file...')
f.open()
Minepoints=safe call f.ReadNumber()
for i=1 to Minepoints
PX[i]=safe call f.ReadNumber()
PY[i]=safe call f.ReadNumber()
next
f.close()
uo.Print('Loaded')
uo.Press(39)
uo.Press(39)
uo.Press(39)
wait(300)
uo.useobject('0x40758660')

wait(100)
med()
takereg()
Recall(mine)
for p=1 to Minepoints
uo.Print('X: '+str(PX[p])+' Y: '+str(PY[p]))
WalkN(PX[p],PY[p],'')
q=PX[p]
w=PY[p]
uo.Print('Mining...')
UO.Warmode("0")
mine(PX,PY)
;minesh(PX,PY)
next
recall('Bank')  
Razg()
end sub
##########################
sub vozvrat(PX,PY)
var i
uo.Print('Move...')
for i=1 to p
uo.Print('X: '+str(PX[p])+' Y: '+str(PY[p]))
WalkN(PX[i],PY[i],'')
next
end sub
########################
sub Mark()
dim PX[50], PY[50]
var Minepoints=0
var i
uo.Print('Start marking...')
for i=1 to 50
UO.DeleteJournal()
uo.Print('Set point '+ str(i))
repeat
  wait(500)
  if UO.InJournal('stop')then
     SaveToFile(i-1,PX,PY)
     return
  endif
until UO.InJournal('set')
PX[i] = UO.GetX("self")
PY[i] = UO.GetY("self")
uo.Print('Point '+str(i)+' X: '+str(PX[i])+' Y: '+str(PY[i])+'taken')
next
end sub
########################
sub MultyMark()
uo.Print('Cove............ 1')
f=file("C:\mine.dat")
Mark()
uo.Print('Cove............ 2')
f=file("C:\mine1.dat")
Mark()
uo.Print('Cove............ 3')
f=file("C:\mine2.dat")
Mark()
uo.Print('Marking finished. Ready for mine')
end sub
#############################
sub SaveToFile(mp,PX,PY)
var s=0,k=0
f.open()
f.create()
uo.Print('points = '+ str(mp))
s=safe call f.writeln(mp)
for k=1 to mp
s=safe call f.writeln(str(PX[k])+' '+str(PY[k]))
next
f.close()
end sub

##################################
sub mine(PX,PY)
var x,y,z
VAR LastTimer
UO.Set('finddistance','2')
z=UO.GetZ("self")
   for x=-2 to 2
      for y=-2 to 2
        #Hid()      
         UO.Print(str(x)+" "+str(y))
         Repeat
            if UO.InJournal('trololo') then
              pause()
            endif
            if uo.injournal('boulder')or UO.count('0x134F') then
               boulder()
            endif
               if uo.dead() then
                  wait(180000)
               if uo.dead() then
                  ressurect(PX,PY)
               endif
               endif
            UO.DeleteJournal()
            UO.Warmode("0")
            UO.WaitTargetTile("1341",STR(UO.GetX()+x),STR(UO.GetY()+Y),str(z))
            UO.UseType('0x0E85')
            LastTimer=UO.Timer()
             if UO.Count('0x0E85')<1 then
               unload(PX,PY)
             end if
            Repeat
               wait(500)
               lookout()
            Until UO.InJournal("You put") or UO.InJournal("can't see") or uo.injournal('boulder') or UO.InJournal("heavy") or UO.InJournal("location") or UO.InJournal("no ore") or UO.InJournal("but fail") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("where it") or UO.InJournal("close")  OR UO.Timer()>LastTimer+200
lookout()

Until UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("no ore here") or UO.InJournal("location") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it") or UO.InJournal("close")
            if UO.Weight>(uo.str*4) then
               unload(PX,PY)
            endif
            
;wait(4000); раскоментировать при копке лопатой
      next
   next
end sub
#########################################
sub lookout()
if UO.InJournal("elemental") then
endif
end sub
#######################################
sub Pause()
UO.DeleteJournal()
REPEAT
WAIT(3000)
UO.Print("Paused")
UNTIL UO.InJournal('GO')
UO.Print("Continue")
endif
end sub
############################################
sub heal()
UO.SetArm('arm')
UO.Exec('bandageself')
wait(500)
UO.Arm('arm')
wait(2000)
end sub
######################################
sub Razg()
VAR a
VAR LastTimer
DIM Ore[12]
Ore[1]=0x19B9; 4 and more ore
Ore[2]=0x19B7; 1 ore
Ore[3]=0x19BA; 2 ore
Ore[4]=0x19B8; 3 ore
Ore[5]=0x0EED; деньги
Ore[6]=0x09AA; пандоры
Ore[7]=0x19B9; руда
Ore[8]=0x0F26; диаманты
Ore[9]=0x0F8A; pig iron
Ore[10]=0x1422; plaster
Ore[11]=0x1BF2; marble
Ore[12]=0x14EB; map

uo.Press(39)
uo.Press(39)
uo.Press(39)
wait(300)
uo.useobject('0x40758660')
wait(100)
For a=1 to 12
While UO.Count(ore[a])>0
       UO.FindType(ore[a],-1,-1)
       UO.MoveItem('finditem',0,Cont)
       wait(200)
       uo.print(ore[a])
Wend
next
eat()
While UO.Count('0x0E20')>0
       UO.FindType('0x0E20',-1,-1)
       UO.MoveItem('finditem',0,Dagg)
       wait(200)
Wend
takereg()
if UO.Mana < 30 then
while UO.Mana<UO.Int
      LastTimer=UO.Timer()
      UO.UseSkill('Meditation')
      repeat
         wait(100)
      until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200
      UO.DeleteJournal()
      wait(200)
wend
endif  
end sub


#######################################
sub eat()
VAR LastTimer
UO.DeleteJournal()
repeat
LastTimer=UO.Timer()
UO.findtype(food,-1,'0x4001ABF5')
   if UO.findcount('finditem') then
      uo.print('eat')
      UO.Useobject('finditem')
      wait(500)
   else
      return
   end if
Until UO.InJournal("stuffed!") OR UO.InJournal("think") or UO.InJournal("found") OR UO.Timer()>LastTimer+200
end sub
################################
sub unload(PX,PY)
Recall('Bank')
Razg()
wait(100)
takereg()
wait(100)
Recall(mine)
uo.DeleteJournal()    
vozvrat(PX,PY)
end sub
########################################
sub ressurect1(PX,PY)
CheckLag()
UO.LClick(17,13)
wait(1000)
CheckLag()
UO.LClick(17,61)
wait(1000)
CheckLag()
uo.useobject('0x40FD37A9')
wait(100)
uo.useobject('backpack')
wait(1000)
uo.say('bank')
wait(500)
takereg()
wait(1000)
eat()
wait(180000)
Recall(mine)
uo.DeleteJournal()    
vozvrat(PX,PY)  
end sub
#############################
sub ressurect(PX,PY)
UO.Exec('warmode 0')
CheckLag()
UO.LClick(17,13)
wait(1000)
CheckLag()
UO.LClick(17,61)
wait(1000)
CheckLag()
WalkN(1483,1636,'')
WalkN(1480,1639,'')
WalkN(1480,1647,'')
WalkN(1468,1649,'')
WalkN(1460,1657,'')
WalkN(1460,1684,'')
WalkN(1463,1690,'')
WalkN(1463,1697,'')
WalkN(1442,1697,'')
WalkN(1430,1697,'')
WalkN(1430,1691,'')
WalkN(1428,1689,'')
WalkN(1428,1684,'')
WalkN(1428,1680,'')
WalkN(1426,1678,'')
uo.useobject('0x40021D98')
wait(100)
uo.useobject('backpack')
wait(1000)
uo.say('bank')
wait(500)
takereg()
wait(1000)
eat()
Recall(mine)
uo.DeleteJournal()    
vozvrat(PX,PY)  
end sub
##############################
sub med()
VAR LastTimer
UO.DeleteJournal()
while UO.Mana<UO.Int
LastTimer=UO.Timer()
UO.UseSkill('Meditation')
repeat
wait(100)
until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200
UO.DeleteJournal()
wait(200)
wend
end sub
#########################################
sub takereg()
DIM reg[3]
var i,n
reg[1]='0x0F86'; MR
reg[2]='0x0F7A'; BP
reg[3]='0x0F7B'; BM

UO.UseObject(RC)
for i=1 to 3
while UO.Count(reg[i])<5
   UO.FindType(reg[i],-1,RC)
   n=UO.Count(reg[i])
   UO.Grab(str(5-n),'finditem')
   wait(200)
   CheckLag()
wend  
next

while UO.Count('0x0E85')<1
   UO.FindType('0x0E85',-1,RC)
    UO.Grab(str(2),'finditem')
     wait(200)
      CheckLag()
wend  

;UO.UseObject(Dagg)
; if not UO.count('0x0F51') then
;      UO.FindType('0x0F51',-1,Dagg)
;      IF uo.findcount() then
;         UO.Grab(str(1),'finditem')
;         wait(200)
;         CheckLag()
;      endif  
; endif
;  if not UO.count('0x0E21') then
;      UO.FindType('0x0E21',-1,Dagg)
;            n=UO.Count(reg[i])
;      IF uo.findcount() then
;         UO.Grab(str(12-n),'finditem')
;         wait(200)
;         CheckLag()
;      endif  
; endif
end sub
#########################################
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('Backpack')
end sub
######################################
sub Reconnect()
var ReconnectTime,rFlag
ReconnectTime='0'
rFlag=1
repeat
while (uo.ObjAtLayer('Bpack')=='')
if rFlag then
ReconnectTime=MakeTime()
rFlag=0
end if
wait(20000)
uo.Say('')
wait(3000)
uo.Say('')
wait(3000)
uo.Say('')
wait(3000)
uo.LDblClick(357,164)
uo.LClick(616,459)
wait(3000)
wend
wait(3000)
if (rFlag==0) and (ReconnectTime<>'0') then
uo.TextOpen()
uo.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
rFlag=1
ReconnectTime='0'
end if
until false
end sub


sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
   T = Ret[Len(Ret)-i] + T
   If (I == 2) OR (I == 4) Then
      T = ":" + T
   EndIf
Next
Ret = STR(UO.Date())
D = ""
For i = 0 To Len(Ret)
   D = Ret[Len(Ret)-i] + D
   If (I == 2) OR (I == 4) Then
      D = "." + D
   EndIf
Next    
Ret = T + " @ " + D
RETURN Ret
end sub
####################################
sub Hid()
while not uo.Hidden()
uo.exec('warmode 0')
uo.Print('Hiding...')
uo.UseSkill('Hiding')
wait(4000)
wend
wait(100)
end sub
#################################
sub Recall(dest)
var b
uo.print('Recoll')
for b=1 to 10
uo.deletejournal()
uo.waittargetobject(dest)
uo.cast('Recall',dest)
if WaitForRecall()==1 then
   return 1
end if
next
return 0
end sub
###################################
sub WaitForRecall()
var Text1=uo.getname()+": The spell fizzles."
var mess='',lastX=uo.getX(),lastY=uo.getY()
for var v=0 to 200
mess=uo.journal(0)
if uo.Journal(0)==Text1 then
   return 0
end if
if uo.getX()<>lastX OR uo.getY()<>LastY then
   return 1
end if
wait(50)
next
return 0
end sub
################################  
sub killelem()
VAR LastTimer, Elem ,i
LastTimer=UO.Timer()
UO.DeleteJournal()
UO.FindType('0x000E',-1,'ground')
Elem=UO.GetSerial('finditem')
UO.Exec('warmode 1')
UO.Attack(Elem)
;WalkN(0,0,Elem)
UO.Say('Dye, mother fucker!')
repeat
    wait(2000)
until UO.InJournal('Body') OR LastTimer+300<UO.Timer() or uo.dead(Elem)
UO.Exec('warmode 0')
wait(100)
LastTimer=UO.Timer()
if UO.Life<50 and UO.Count('0x0E21') then
repeat
  UO.BandageSelf()
  wait(4000)
until UO.Life>170 OR LastTimer+300<UO.Timer()
endif
loot()
WalkN(q,w,'')
end sub
##################################
sub loot()
DIM R[5]
var a
R[1] = 0x0EED # деньги
R[2] = 0x09AA # пандоры
R[3] = 0x19B9 # руда
R[4] = 0x0F8A # pig iron
R[5] = 0x19BA # руда, 2 штучки

UO.UseObject('lastcorpse')
wait(100)
uo.exec("warmode '0'")
uo.waittargetobject('lastcorpse')
uo.usetype(0x0F51)
wait(500)

for a=1 to 5
uo.findtype(R[a],"-1","lastcorpse")
if UO.FindCount()>0 and Uo.GetDistance("lastcorpse")<=2 then
UO.Grab("0","finditem")
wait(1500)
end if
wait(10)
next
end sub
##############################
#==============================================================
#  WalkN(X,Y,Serial) - char is walking by dX and dY step
#                sub using Home, End, PgUp, PgDown keys
#                d'not rebind this key from default action!
#       serial - Serial of target or "" - string
#     walkwait - delay after keypress
#     Example:
#     WalkN(2080,2113,'') - go to coordinates
#     WalkN(0,0,'0x12345678') - go to target position
#--------------------------------------------------------------
sub WalkN(x,y,Target)
VAR i,StepSucess
VAR dx,dy,Exit=0

While Exit<>1    
   If Target<>"" Then
      dx=UO.GetX(Target)-UO.GetX()
      dy=UO.GetY(Target)-UO.GetY()
;         UO.Print("Target locked!")
      If UO.GetDistance(Target)<2 Then
         Exit=1
      Endif
   Else
      dx=x-UO.GetX()
      dy=y-UO.GetY()
      If dx==0 AND dy==0 Then
         Exit=1
      Endif

   Endif

   If dx<>0 AND dy<>0 Then
      If dx>0 AND dy>0 Then
         StepSucess=Go(3,40,300);SE - DownArrow
         If StepSucess==-1 Then
            StepSucess=Go(7,38,300);WN - UpArrow
            StepSucess=Go(1,39,300);NE - RightArrow
            If StepSucess==-1 Then
               StepSucess=Go(5,37,300);SW - LeftArrow
            Endif
         Endif
      Endif

      If dx>0 AND dy<0 Then
         StepSucess=Go(1,39,300);NE - RightArrow
         If StepSucess==-1 Then
            StepSucess=Go(5,37,300);SW - LeftArrow
            StepSucess=Go(3,40,300);SE - DownArrow
            If StepSucess==-1 Then
               StepSucess=Go(7,38,300);WN - UpArrow
            Endif
         Endif
      Endif

      If dx<0 AND dy>0 Then
         StepSucess=Go(5,37,300);SW - LeftArrow
         If StepSucess==-1 Then
            StepSucess=Go(1,39,300);NE - RightArrow
            StepSucess=Go(7,38,300);WN - UpArrow
            If StepSucess==-1 Then
               StepSucess=Go(3,40,300);SE - DownArrow
            Endif
         Endif
      Endif

      If dx<0 AND dy<0 Then
         StepSucess=Go(7,38,300);WN - UpArrow
         If StepSucess==-1 Then
            StepSucess=Go(3,40,300);SE - DownArrow
            StepSucess=Go(5,37,300);SW - LeftArrow
            If StepSucess==-1 Then
               StepSucess=Go(1,39,300);NE - RightArrow
            Endif
         Endif
      Endif

   Endif

   If dx<>0 AND dy==0 Then
      If dx>0 Then
         StepSucess=Go(2,34,300);E - PgDown
         If StepSucess==-1 Then
            StepSucess=Go(3,40,300);SE - DownArrow
            If StepSucess==-1 Then
               StepSucess=Go(1,39,300);NE - RightArrow
            Endif
            StepSucess=Go(2,34,300);E - PgDown
         Endif
      Endif
      
      If dx<0 Then
         StepSucess=Go(6,36,300);W - Home
         If StepSucess==-1 Then
            StepSucess=Go(7,38,300);WN - UpArrow
            If StepSucess==-1 Then
               StepSucess=Go(5,37,300);SW - LeftArrow
            Endif
            StepSucess=Go(6,36,300);W - Home
         Endif
      Endif
   Endif


   If dx==0 AND dy<>0 Then
      If dy>0 Then
         StepSucess=Go(4,35,300);S - End
         If StepSucess==-1 Then
            StepSucess=Go(3,40,300);SE - DownArrow
            If StepSucess==-1 Then
               StepSucess=Go(5,37,300);SW - LeftArrow
            Endif
            StepSucess=Go(4,35,300);S - End
         Endif
      Endif
      
      If dy<0 Then
         StepSucess=Go(0,33,300);N - PgUp
         If StepSucess==-1 Then
            StepSucess=Go(1,39,300);NE - RightArrow
            If StepSucess==-1 Then
               StepSucess=Go(7,38,300);WN - UpArrow
            Endif
            StepSucess=Go(0,33,300);N - PgUp
         Endif
      Endif
   Endif
Wend
end sub


sub Go(dir,key,walkwait)
VAR x,y, OldDir

x=UO.GetX()
y=UO.GetY()
OldDir=UO.GetDir()
;#hid()
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()
Endif

If x==UO.GetX() AND y==UO.GetY() AND OldDir<>UO.GetDir() Then
   UO.Press(key)
   wait(walkwait)
Endif

If x==UO.GetX() AND y==UO.GetY() Then
   CheckLag()
Endif

If x==UO.GetX() AND y==UO.GetY() Then
   UO.Print("Zasada!")
   return -1
Else
   return 1
Endif
end sub
###########################################
sub pod()
uo.Press(39)
uo.Press(39)
uo.Press(39)
wait(300)
uo.useobject('0x40758660')
UO.Say('Bank')
repeat
uo.findtype('0x19B9',-1,'ground')
if UO.FindCount() and Uo.GetDistance('finditem')<3 then
   uo.moveitem('finditem','1000','0x40FA6B85')
   wait(100)
end if
wait(1000)
   uo.print("1")
until not UO.FindCount()
end sub
################################################
sub boulder()
if uo.count('0x0E85') then
while uo.count('0x134F')
   uo.waittargettype('0x134F')
   uo.usetype('0x0E85')
   wait(100)
wend
uo.findtype('0x134F',-1,'ground')
   if uo.FindCount()then
     uo.waittargetobject('finditem')
     uo.usetype('0x0E85')
   endif
   wait(2000)
endif
end sub
################################################
sub minesh(PX,PY)
var x, y,z
VAR LastTimer
uo.LastTile()

UO.Set('finddistance','2')
z=UO.GetZ("self")
   for x=-2 to 2
      for y=-2 to 2
;#Hid()      
         UO.Print(str(x)+" "+str(y))
         Repeat
            if UO.InJournal('ololo') then
              pause()
            endif
            if uo.injournal('boulder')or UO.count('0x134F') then
               boulder()
               UO.Print('boulder')
            endif
            If UO.targeting() then
               uo.canceltarget()
            endif
            UO.DeleteJournal()
            UO.Warmode("0")
            UO.WaitTargetTile("1339",STR(UO.GetX()+x),STR(UO.GetY()+Y),str(z))
            UO.UseType('0x0F39')
            LastTimer=UO.Timer()
            Repeat
               wait(500)
           Until UO.InJournal("You put") or UO.InJournal("can't see") or uo.injournal('boulder') or UO.InJournal("heavy") or UO.InJournal("location") or UO.InJournal("no ore") or UO.InJournal("but fail") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("where it") or UO.InJournal("close")  OR UO.Timer()>LastTimer+200
lookout()

Until UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("no ore here") or UO.InJournal("location") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it") or UO.InJournal("close")
          
            if UO.Weight>(uo.str*4 - 20) then
               unload(PX,PY)
            endif
;wait(2000);на случай флуда в окне
      next
   next
end sub





Как уменьшить вес?

Сообщение отредактировал Kamikadze - 11.4.2010, 20:56
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
CxC
сообщение 11.4.2010, 21:39
Сообщение #4


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

Группа: Пользователи
Сообщений: 1 732
Регистрация: 14.1.2009
Из: Краснодар
Пользователь №: 6 081
Спасибо сказали: 223 раз(а)
Класс: Рейнджер



Цитата
sub mine(PX,PY)
бла бла бла
Until UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("no ore here") or UO.InJournal("location") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it") or UO.InJournal("close")
if UO.Weight>(uo.str*4) then
unload(PX,PY)
endif
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Forg
сообщение 12.4.2010, 10:45
Сообщение #5


ДАНУНАХ
Group Icon

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



Тоже вопросик, а куда в скрипт запихнуть, UO.press чтоб подходил к сундуку.
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
CxC
сообщение 12.4.2010, 12:38
Сообщение #6


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

Группа: Пользователи
Сообщений: 1 732
Регистрация: 14.1.2009
Из: Краснодар
Пользователь №: 6 081
Спасибо сказали: 223 раз(а)
Класс: Рейнджер



Цитата
sub Razg()


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


ДАНУНАХ
Group Icon

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



Код

if uo.injournal('boulder')or UO.count('0x134F') then
               boulder()
               UO.Print('boulder')
            endif


А как сюда вставить задержку. Кирку сейчас нельзя брать в руку когда копаеш лопатой, по это му скрипт пытается одновременно и копать и разбить камень киркой из за чего выскакивает ошибка.
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 

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

 

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