Опять нужна помощь скриптеров(

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Agent
Posts: 29
Joined: 2005-04-21 16:09:16

Опять нужна помощь скриптеров(

Post by Agent »

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

Code: Select all

sub mine() 
   VAR DigDistance, TileNum, KillElemental 
   VAR ElemSignal, LastTimer 
   DIM BaseX[4], BaseY[4] 
   VAR BaseZ, WayPoint, WayPoints 
   VAR MaxWeight 

   VAR i,j,TileY,TileX,DirX,DirY 
   VAR Delta,BeginX,EndX,BeginY,EndY 
    
   TileNum='1341'
    
   MaxWeight=100

   DigDistance=2
   
   KillElemental='No' 

   ElemSignal='Off' 


   BaseX[1]=1990
   BaseY[1]=262
   BaseZ=0 

   BaseX[2]=1975
   BaseY[2]=263

   BaseX[3]=2560
   BaseY[3]=481

   BaseX[4]=2579
   BaseY[4]=490

   WayPoints=4 
    
   While NOT UO.Dead() 
    
      For WayPoint=1 to WayPoints-4
         SuperWalk(BaseX[WayPoint],BaseY[WayPoint],"") 
         digitstay(MaxWeight,DigDistance,KillElemental,ElemSignal,BaseX[WayPoint],BaseY[WayPoint]) 
      Next 
   wend 
end sub 

;-------------------- Try to mine under self ------------------ 
sub digitstay(MaxWeight,MaxDistance,KillElemental,ElemSignal,BaseX,BaseY) 
   VAR x,y,z='0',TileNum='1339' 
   VAR Last=0,LastTimer, ContFlag=1 
   VAR MaxTimer=110 

   For x=-MaxDistance to MaxDistance 
      For y=-MaxDistance to MaxDistance 
         Repeat 
            CheckLag() ; deleting journal 
             
            UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),8) 
            UO.UseType('0x0E85') 

            LastTimer=UO.Timer() 

            Repeat 
               wait(500) 
            until UO.InJournal("Try mining") OR UO.InJournal("You put") OR UO.InJournal("You loosen") OR UO.InJournal("There is no") OR UO.InJournal("That is too") OR UO.InJournal("OOPS") OR UO.InJournal("attacking you") OR LastTimer+200<UO.Timer()               

            If UO.InJournal('You loosen') then 
               repeat 
                  wait(500) 
               until UO.InJournal("You put") OR LastTimer+MaxTimer<UO.Timer() 
            Endif

            If UO.Weight>=MaxWeight then 
         dom()
         unload()
         back()
            Endif 
            
            If UO.Dead() then
         test()
         ready()
         back()
            Endif
         Until UO.InJournal("There is no") OR UO.InJournal("That is too") OR UO.InJournal("Try mining") OR ContFlag==0
      Next 
   Next 
end sub
Destruction: Учимся юзать тэги форума.
Agent
Posts: 29
Joined: 2005-04-21 16:09:16

Post by Agent »

какие еще "ТЭГИ"?! Неужели я прошу чтото запретное??? Этот скрипт немного отличается от выложенного на форуме, вот и прошу скриптеров немного помочь...
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Agent wrote:какие еще "ТЭГИ"?! Неужели я прошу чтото запретное??? Этот скрипт немного отличается от выложенного на форуме, вот и прошу скриптеров немного помочь...
Извиняюсь, я хотел сказать коды, но смысла сообщения это не меняет.

Столь большие скрипты следует помещать меджц [!code] и [/code], что я был вынужден сделать за тебя.

В следущий раз будь внимательнее.
Agent
Posts: 29
Joined: 2005-04-21 16:09:16

Post by Agent »

оки 8)
Post Reply