Mining...

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Mazhor
Posts: 18
Joined: 2005-08-23 01:05:41
Contact:

Mining...

Post by Mazhor »

Code: Select all

var rb = '0x75F983FC';RunBuk
Var ore = '0x19B9'
var ingtype = '0x1BF2'
var kirka = '0x0E85'
var shit = '0x1B76'

var nyLLIka = '0x13FE'

Var elem = '0x000E'
VAR MaxTime = 120   ; измеряется в 1/10 сек.
var refresh = '0x0F0B'
var stamprotect = 20
var forge = '0x0FB1'
Var sera = '0x0F8C'
Var gold = '0x0EED'
var chekhp = 50
var gh = '0x0F0C'
var sunduk = '0x75FAA6D6';самый левый.
var sunduk1 = '0x75FAA6D1'
var havka = '0x171F'
var gstr = '0x0F09'
var bandage = '0x0E21'
var shagx = 3
var shagy = 3
var nognizi = '0x0F9E'

VAR ms1 = "Вы не видите цели"
VAR ms2 = "Слишком далеко"
VAR ms3 = "Рудная жила в этом месте"
VAR ms4 = "Сначала вы должны"
VAR ms5 = "Вы должны подождать"
VAR ms6 = "Цель находится"
VAR ms7 = "Вы прекратили копать"
Var attackms = "attackin"


sub gostart()
gohome()
start()
endsub

sub stamdetekt()
while true
if uo.injournal("fatigued to move") then
uo.sayu(".drinkref")
havka()
uo.deletejournal()
wait(2000)
else
wait(5000)
endif
wend
endsub

sub start()

uo.exec('exec reconnector')
while true
vihod()

repeat
uo.useobject(rb)
wait(500)
uo.lclick(63,158) ;Destard
wait(12000)
until uo.getx() == 1248 and uo.gety() == 2653
wait(500)
go()
wait(500)
gohome()
wait(500)
vihod()
wait(500)

;repeat
;uo.useobject(rb)
;wait(500)
;uo.lclick(64,172) ;Trin_3
;wait(12000)
;until uo.getx() == 1417 and uo.gety() == 2888
;wait(500)
;go()
;wait(500)
;gohome()
;wait(500)
;vihod()
;wait(500)


repeat
uo.useobject(rb)
wait(500)
uo.lclick(62,82)
wait(12000)
until uo.getx() == 769 and uo.gety() == 1679
wait(500)
go()
wait(500)
gohome()
wait(500)
vihod()
wait(500)

repeat
uo.useobject(rb)
wait(500)
uo.lclick(62,98)
wait(12000)
until uo.getx() == 2437 and uo.gety() == 901
wait(500)
go()
wait(500)
gohome()
wait(500)
vihod()
wait(500)

repeat
uo.useobject(rb)
wait(500)
uo.lclick(63,111)
wait(12000)
until uo.getx() == 2362 and uo.gety() == 823
wait(500)
go()
wait(500)
gohome()
wait(500)
vihod()
wait(500)

;uo.useobject(rb)
;wait(500)
;repeat
;uo.lclick(64,127)
;wait(12000)
;until uo.getx() == 4020 and uo.gety() == 434
;wait(500)
;go()
;wait(500)
;gohome()
;wait(500)
;vihod()
;wait(500)

repeat
uo.useobject(rb)
wait(500)
uo.lclick(62,143)
wait(12000)
until uo.getx() == 4009 and uo.gety() == 309
wait(500)
go()
wait(500)
gohome()
wait(500)
vihod()
wait(500)

repeat
uo.useobject(rb)
wait(500)
uo.lclick(63,160)
wait(12000)
until uo.getx() == 991 and uo.gety() == 1586
wait(500)
go()
wait(500)
gohome()
wait(500)
vihod()
wait(500)



wend
endsub

sub kopka()
var k, x, y , t
for y=-2 to 2
for x=-2 to 2
      UO.FindType(elem, -1, 1)
if  uo.FindCount() > 0 or uo.gethp() < uo.getmaxhp() then
      if uo.gethp() > uo.getmaxhp() - 10 then
      armslor()
      endif
      UO.FindType(elem, -1, 1)
         Uo.Equipt('Rhand', nyLLIka)
         Uo.Equipt('Lhand', shit)
         wait(500)
         uo.warmode(true)
         uo.attack(uo.getserial('finditem'))
         
         
         Repeat
         UO.FindType(elem, -1, 1)
         if uo.findcount()> 1   then
         chekhp = 80
         uo.print("Boremsya s "+Str(uo.findcount())+" elemami ! banki s 80")
         else
         uo.print("Boremsya s "+Str(uo.findcount())+" elemom! banki s 50")
         chekhp = 50
         endIf         
         if uo.gethp() <= chekhp then
         uo.usetype(gh)
         endif
         Uo.Equipt('Rhand', nyLLIka)
         Uo.Equipt('Lhand', shit)
         wait(300)
         Uo.Press(120)
         ;wait(3000)

         wait(4000)
         Uo.UseType('0x0F09')
         UO.FindType(elem, -1, 1)
         Until (UO.GetHP() == UO.GetMaxHp()) and (UO.FindCount() == 0 )
         UO.warmode(false)
         UO.Exec('exec loot')
         wait(2000)
         ;UO.Exec('exec go')
         
else
         if uo.weight >=2000 then
         x = 2
         y = 2
         else


      k = 0
          UO.CancelTarget()
          havka()
         UO.DeleteJournal()
         t = UO.Timer()
         k = k + 1
         wait(300)
         ;UO.print(x +"  "+y)
         UO.WaitTargetTile( '1339', STR( UO.GetX("self") + x ), STR( UO.GetY("self") + y ), 0)
         UO.UseType( Kirka )
         UO.print ("Kopaem v: "+ STR( UO.GetX("self") + x )+" "+ STR( UO.GetY("self") + y ))

         repeat
            wait(500)
         until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR ((t + MaxTime) < UO.Timer()) ;OR UO.InJournal(ms4)
       endif

next
next
Uo.Print(k)

endif

endsub

sub checkstam()

havka()

if uo.stamina < stamprotect then
uo.findtype(refresh,-1,'backpack')
if uo.findcount() then
uo.usetype(refresh)
wait(1000)
else
uo.print("Nety Refreshey blya!")
repeat
wait(500)
until uo.stamina >= stamprotect
endif
else
endif
uo.exec('set finddistance 2')
UO.FindType(forge,-1,'ground')
if uo.findcount() then
;plavka()
else
endif
loot()
endsub

sub gohome()
repeat
uo.useobject(rb)
wait(500)
uo.lclick(213,83)
wait(12000)
until uo.getx() == 364 and uo.gety() == 1482 and uo.getZ() == 2
checklag()
walker(364,1481,6)
checklag()
uo.opendoor()
walker(364,1475,9)
wait(500)
walker(362,1475,9)
uo.print("Priehali ura!")
plavka()
armslor()
rasklad()
endsub

sub blud()
uo.waittargettile('2881', '5176', '3266', '46')
uo.usetype('0x0E22')
endsub

sub vihod()
var i = 0
blud()
dropblya()
uo.useobject(sunduk)
uo.useobject(sunduk1)
uo.findtype(gstr,-1,'backpack')
uo.moveitem('finditem',0,sunduk1)
wait(300)
uo.findtype(refresh,-1,'backpack')
uo.moveitem('finditem',0,sunduk1)
wait(300)
uo.findtype(gh,-1,'backpack')
uo.moveitem('finditem',0,sunduk1)
wait(300)
uo.findtype(havka,-1,'backpack')
uo.moveitem('finditem',0,sunduk1)
wait(300)
uo.findtype(gold,-1,'backpack')
uo.moveitem('finditem',0,sunduk1)
wait(300)
uo.findtype('0x0F9E');noznizi
while uo.findcount() > 0
uo.findtype(bandage)
uo.moveitem('finditem',0,sunduk)
wait(300)
wend
uo.findtype(bandage)
while uo.findcount() > 0
uo.findtype(bandage)
uo.moveitem('finditem',0,sunduk1)
wait(300)
wend
uo.findtype('0x0F0E');emptybotle
while uo.findcount() > 0
uo.findtype('0x0F0E')
uo.moveitem('finditem',0,sunduk1)
wait(300)
wend

uo.findtype(nyLLIka)
while uo.findcount() > 0
uo.findtype(kirka)
uo.moveitem('finditem',0,sunduk)
wait(300)
wend

uo.findtype(kirka)
while uo.findcount() > 0
uo.findtype(kirka)
uo.moveitem('finditem',0,sunduk)
wait(300)
wend
uo.findtype(shit)
while uo.findcount() > 0
uo.findtype(shit)
uo.moveitem('finditem',0,sunduk)
wait(300)
wend
armslor()

## berem hlam

while i < 5
uo.findtype(kirka,-1,sunduk)
uo.grab(1,'finditem')
i = i + 1
wait(300)
wend
i = 0
while i < 3
uo.findtype(shit,-1,sunduk)
uo.grab(1,'finditem')
i = i + 1
wait(300)
wend
i = 0
uo.findtype(nognizi,'0x005F',sunduk)
uo.grab(25,'finditem')
wait(300)
uo.findtype(gh,-1,sunduk1)
uo.grab(25,'finditem')
wait(300)
uo.findtype(gh,-1,sunduk1)
uo.grab(1,'finditem')
wait(300)
uo.findtype(refresh,-1,sunduk1)
uo.grab(15,'finditem')
wait(300)
uo.findtype(gstr,-1,sunduk1)
uo.grab(1,'finditem')
wait(300)
uo.findtype(bandage,-1,sunduk1)
uo.grab(150,'finditem')
wait(300)
checklag()
walker(5174,3270,0)
wait(1000)
uo.opendoor()
wait(300)
walker(5174,3273,0)
banan()
endsub

sub banan()
uo.waittargetobject('0x756904BB')
uo.usetype('0x0F9E')
repeat
wait(50)
until UO.injournal("собрали")
uo.usetype(havka)
wait(1000)
armslor()
endsub

sub rasklad()
uo.exec('set finddistance 3')
var ix, iy, iid, icolor = 1, ingtype='0x1BF2'
uo.findtype(ingtype,-1,'backpack')
while uo.findcount() > 0 
   iid = uo.getserial('finditem')
   ;UO.Print(iid)
   icolor = uo.getcolor(iid)
   ;UO.Print(icolor)
   uo.findtype(ingtype,icolor,'ground')
   if uo.findcount() >0 then 
      ix = uo.getx('finditem')
      iy = uo.gety('finditem')
      ;uo.print("Found ing "+ uo.getserial('finditem')+" in X="+Str(ix)+" and Y="+Str(iy))
      uo.moveitem(iid,'all',uo.getserial('finditem'),ix,iy,46)
   else
      uo.drophere(iid)
   endif
   wait(500)
   uo.findtype(ingtype,-1,'backpack')
wend
endsub

sub dropblya()
armslor()
uo.findtype(ingtype,-1,'backpack')
while uo.findcount() > 0
uo.findtype(ingtype,-1,'backpack')
uo.drop(0,0,0,0,uo.getserial('finditem'))
wait(300)
wend
uo.findtype(sera,-1,'backpack')
while uo.findcount() > 0
uo.findtype(sera,-1,'backpack')
uo.drophere(uo.getserial('finditem'))
wait(300)
wend
endsub

Sub plavka()
Uo.FindType (ore ,'-1','backpack')
While UO.FindCount()
Uo.FindType (ore ,'-1','backpack')
Uo.UseType(ore)
wait(4000)
wend
EndSub


sub go()
while uo.weight < 2000
if uo.weight < 1999 then
kopka()
checkstam()
walker(UO.GetX()+shagx, UO.GetY() - shagy, 1)
endif
if uo.weight < 1999 then

kopka()
checkstam()
walker(UO.GetX()+shagx, UO.GetY() - shagy, 1)
endif
if uo.weight < 1999 then

kopka()
checkstam()
walker(UO.GetX()+shagx, UO.GetY() + shagy, 1)
endif
if uo.weight < 1999 then

kopka()
checkstam()
walker(UO.GetX()+shagx, UO.GetY() + shagy, 1)
endif
if uo.weight < 1999 then

kopka()
checkstam()
walker(UO.GetX()-shagx, UO.GetY() + shagy, 1)
endif
if uo.weight < 1999 then

kopka()
checkstam()
walker(UO.GetX()-shagx, UO.GetY() + shagy, 1)
endif
if uo.weight < 1999 then

kopka()
checkstam()
walker(UO.GetX()-shagx, UO.GetY() - shagy, 1)
endif
if uo.weight < 1999 then

kopka()
checkstam()
walker(UO.GetX()-shagx, UO.GetY() - shagy, 1)
endif
if uo.weight < 1999 then

kopka()
endif
wend

endsub


Sub Loot()
uo.exec('set finddistance 2')
 
UO.FindType( '0x0EED', -1, 'ground' )
      If UO.FindCount() > 0 Then
         UO.MoveItem( 'finditem',0, 'backpack' )
         wait(500)
      Endif
UO.FindType( '0x19B9', -1, 'ground' )
      If UO.FindCount() > 0 Then
         UO.MoveItem( 'finditem',0, 'backpack' )
         wait(500)
      Endif
UO.FindType( '0x0F09', -1, 'ground' )
      If UO.FindCount() > 0 Then
         UO.MoveItem( 'finditem',0, 'backpack' )
         wait(500)
      Endif
EndSub

             
var MaxTraceDistance=10
var Speed=1
var StepTimeOut=1000
var Prec = 0
Sub Walker(GoX,GoY,PrecControl)

  Prec = PrecControl
  UO.Print("Prec = "+ Str(prec))
  UO.SetGlobal("Logging","0")
  UO.SetGlobal("BlindWalk","0")
  var LastDir
  UO.SetGlobal("GlobalGoX",str(GoX))
  UO.SetGlobal("GlobalGoY",str(GoY))
  while not IsEnd(GoX,GoY)
    LogInfo('Just walking')
    LastDir=GoUntilHit(GoX,GoY)
    if not IsEnd(GoX,GoY) then
      LogInfo('Tracing')
      FullAroundTrace(LastDir,GoX,GoY)
    end if
  wend
end sub

Sub FullAroundTrace(StartDir,GoX,GoY)
  var LineX=UO.GetX()
  var LineY=UO.GetY()
  var CurDir=StartDir
  var Direction=CountDirection(GoX,GoY,CurDir)
  var StartX,StartY
  var MovesDone=0
  repeat
    StartX=UO.GetX()
    StartY=UO.GetY()
    CurDir=Tracer(CurDir,Direction)
    if (CurDir==GetDir(GoX,GoY)) then
      return
    endif
    if MovesDone>0 and PrevMoveCross(GetDirToDir(UO.GetDir()),LineX,LineY,GoX,GoY,StartX,StartY) then
      return
    end if
    MovesDone=MovesDone+1
    CurDir=AddToDir(CurDir,-Direction)
  until MovesDone>MaxTraceDistance
end sub

Sub CountDirection(GoX,GoY,StartDir)
  var GoDir=GetDir(GoX,GoY)
  var MyX=UO.GetX()
  var MyY=UO.GetY()
  if GoDir<StartDir then
    return -1
  end if
  if GoDir>StartDir then
    return 1
  end if
  if Abs(MyX-GoX)>Abs(MyY-GoY) then
    if (GoDir==3 and GoY>MyY) OR (GoDir==7 and GoY<MyY) then
      return -1
    else
      return 1
    end if
  else
    if (GoDir==1 and GoX<MyX) or (GoDir==5 and GoX>MyX) then
      return -1
    else
      return 1
    end if
  end if
end sub

Sub PrevMoveCross(Dir,x1,y1,x2,y2,StartX,StartY)
  var x3,y3,x4,y4
  x3=StartX
  y3=StartY
  x4=StartX+(XFromDir(Dir)-StartX)*Speed
  y4=StartY+(YFromDir(Dir)-StartY)*Speed
  return LinesCrossing(x1,y1,x2,y2,x3,y3,x4,y4)
end sub

Sub LinesCrossing(x1,y1,x2,y2,x3,y3,x4,y4)
  if x1==x3 and y1==y3 then
    return false
  end if
  var z1=(x3-x1)*(y2-y1)-(y3-y1)*(x2-x1)
  var z2=(x4-x1)*(y2-y1)-(y4-y1)*(x2-x1)
  if z1*z2>0 then
    return false
  else
    LogInfo('Vector info:')
    LogInfo('x1= '+str(x1))
    LogInfo('y1= '+str(y1))
    LogInfo('x2= '+str(x2))
    LogInfo('y2= '+str(y2))
    LogInfo('x3= '+str(x3))
    LogInfo('y3= '+str(y3))
    LogInfo('x4= '+str(x4))
    LogInfo('y4= '+str(y4))
    return true
  end if
end sub

Sub IsDiap(X,X0,X1)
  if X<=X0+Prec and X>=X1-Prec OR X>=X0-Prec and X<=X1+Prec then
    return true
  end if
  return false
end sub

Sub GoUntilHit(GoX,GoY)
  var LastDir
  LastDir=GetDir(GoX,GoY)
  var CouldMove
  repeat
    LastDir=GetDir(GoX,GoY)
    if LastDir<>0 and not IsEnd(GoX,GoY) then
      CouldMove=TryDir(LastDir)
    end if
  until LastDir==0 or IsEnd(GoX,GoY) or not CouldMove
  return LastDir
end sub

Sub IsEnd(GoX,GoY)
  if Abs(UO.GetX()-GoX)<=Prec and Abs(UO.GetY()-GoY)<=Prec then
    LogInfo('END FOUND')
    return true
  else
    return false
  end if
end sub

Sub GetDir(GoX,GoY)
  var MyX=UO.GetX()
  var MyY=UO.GetY()
  var DiffX=Abs(UO.GetX()-GoX)
  var DiffY=Abs(UO.GetY()-GoY)
  var GoDir=0
  if (DiffX/(DiffY+0.1))>=2 then
    if (MyX>GoX) then
      GoDir=7
    else
      GoDir=3
    end if
  else

  if (DiffY/(DiffX+0.1))>=2 then
    if (MyY>GoY) then
      GoDir=5
    else
      GoDir=1
    end if
  else
 
  if (MyX>GoX) and (MyY>GoY) then
    GoDir=6
  else
  if (MyX>GoX) and (MyY<GoY) then
    GoDir=8
  else
  if (MyX<GoX) and (MyY>GoY) then
    GoDir=4
  else
  if (MyX<GoX) and (MyY<GoY) then
    GoDir=2
  end if
  end if
  end if
  end if
  end if
  end if
  return GoDir
end sub

Sub Tracer(StartDir,Direction)
  var CurDir=StartDir
  var Result
  repeat
    Result=TryDir(CurDir)
    if not Result then
      CurDir=AddToDir(CurDir,Direction)
    end if
  until Result
  return Result
end sub

Sub AddToDir(Dir,Cnt)
  var NewDir=Dir
  NewDir=NewDir+Cnt
  while NewDir>8
    NewDir=NewDir-8
  wend
  while NewDir<1
    NewDir=NewDir+8
  wend
  return NewDir
end sub

Sub TryDir(Dir)
  var BegX=UO.GetX() # Ia?aeuiia O
  var BegY=UO.GetY() # Ia?aeuiia Y
  var Counter=0
  var GoX=BegX
  var GoY=BegY
  GoX=XFromDir(Dir)
  GoY=YFromDir(Dir)
  if not IsPass(UO.asmMapGetTile(GoX,GoY,0)) then
    LogInfo(str(UO.asmMapGetTile(GoX,GoY,0))+' is not passable')
  return false
  end if
  return TurnAndGoDir(Dir)
end sub

Sub XFromDir(Dir)
  if Dir==2 OR Dir==3 Or Dir==4 then
    return (UO.GetX()+1)
  end if
  if Dir==6 OR Dir==7 Or Dir==8 then
    return (UO.GetX()-1)
  end if
  return (UO.GetX())
end sub

Sub YFromDir(Dir)
  if Dir==8 OR Dir==1 Or Dir==2 then
    return (UO.GetY()+1)
  end if
  if Dir==4 OR Dir==5 Or Dir==6 then
    return (UO.GetY()-1)
  end if
  return (UO.GetY())
end sub

Sub TurnAndGoDir(Dir)
  var StartDir=GetDirToDir(UO.GetDir())
  var StartX=UO.GetX()
  var StartY=UO.GetY()
  var EndDir
  var Counter=0
  GoDir(Dir)
  repeat
    EndDir=GetDirToDir(UO.GetDir())
    wait(100)
    Counter=Counter+1
  until StartDir<>EndDir or StartY<>UO.GetY() or StartX<>UO.GetX() or Counter>=8
  if Counter>=8 then
  return 0
  end if
  if StartY<>UO.GetY() or StartX<>UO.GetX() then
  return Dir
  else
  GoDir(Dir)
    repeat
      wait(100)
      Counter=Counter+1
    until StartY<>UO.GetY() or StartX<>UO.GetX() or Counter>=StepTimeOut/100
    if Counter>=StepTimeOut/100 then
      LogInfo('Step timeout reached')
      return 0
    else
      return Dir
    end if
  end if
end sub

sub Test2()
Tracer(7,1)
end sub

Sub GetDirToDir(GotDir)
var ChangedDir=-GotDir
ChangedDir=AddToDir(ChangedDir,5)
return ChangedDir
end sub

Sub DirToInj(Dir)
var OutDir
if Dir==1 then
OutDir=1
end if
if Dir==2 then
OutDir=2
end if
if Dir==3 then
OutDir=3
end if
if Dir==4 then
OutDir=6
end if
if Dir==5 then
OutDir=9
end if
if Dir==6 then
OutDir=8
end if
if Dir==7 then
OutDir=7
end if
if Dir==8 then
OutDir=4
end if
return OutDir
end sub

Sub GoDir(Dir)
dim Dirs[9]
Dirs[1]=35
Dirs[2]=40
Dirs[3]=34
Dirs[4]=39
Dirs[5]=33
Dirs[6]=38
Dirs[7]=36
Dirs[8]=37

var DistanceX=Abs(UO.GetX()-val(UO.GetGlobal("GlobalGoX")))
var DistanceY=Abs(UO.GetY()-val(UO.GetGlobal("GlobalGoY")))
var GoDistance
if (DistanceX-Prec)<Speed then
GoDistance=DistanceX-Prec
else
if (DistanceY-Prec)<Speed then
GoDistance=DistanceY-Prec
else
GoDistance=Speed
endif
endif

UO.Press(Dirs[Dir],GoDistance)
endsub

Sub IsPass(ID)
  if UO.GetGlobal("BlindWalk") then
    return true
  endif
  dim Types[60]
  Types[0]=4
  Types[1]=3
  Types[2]=5
  Types[3]=6
  Types[4]=203
  Types[5]=197
  Types[6]=212
  Types[7]=242
  Types[8]=241
  Types[9]=196
  Types[10]=198
  Types[11]=199
  Types[12]=1713
  Types[13]=1724
  Types[14]=243
  Types[15]=240
  Types[16]=219
  Types[17]=209
  Types[18]=214
  Types[19]=57
  Types[20]=24
  Types[21]=52
  Types[22]=22
  Types[23]=56
  Types[24]=23
  Types[25]=25
  Types[26]=58
  Types[27]=53
  Types[28]=61
  Types[29]=59
  Types[30]=580
  Types[31]=585
  Types[32]=581
  Types[33]=582
  Types[34]=583
  Types[35]=584
  Types[36]=596
  Types[37]=152
  Types[38]=81
  Types[39]=93
  Types[40]=95
  Types[41]=83
  Types[42]=142
  Types[43]=503
  Types[44]=141
  Types[45]=143
  Types[46]=500
  Types[47]=1088
  Types[48]=1089
  Types[49]=1086
  Types[50]=155
  Types[51]=501
  Types[52]=98
  Types[53]=90
  Types[54]=502
  Types[55]=1087
  Types[56]=598
  Types[57]=582
  Types[58]=200
  Types[59]=216
 
  for var i=0 to 59
    if Types[i]==ID then
      return true
    end if
  next
  return false
end sub

Sub LogInfo(Line)
  if not UO.GetGlobal("Logging")=="0" then
    UO.TextOpen()
    UO.TextPrint(str(UO.GetX())+":"+str(UO.GetY())+" - "+str(Line));
  end if
end sub

Sub Abs(X)
  if X>0 then
    return X
  else
    return (-X)
  end if
end sub

endsub

sub CheckLag()
if uo.Waiting()>0 then
uo.Exec('canceltarget')
end if
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(50)
until uo.InJournal('backpack')
end sub

sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
if uo.injournal("fatigued to move") then
uo.sayu(".drinkref")
havka()
uo.deletejournal()
wait(1000)
else
endif
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
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.Exec('terminate all')
;UO.Exec('exec fishing')
UO.TextOpen()
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
RFlag = 1
ReconnectTime = '0'
endif
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 havka()
   If UO.InJournal("Вам не мешало") or UO.InJournal("быка")or UO.InJournal("голодны") or UO.InJournal("перекусить") or UO.InJournal("голода") then
   UO.UseType(havka)   
   else
   endIf
endsub

sub mo()
uo.exec('set finddistance 0')
uo.print('4to brat? ')
uo.exec('addobject item1')
while uo.targeting()
wait(100)
wend

uo.print('Kuda logit?')
uo.exec('addobject sumka1')
while uo.targeting()
wait(100)
wend


uo.findtype(uo.getGraphic('item1') ,uo.getColor('item1'),'ground')
   while UO.FindCount()
uo.findtype(uo.getGraphic('item1') ,uo.getColor('item1'),'ground')   
      uo.moveitem('finditem','0','sumka1')
      wait(100)
   wend
endsub


sub armslor()
;uo.addObject('volina')
;while uo.targeting()
;wait(200)
;wend


;repeat
;uo.waittargetobject('0x74A4DD95')
;havka()
;UO.DeleteJournal()
;UO.UseSkill('Arms Lore')
;wait(1500)
;UO.RClick(275,154)
;wait(500)
;until uo.dead()
endsub

sub splavi()
uo.exec('set finnddistance 0')
uo.exec('addobject item1')
while uo.targeting()
wait(100)
wend
uo.exec('addobject item2')
while uo.targeting()
wait(100)
wend

while true
uo.findtype('item1')

wend
endsub

Mazhor
Posts: 18
Joined: 2005-08-23 01:05:41
Contact:

Post by Mazhor »

Code: Select all

sub gohome()
repeat
uo.useobject(rb)
wait(500)
uo.lclick(213,83)
wait(12000)
until uo.getx() == 364 and uo.gety() == 1482 and uo.getZ() == 2
checklag()
walker(364,1481,6)
checklag()
uo.opendoor()
walker(364,1475,9)
wait(500)
walker(362,1475,9)
uo.print("Priehali ura!")
plavka()
armslor()
rasklad()
endsub

Чар реколится домой, открывает двери, но в дом не заходит...=(
Mazhor
Posts: 18
Joined: 2005-08-23 01:05:41
Contact:

Post by Mazhor »

помогите сделать пожалуйсто...
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

=) если я не ошибаюсь, то PrecControl - точность подхода к цели, а не координата Z :)

У тебя имеется: walker(364,1475,9)
Наверное нужно поменьше поставить?

ЗЫ: Скрипт явно был написан за лаве... спроси у автора что да как =)
Mazhor
Posts: 18
Joined: 2005-08-23 01:05:41
Contact:

Post by Mazhor »

Автор этого скрипта уже два месяца не появляется...
Я не уследил и старый дом пропал за неуплату (под тот дом был заточен скрипт). Я хочу переделать под другой...
зы: скрипт халявный=)

Code: Select all

 
until uo.getx() == 364 and uo.gety() == 1482 and uo.getZ() == 2 - это то место куда чар реколиться

walker(364,1481,6) - это он заходит на ступени (но не заходит)

uo.opendoor() - двери то окрывает но в самом начале и в дом не идёт

walker(364,1475,9) - должен заходить в дом по прямой

walker(362,1475,9) - поварачивает в доме и идёт к форже...

DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Ну хз... Скрипт невъебенного размера... без поллитра не разобратся что к чему и как... :)
Ты хоть координаты переставил? (всмысле для нового дома)
DerMeister сейчас на нейрале!
Mazhor
Posts: 18
Joined: 2005-08-23 01:05:41
Contact:

Post by Mazhor »

Конечно...
Да не такой он уж и большой :P
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Критический размер - 30 строк. Более длинные чужие скрипты не читаю. 8)

ЗЫ: Локализуй проблему, запости только нужный кусок. Гораздо больше вероятность, что кто-то поможет.
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Угу... я например даже не могу понять, что в этом скрипте "ходилка", а что нет...
DerMeister сейчас на нейрале!
dmitrykit
Posts: 247
Joined: 2005-06-12 22:12:15

Post by dmitrykit »

vobwe, kogdato v poiskah interesnyh idej dlja modernizachiji svojego skripta, ja obnaruzhil, 4to vse 4to tut imejecca vyrosla iz odnogo roditelja.. i nichego novogo u naroda net.. vse tezhe oshibki.....
Mazhor
Posts: 18
Joined: 2005-08-23 01:05:41
Contact:

Post by Mazhor »

Всем спасибо!
Я уже всё сделал...
Sanch
Posts: 308
Joined: 2005-07-17 15:30:52
Location: www.drw.ru

Post by Sanch »

Угу... я например даже не могу понять, что в этом скрипте "ходилка", а что нет...


Я ее то же не нашел, но она там точно есть :)
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Использована ходилка беёндера или похожая.
Tukula
Posts: 10
Joined: 2006-03-17 20:23:57
Contact:

Post by Tukula »

В последней строке ошибка :( что делать?
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Tukula wrote:В последней строке ошибка :( что делать?


Телепаты в отпуске. Какая ошибка? Их, знаешь ли, достаточно много разных бывает...
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Tukula wrote:В последней строке ошибка :( что делать?

Убей себя об стену! :wink: :lol: :D :P
DerMeister сейчас на нейрале!
Post Reply