Подскажите плиз как реализовать проверку

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Figator
Posts: 2
Joined: 2004-10-22 21:14:40

Подскажите плиз как реализовать проверку

Post by Figator »

Подскажите плиз как реализовать - мне нужно чтобы скрипт, ждал пока чар Выкопает, или Срубит дерево прежде чем запускал скрипт опять на копание, WAIT 5000 неподходит, нужно именно проверка закончил ли чар что-то делать, если закончил то начинать опять Цикл.
GrayLord
Expert!
Posts: 333
Joined: 2004-06-04 03:24:25
Contact:

Re: Подскажите плиз как реализовать проверку

Post by GrayLord »

Figator wrote:Подскажите плиз как реализовать - мне нужно чтобы скрипт, ждал пока чар Выкопает, или Срубит дерево прежде чем запускал скрипт опять на копание, WAIT 5000 неподходит, нужно именно проверка закончил ли чар что-то делать, если закончил то начинать опять Цикл.

1) пока не изменится количество рессурсов
2) пока не придет какое-либо сообщение удачном/неудачном об окончании добычи, или отсутствии руды/дерева.
Figator
Posts: 2
Joined: 2004-10-22 21:14:40

Post by Figator »

А нельзя ли какой-нить примерчик, а то я не сам не силен. Тока на примерах пониманию
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

Писалось мной очень давно для ДРВ. Я тогда еще плохо в инже разбирался, так что скрипт простенький.

Современный состоит из нескольких функций с туевой хучей защит и проверок. Думаю в нем ты не разберешься.

На первый взгляд тут есть защита от зацикливания и черезмерного загруза дерьмовой рудой. Ну короче поковыряй, попробуй. :)

Code: Select all


#################################################################################
#   Окапывание ячейки (x + k), (y + j)               #
#################################################################################

Sub Mine(x, y, k, j)
   Var TimeOut=9000      # Максимальное время копания
   Var TimeCur         # Текущее время копания
   StartMineLab:
   If UO.Weight>MaxWeight then
      Unload(X,Y)
   EndIf
   Hide()
   timecur=0
   CheckLag()
   UO.WaitTargetTile('0', STR(x + k), STR(y + j), '0')
   UO.UseType(STR(Kirka))
   UO.DeleteJournal()
   Repeat
      timecur=timecur+50
      wait(50)
   Until UO.InJournal("your pack") or UO.InJournal("Ore Elemental") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("no ore") or TimeCur>TimeOut
   If UO.InJournal("Elemental") then
      FightElem()
   endif
   If UO.InJournal("Elemental") or UO.InJournal("in rock") or UO.InJournal("no ore") or UO.InJournal("far away") or UO.InJournal("Rusty Ore") or UO.InJournal("Copper Ore") then
      Return
   Else
      GoTo StartMineLab
   endif
End Sub
Post Reply