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

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