немогу понять

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Shadowdancer
Posts: 96
Joined: 2005-08-25 23:35:29

немогу понять

Post by Shadowdancer »

Почему эта обкопка заканчивает копать в разное время, восновном после того как кого то увидит или с хайда выйдет!


зачем тут этот таймер ?

Code: Select all

t = UO.Timer()

Code: Select all

sub Mine_Around() 
for y=-2 to 2 
for x=-2 to 2 
      k = 0 
      repeat 
         UO.DeleteJournal() 
         t = UO.Timer() 
         k = k + 1 
         UO.CancelTarget() 
         wait(300)
         while NOT UO.Hidden() 
UO.DeleteJournal() 
UO.Warmode('0') 
UO.UseSkill('Hiding') 
repeat 
wait(1000) 
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied') or UO.Dead() 
wend 

         UO.WaitTargetTile( -1, STR( UO.GetX() + x ), STR( UO.GetY() + y ), STR(UO.GetZ()) ) 
         
         UO.UseType( Kirka ) 
         repeat 
            wait(300) 
         until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR UO.InJournal(ms8) OR ((t + MaxTime) < UO.Timer()) 
		 wait(300)
         If UO.Weight > MaxVes Then 
         home()
            UO.Print(" Overweight!" ) 
            return 
         Endif 
      until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) ) 
   next 
next 
endsub 
Shadowdancer
Posts: 96
Joined: 2005-08-25 23:35:29

Post by Shadowdancer »

кто то знает как зделать проверку если разхайдился сразу в хайд и дальше копать. А то я понял как его разхайдят он тупит!
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Shadowdancer wrote:кто то знает как зделать проверку если разхайдился сразу в хайд и дальше копать. А то я понял как его разхайдят он тупит!
У тебя перед каждым копком проверяется.
Shadowdancer
Posts: 96
Joined: 2005-08-25 23:35:29

Post by Shadowdancer »

а чего же он тормозит ? Как то непонятно, то почти сразу после того как запустишь скрипт то через 5 часов :(
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Shadowdancer wrote:а чего же он тормозит ? Как то непонятно, то почти сразу после того как запустишь скрипт то через 5 часов :(
Потому что он у тебя не зациклен, останавливается когда заканчивается цикл for next, т.е. когда обкопает все вокруг, а этот может быть быстро(если нет руды), или долго(если руда есть). И еще не понятно где сообщения?(msg1 и т.д. выложи весь скрипт).
Пробуй так:

Code: Select all

sub Mine_Around() 
while not UO.Dead()
for y=-2 to 2 
for x=-2 to 2 
      k = 0 
      repeat 
         UO.DeleteJournal() 
         t = UO.Timer() 
         k = k + 1 
         UO.CancelTarget() 
         wait(300) 
         while NOT UO.Hidden() 
UO.DeleteJournal() 
UO.Warmode('0') 
UO.UseSkill('Hiding') 
repeat 
wait(1000) 
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied') or UO.Dead() 
wend 

         UO.WaitTargetTile( -1, STR( UO.GetX() + x ), STR( UO.GetY() + y ), STR(UO.GetZ()) ) 
          
         UO.UseType( Kirka ) 
         repeat 
            wait(300) 
         until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR UO.InJournal(ms8) OR ((t + MaxTime) < UO.Timer()) 
       wait(300) 
         If UO.Weight > MaxVes Then 
         home() 
            UO.Print(" Overweight!" ) 
            return 
         Endif 
      until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) ) 
   next 
next 
wend
endsub 
Shadowdancer
Posts: 96
Joined: 2005-08-25 23:35:29

Post by Shadowdancer »

Code: Select all

VAR Kirka = '0x0F39'   ; Òèï Êèðêè 
VAR MaxVes = 320  ;  
VAR TileNum = '1341'   ;  
VAR x, y, t, k 
VAR MaxTime = 100   ; 
VAR ms1 = "There is nothing" 
VAR ms2 = "You have" 
VAR ms3 = "You put" 
VAR ms4 = "You loosen some rocks" 
VAR ms5 = "That is too far away" 
VAR ms6 = "Try mining in rock" 
VAR ms7 = "You can't see that" 
VAR ms8 = "Try mining" 
var MaxTraceDistance=6
var TraceLoopIncrease=5 
var LimitTrace=20 
var Speed=1 
var StepTimeOut=500 
# Äëÿ õîäüáû - 500+Ping 
# Äëÿ áåãà/õîäüáû íà ëîøàäè - 300+Ping 
# Áåã íà ëîøàäè - 150 + Ping 

var CheckCnt=2 
var DynamicPause=30 
var SumkaDom='0x40DA5983' # 
var Forge='0x400715D4'
var Sunduk='0x40DA5983'


sub main()
while not uo.dead()

  walker(2367,827,0);
  Mine_Around();
#  DropAll()
#  uo.usetype('0x0C5C',-1);
 
  walker(2370,824,0);
  Mine_Around();
#  DropAll()
  walker(2372,820,0);
  Mine_Around();
#  DropAll()
  walker(2369,818,0);
  Mine_Around();
  walker(2365,820,0);
#  DropAll()
# walker(1254,2655,0);
  Mine_Around();
#  DropAll()
  walker(2365,823,0);
  Mine_Around();
#  DropAll()
  walker(2361,824,0);
  Mine_Around();
#  DropAll()
sub home()
  walker(2356,805,0);
  walker(2348,809,0);
  walker(2348,837,0);
  walker(2365,852,0);
  walker(2356,865,0);
  walker(2342,881,0);
  walker(2327,881,0);
  walker(2327,904,0);
  walker(2324,906,0);
  wait (1000)
  #SmeltIron()
  DropAll()
    wait(1000)
  shaxta()
 sub shaxta()
 walker(2327,904,0);
 walker(2327,881,0);
 walker(2342,881,0);
 walker(2356,865,0);
    walker(2365,852,0);
      walker(2355,843,0);
            walker(2348,837,0);
              walker(2348,810,0);
              walker(2356,805,0);
              walker(2362,818,0);
              walker(2365,821,0);
              main()
             
end sub

sub DropAll()

wait(500)
#uo.useobject(Sunduk)
uo.setreceivingcontainer(Sunduk)
#uo.setcatchbag(SumkaDom)
wait(1000)
  while uo.count('0x19B9')>0
    uo.findtype('0x19B9')
    uo.moveitem('finditem','1000',Sunduk)
    wait(700)
  wend
  wait(500)
  while uo.count('0x1BEF')>0
    uo.findtype('0x1BEF')
    uo.moveitem('finditem','1000',Sunduk)
    wait(700)
  wend
wait(500)
  while uo.count('0x1BE3')>0
    uo.findtype('0x1BE3')
    uo.moveitem('finditem','1000',Sunduk)
    wait(700)
  wend

end sub

sub SmeltIron() 
  
   var orecount = 0 
    
   uo.IgnoreReset() 
   uo.FindType('0x19B9') 
   while uo.FindCount() 
      orecount = uo.GetQuantity('finditem') 
      while orecount > 9 
         uo.UseObject('finditem') 
         while orecount == uo.GetQuantity('finditem') 
            wait(100) 
         wend 
         orecount = uo.GetQuantity('finditem') 
      wend 
      if orecount then 
         uo.Ignore('finditem') 
      end if 
      uo.FindType('0x19B9') 
   wend 

end sub

sub GetPickaxe()
var tmp,p;
  if uo.count("0x0F3A")<2 then
    uo.useobject(SumkaDom);
    Wait(300);
    tmp=uo.count("0x0F3A");
    uo.findtype('0x0F3A',-1,SumkaDom);
    uo.grab(1,'finditem');
    p=0;
    while tmp==uo.count("0x0E85") and p<20
      wait(100);
      p=p+1;
    wend
  end if
end sub

sub Mine_Around() 
for y=-2 to 2 
for x=-2 to 2 
      k = 0 
      repeat 
         UO.DeleteJournal() 
         t = UO.Timer() 
         k = k + 1 
         UO.CancelTarget() 
         wait(300)
         while NOT UO.Hidden() 
UO.DeleteJournal() 
UO.Warmode('0') 
UO.UseSkill('Hiding') 
repeat 
wait(1000) 
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied') or UO.Dead() 
wend 

         UO.WaitTargetTile( -1, STR( UO.GetX() + x ), STR( UO.GetY() + y ), STR(UO.GetZ()) ) 
         
         UO.UseType( Kirka ) 
         repeat 
            wait(300) 
         until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR UO.InJournal(ms8) OR ((t + MaxTime) < UO.Timer()) 
		 wait(300)
         If UO.Weight > MaxVes Then 
         home()
            UO.Print(" Overweight!" ) 
            return 
         Endif 
      until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) ) 
   next 
next 
endsub 

Sub Walker(GoX,GoY,Prec) 
  UO.SetGlobal("Logging","0") 
  UO.SetGlobal("BlindWalk","0") 
  var LastDir 
  var MoveRes 
  var TracerCnt 
  UO.SetGlobal("GlobalGoX",str(GoX)) 
  UO.SetGlobal("GlobalGoY",str(GoY)) 
  while not IsEnd(GoX,GoY,Prec) 
    TracerCnt = MaxTraceDistance 
    repeat 
      LogInfo('Just walking') 
      LastDir=GoUntilHit(GoX,GoY,Prec) 

      if IsEnd(GoX,GoY,Prec) then 
        return 1 
      end if 

      LogInfo('Tracing') 
      MoveRes = FullAroundTrace(LastDir,GoX,GoY,Prec,TracerCnt) 
      if TracerCnt > LimitTrace then
        return 0 
      endif 
      TracerCnt = TracerCnt + TraceLoopIncrease 
    until MoveRes == 1 
  wend 
  return 1 
end sub 
  
Sub FullAroundTrace(StartDir,GoX,GoY,Prec,MaxTrace) 
  var LineX=UO.GetX() 
  var LineY=UO.GetY() 
  var CurDir=StartDir 
  var Direction=CountDirection(GoX,GoY,CurDir,Prec) 
  var StartX,StartY 
  var MovesDone=0 
  repeat 
    StartX=UO.GetX() 
    StartY=UO.GetY() 
    CurDir=Tracer(CurDir,Direction,Prec) 
    if (CurDir==GetDir(GoX,GoY,Prec)) then 
      return 1 
    endif 
    if MovesDone>0 and PrevMoveCross(GetDirToDir(UO.GetDir(),Prec),LineX,LineY,GoX,GoY,StartX,StartY,Prec) then 
      return 1 
    end if 
    MovesDone=MovesDone+1 
    CurDir=AddToDir(CurDir,-Direction,Prec) 
  until MovesDone>MaxTrace 
  return 0 
end sub 
  
Sub CountDirection(GoX,GoY,StartDir,Prec) 
  var GoDir=GetDir(GoX,GoY,Prec) 
  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,Prec) 
  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,Prec) 
end sub 
  
Sub LinesCrossing(x1,y1,x2,y2,x3,y3,x4,y4,Prec) 
  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,Prec) 
  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,Prec) 
  var LastDir 
  LastDir=GetDir(GoX,GoY,Prec) 
  var CouldMove 
  repeat 
    LastDir=GetDir(GoX,GoY,Prec) 
    if LastDir<>0 and not IsEnd(GoX,GoY,Prec) then 
      CouldMove=TryDir(LastDir,Prec) 
    end if 
  until LastDir==0 or IsEnd(GoX,GoY,Prec) or not CouldMove 
  return LastDir 
end sub 
  
Sub IsEnd(GoX,GoY,Prec) 
  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,Prec) 
  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,Prec) 
  var CurDir=StartDir 
  var Result 
  repeat 
    Result=TryDir(CurDir,Prec) 
    if not Result then 
      CurDir=AddToDir(CurDir,Direction,Prec) 
    end if 
  until Result 
  return Result 
end sub 
  
Sub AddToDir(Dir,Cnt,Prec) 
  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,Prec) 
  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(GoX,GoY) then 
    LogInfo(str(GoX)+':'+str(GoY)+' is not passable') 
    return false 
  end if 
  return TurnAndGoDir(Dir,Prec) 
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,Prec) 
  var StartDir=GetDirToDir(UO.GetDir(),Prec) 
  var StartX=UO.GetX() 
  var StartY=UO.GetY() 
  var EndDir 
  var Counter=0 
  var TestCounter=CheckCnt 

 #Direction Test 
  repeat 
    Counter = 0 
    LogInfo('Dir: '+str(StartDir)+' Counter: '+str(Counter))  
    PressDir(Dir) 
    repeat 
      EndDir=GetDirToDir(UO.GetDir(),Prec) 
      wait(DynamicPause) 
      Counter=Counter+1 
    until StartDir<>EndDir or StartY<>UO.GetY() or StartX<>UO.GetX() or Counter>=StepTimeOut/DynamicPause 
    TestCounter = TestCounter - 1 
    LogInfo('Dir: '+str(EndDir)+' Counter: '+str(Counter))  
  until TestCounter <= 0 or Counter < StepTimeOut/DynamicPause 

  if Counter>=StepTimeOut/DynamicPause  then 
     LogInfo('Direction timeout reached') 
     return 0 
  end if 
  #End direction Test 

  if StartY<>UO.GetY() or StartX<>UO.GetX() then 
    return Dir 
  end if 
  
  #Start Primary test 
  TestCounter=CheckCnt 
  repeat 
    GoDir(Dir,Prec) 
    Counter=0 
    repeat 
      wait(DynamicPause) 
      Counter=Counter+1 
    until StartY<>UO.GetY() or StartX<>UO.GetX() or Counter>=StepTimeOut/DynamicPause 
    TestCounter = TestCounter - 1 
  until TestCounter <= 0 or Counter < StepTimeOut/DynamicPause 
  #End primary test 

  if Counter>=StepTimeOut/DynamicPause then 
    LogInfo('Step timeout reached') 
    return 0 
  else 
    return Dir 
  end if 
end sub 
  
Sub GetDirToDir(GotDir,Prec) 
   var ChangedDir=-GotDir 
   ChangedDir=AddToDir(ChangedDir,5,Prec) 
   return ChangedDir 
end sub 
  
Sub DirToInj(Dir) 
   dim Dirs[9] 
   Dirs[1]=1 
   Dirs[2]=2 
   Dirs[3]=3 
   Dirs[4]=6 
   Dirs[5]=9 
   Dirs[6]=8 
   Dirs[7]=7 
   Dirs[8]=4 
  
   return (Dirs[Dir]) 
end sub 

Sub PressDir(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 
  
   UO.Press(Dirs[Dir],1) 
end sub 

Sub GoDir(Dir,Prec) 
   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) 
end sub 
  
Sub IsPass(X,Y) 
  if UO.GetGlobal("BlindWalk") then 
    return true 
  endif 
  
   dim Types[60] 
   Types[1]=3 
   Types[2]=25 
   Types[3]=51 
   Types[4]=63 
   Types[5]=113 
   Types[6]=140 
   Types[7]=172 
   Types[8]=219 
   Types[9]=232 
   Types[10]=235 
   Types[11]=239 
   Types[12]=243 
   Types[13]=248 
   Types[14]=251 
   Types[15]=264 
   Types[16]=267 
   Types[17]=282 
   Types[18]=289 
   Types[19]=321 
   Types[20]=379 
   Types[21]=420 
   Types[22]=440 
   Types[23]=476 
   Types[24]=499 
   Types[25]=513 
   Types[26]=542 
   Types[27]=578 
   Types[28]=586 
   Types[29]=622 
   Types[30]=700 
   Types[31]=804 
   Types[32]=1740 
   Types[33]=1758 
   Types[34]=1770 
   Types[35]=1779 
   Types[36]=1779 
   Types[37]=1881 
   Types[38]=1886 
   Types[39]=1801 
   Types[40]=1805 
   Types[41]=1813 
   Types[42]=1820 
   Types[43]=1831 
   Types[44]=1833 
   Types[45]=1843 
   Types[46]=1850 
   Types[47]=1873 
   Types[48]=1876 
   Types[49]=1885 
   Types[50]=1888 
   Types[51]=1946 
   Types[52]=1969 
   Types[53]=2500 
   Types[54]=2539 
  
  for var i=1 TO 53 STEP 2 
    if UO.PrivateGetTile(X,Y,-1,Types[i],Types[i+1]) 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())+" - "+Line); 
  end if 
end sub 
  
Sub Abs(X) 
  if X>0 then 
    return X 
  else 
    return (-X) 
  end if 
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(200000) 
uo.Say('') 
wait(3000) 
uo.Say('') 
wait(3000) 
uo.Say('') 
wait(3000) 
uo.LDblClick(357,164) 
uo.LClick(616,459) 
wait(3000) 
wait(5000)
UO.Exec("terminate main") 
wait(1000)
uo.Exec('exec main') 
end if 
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 
end if 
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 
end if 
next 
ret=t+" @ "+d 
return ret 
end sub 

Shadowdancer
Posts: 96
Joined: 2005-08-25 23:35:29

Post by Shadowdancer »

вот только разхайдят чара он сразу и тупит!
Shadowdancer
Posts: 96
Joined: 2005-08-25 23:35:29

Post by Shadowdancer »

кстати иза твоего некста он на другую точку неидет :)
Ladok ;)
Posts: 3
Joined: 2006-08-07 03:57:54

Re: немогу понять

Post by Ladok ;) »

Shadowdancer wrote:Почему эта обкопка заканчивает копать в разное время, восновном после того как кого то увидит или с хайда выйдет!


зачем тут этот таймер ?

Code: Select all

t = UO.Timer()

Code: Select all

sub Mine_Around() 
for y=-2 to 2 
for x=-2 to 2 
      k = 0 
      repeat 
         UO.DeleteJournal() 
         t = UO.Timer() 
         k = k + 1 
         UO.CancelTarget() 
         wait(300)
         while NOT UO.Hidden() 
UO.DeleteJournal() 
UO.Warmode('0') 
UO.UseSkill('Hiding') 
repeat 
wait(1000) 
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied') or UO.Dead() 
wend 

         UO.WaitTargetTile( -1, STR( UO.GetX() + x ), STR( UO.GetY() + y ), STR(UO.GetZ()) ) 
         
         UO.UseType( Kirka ) 
         repeat 
            wait(300) 
         until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR UO.InJournal(ms8) OR ((t + MaxTime) < UO.Timer()) 
		 wait(300)
         If UO.Weight > MaxVes Then 
         home()
            UO.Print(" Overweight!" ) 
            return 
         Endif 
      until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) ) 
   next 
next 
endsub 
can you post the macro complete? or send to me in Message Private?
Thanks
KoLT 8)
Shadowdancer
Posts: 96
Joined: 2005-08-25 23:35:29

Post by Shadowdancer »

see up
Shadowdancer
Posts: 96
Joined: 2005-08-25 23:35:29

Post by Shadowdancer »

подправте плиз кто может что бы после разхайда он снова хайдился, а то первую минуту хайдится а потом перестает после разхайда!
Shadowdancer
Posts: 96
Joined: 2005-08-25 23:35:29

Post by Shadowdancer »

Все исправил, спасибо за помошь.

Темку можно закрыть!
Post Reply