Yoko

All sides of Injection
It is currently 2026-01-19 09:53:44

All times are UTC+02:00




Post new topic  Reply to topic  [ 3 posts ] 
Author Message
PostPosted: 2007-12-01 13:02:31 
Offline
User avatar

Joined: 2006-10-08 08:37:57
Posts: 87
Народ помогите убрать и этого скрипта рекол, и добавить чтобы ходил к сундуку и выкладывал всё в него..
Code:
##########################################################
###      Lumberjacking / Рубка деревьев v6.8 (Last)    ###
##########################################################
###################################################################################################
var f=file("C:\trees3.dat") ## - Путь к файлу в котором будут хранится координаты деревьев.
###
var TryHiding=0                                                             ## 1 - Перед тем как рубить дерево, будет пытаться уйти в хайд, 0 - не будет .
###
var TryRecall=0                                                            ## 1 - После того как наберет Maxweight, будет пытаться реколиться домой,
###                                                                         ## складывать логи в сундук и реколиться обратно , 0 - не будет.
###
var Carp=1                                                                  ## 1 - будет делать доски из всех бревен, 0 - не будет
###
var DropLogsGround=0                                                        ## будет выбрасывать логи под ноги, 0 - не будет
###
var RechargeBook=0                                                        ## 1 - Включить речарж рунбуки, 0 - отключить речарж.
###
var GetFromFile=0                                                        ## 1 - уже собрали координаты деревьев, 0 - будем маркировать
###
var Maxweight=310                                                          ## вес при котором надо лететь домой и складывать все
###
var EatingFood=0                                                            ## 1 - Будем есть, 0 - нет.
###
var TypeFood='0x09AD'                                                       ## - Тип еды которую будем кушать.
###
var Reconnect=0                                                          ## 1 - Включить реконнект на сервер если выкинет, 0 - отключить реконнект.
###
var RecallLumber=0                                                          ## 1 - Включить рекол в лес после указания обьектов, 0 - выключить.
###
var BankingChest='0x6F559C6A'                                               ## - ID банковского сундука
###
var Sunduk='0x6D113BF1'                                                     ## ID сундука дома для выгрузки логов
###
var Sunduk2='0x6EC19C21'                                                    ## ID сундука с рекол скроллами для перезарядки
###
var ToporChest='0x7080555A'                                                 ## если ломаются топоры, то ID сумки в бекпаке игрока где лежат топоры
###
var Banker='0x007907C1'                                                     ## ID банкира
###
var oldX,oldY,time                                                          ## - Для рекола.
###
###################################################################################################
###
### После настройки (переменных выше) :
### Идите в лес в котором вы хотите рубить.
### Запустите cкрипт Lumberjacking(), Инжект попросит вас указать Топор
### (появится прицел, прицелом на топор который вы с собой взяли),
### затем инжект попросит вас указать Рунбук(появится прицел, прицелом на него).
### После этого чар пойдет по координатам и будет вырубать деревья.
###########
### Код ###
###########
sub Lumberjacking()
var i=0,j=0,k=0,r=0,q=0,ii,jj
var TopX=324,TopY=65
dim TreeX[5000], TreeY[5000],TreeT[5000]
dim TreeTile[29]
var flag=0,treeCount=0,clicks=0,flag2=0
########################
### Графика деревьев ###
########################
TreeTile[0]=3277
TreeTile[1]=3280
TreeTile[2]=3283
TreeTile[3]=3286
TreeTile[4]=3289
TreeTile[5]=3291
TreeTile[6]=3294
TreeTile[7]=3296
TreeTile[8]=3299
TreeTile[9]=3302
TreeTile[10]=3393
TreeTile[11]=3394
TreeTile[12]=3395
TreeTile[13]=3396
TreeTile[14]=3415
TreeTile[15]=3416
TreeTile[16]=3417
TreeTile[17]=3418
TreeTile[18]=3419
TreeTile[19]=3438
TreeTile[20]=3439
TreeTile[21]=3440
TreeTile[22]=3441
TreeTile[23]=3442
TreeTile[24]=3460
TreeTile[25]=3461
TreeTile[26]=3462
TreeTile[27]=3290
TreeTile[28]=3288

uo.Exec("filterspeech on")
uo.Exec("filterspeech add 'Where do you want to use the pickaxe?'")
uo.Exec("set norbcalc 1")
uo.Exec("set norbcheck 1")

uo.Print('Выбери Топор: ')
uo.canceltarget()
uo.Exec('addtype Axe')
while uo.Targeting()
wait(100)
wend

if Carp==1 then
uo.Print('Выбери Pубанок: ')
uo.Exec('addobject Rubanok')
while uo.Targeting()
wait(100)
wend
endif

if TryRecall==1 then
uo.Print('Выбери PунБук: ')
uo.Exec('addobject Runebook')
while uo.Targeting()
wait(100)
wend
endif

if Reconnect==1 then
uo.Exec('exec Reconnect')
endif

if RecallLumber==1 then
uo.Exec('exec RecallToLumber')
wait(9000)
endif

#####################################
### Загружаем координаты из файла ###
#####################################
if GetFromFile==1 then
uo.Print('Загружаем координаты из файла...')
f.open()
treeCount=safe call f.ReadNumber()
for i=1 to treeCount
TreeT[i]=safe call f.ReadNumber()
TreeX[i]=safe call f.ReadNumber()
TreeY[i]=safe call f.ReadNumber()
next
f.close()
else


######################################
### Собираем координаты из клиента ###
######################################
uo.Print('Выбери Кирку: ')
uo.canceltarget()
uo.Exec('addobject Pickaxe')
while uo.Targeting()
wait(100)
wend

uo.Print('Собираем координаты деревьев в округе...')
repeat
clicks=0
flag=0
uo.DeleteJournal()
#######################
### Кликаем на тайл ###
#######################
uo.UseObject('Pickaxe')
waitForTarget()
uo.DeleteJournal()
WaitForTryRock()
###############################
### Проверяем дерево ли это ###
###############################
flag=0
for k=0 to 28
if uo.LastTile(0)==TreeTile[k]+1 then
flag=2
endif
next
if flag==0 then
for k=0 to 28
if uo.LastTile(0)==TreeTile[k] then
flag=1
endif
next
endif
if uo.Lasttile(1)==uo.getX() and uo.Lasttile(2)==uo.gety() then
flag=3
endif
#########################
### Кликнули на ствол ###
#########################
if flag==1 then
flag2=0
if treeCount>0 then
for ii=1 to treeCount
if TreeX[ii]==uo.LastTile(1) and TreeY[ii]==uo.LastTile(2) then
flag2=1
endif
next
endif
if flag2==0 then
treeCount=treeCount+1
TreeX[treeCount]=uo.LastTile(1)
TreeY[treeCount]=uo.LastTile(2)
TreeT[treeCount]=uo.LastTile(0)
uo.Print('Найдено дерево '+str(treeCount)+' : x='+str(uo.Lasttile(1))+' y='+str(uo.LastTile(2))+' '+str(treeCount))
endif
endif
##########################
### Кликнули по листве ###
##########################
if flag==2 then
flag2=0
if treeCount>0 then
for ii=1 to treeCount
if TreeX[ii]==uo.LastTile(1) and TreeY[ii]==uo.LastTile(2) then
flag2=1
endif
next
endif
if flag2==0 then
treeCount=treeCount+1
TreeX[treeCount]=uo.LastTile(1)
TreeY[treeCount]=uo.LastTile(2)
TreeT[treeCount]=uo.LastTile(0)-1
uo.print('Найдено дерево '+str(treeCount)+' : x='+str(uo.Lasttile(1))+' y='+str(uo.LastTile(2)))
endif
endif
until (Flag==3) or (treeCount==75)
uo.Exec("filterspeech off")
uo.Print('Анализ закончен, координаты деревьев записаны в файл C:\trees3.dat')
SaveToFile(treeCount,TreeX,TreeY,TreeT)
endif
uo.Print('Деревьев найдено: '+str(treeCount))
wait(2000)
######################################
### Ходим по собранным координатам ###
######################################
while 1==1
if treeCount>0 then
for i=1 to treeCount
## InfoLogs()

## Если надо, то выкладываем логи
if DropLogsGround==1 then
droplogs()
endif

if Carp==1 then
Carp()
endif

if uo.weight>=Maxweight then
    if TryRecall==1 then
        ToRecall()
    else
        uo.Print('Достигли предела веса, выключаем скрипт')
        uo.exec('terminate all')
    endif
endif

uo.Print('Идем к дереву '+str(i)+': x='+str(TreeX[i])+' y='+str(TreeY[i]))
flag=Gototile(TreeX[i],TreeY[i],1,False)
if flag==1 then
if TryHiding==1 then
ToHide()
endif
GetTree(str(TreeT[i]),str(TreeX[i]),str(TreeY[i]),str(uo.GetZ()))
endif
next
if EatingFood==1 then
EatingFood()
endif
endif
wend
end sub

###########################################################################################################################################
sub GetTree(Type,X,Y,Z)
var i
var ToporBreak="Этот предмет"
uo.Print('Начинаем рубку дерева...')
for i=0 to 15
if uo.Warmode()==1 then
return 0
endif
wait(200)
CheckLag()
uo.waittargettile(type,x,y,z)
uo.usetype('Axe')
if uo.injournal("Этот предмет") then
uo.FindType('Axe','-1',ToporChest)
      if uo.FindCount()>0 then
         uo.useobject('finditem')
         uo.WaitTargetTile(Type,X,Y,Z)
      else
         uo.exec('terminate all')
      endif
endif
uo.DeleteJournal()
if WaitForChange()==1 then
   return 1
endif
next
return 0
end sub
###############################################
##########   ТЕЛЕПОРТ
###############################################
sub ToRecall()
RecallToHome()
DropToChest()
## BankDrop()
if RechargeBook==1 then
RechargeBook()
wait(4000)
endif
RecallToLumber()
end sub

sub RecallToHome()
uo.Print('Прыгаем Домой.')
oldX=uo.getX()
oldY=uo.getY()
repeat
uo.Exec('warmode 0')
uo.exec("recall Runebook 0x1F14")
time=uo.Timer()
repeat
wait(1000)
until oldX<>uo.getX() or oldY<>uo.getY() or uo.Life==0 or uo.InJournal('В книге') or time+200<uo.Timer()
uo.DeleteJournal()
until oldX<>uo.getX() or oldY<>uo.getY()
end sub

sub RecallToLumber()
uo.Print('Прыгаем в Лес.')
oldX=uo.getX()
oldY=uo.getY()
repeat
uo.Exec('warmode 0')
uo.exec("recall Runebook 0x025A")
time=uo.Timer()
repeat
wait(1000)
until oldX<>uo.getX() or oldY<>uo.getY() or uo.Life==0 or uo.InJournal('В книге') or time+200<uo.Timer()
uo.DeleteJournal()
until oldX<>uo.getX() or oldY<>uo.getY()
end sub

sub ToHide()
while not uo.Hidden()
uo.Print('Пытаемся уйти в хайд...')
uo.DeleteJournal()
uo.UseSkill('Stealth')
wait(6000)
wend
wait(100)
end sub

###################################################
################        ОЖИДАЛКИ
###################################################

sub WaitForRecall()
var Text1=uo.GetName()+": The spell fizzles."
var mess='',lastX=uo.getX(),lastY=uo.getY()
for var i=0 to 200
mess=uo.Journal(0)
if uo.Journal(0)==Text1 then
return 0
endif
if uo.getX()<>lastX or uo.getY()<>LastY then
return 1
endif
wait(50)
next
return 0
end sub

sub WaitForHide()
var Text1=uo.GetName()+": You have hidden yourself well"
var Text2=uo.GetName()+": You can't seem to hide here."
var mess
for var i=0 to 200
mess=uo.Journal(0)
if uo.Journal(0)==Text1 then
return 1
endif
if uo.Journal(0)==Text2 then
return 0
endif
wait(50)
next
return 0
end sub

sub WaitForChange()
var Text1='Вы поранились топором !'
var Text2='Здесь больше нечего рубить'
var Text3='Это слишком далеко'
var Text4='Здесь нечего рубить'
var Text5='Вы сломали axe'
var mess
for var i=0 to 20000
mess=uo.journal(0)
if uo.inJournal(Text2) OR uo.inJournal(Text3) OR uo.inJournal(Text4)  then
   return 1
endif
if uo.inJournal(Text1) OR uo.inJournal("Вы сломали") or uo.injournal("Этот предмет") then
   return 0
endif
wait(500)
next
return 0
end sub

sub WaitForTryRock()
var Text1="Слишком далеко"
var Text2="Вы не можете добывать здесь"
var Text3="There is no ore here to mine."
var Text4="You have no line of sight to that location"
var Text5="You can't see the target"
for var i=0 to 50
if uo.Journal(0)==Text1 OR uo.Journal(0)==Text2 OR uo.Journal(0)==Text3 OR uo.Journal(0)==Text4 OR uo.Journal(0)==Text5 then
return 1
endif
wait(200)
next
return 0
end sub

sub WaitForTarget()
for var i=0 to 50
if uo.Targeting()==1 then
return 1
endif
wait(200)
next
return 0
end sub

sub WaitForChangeXY(myX,myY,lastX,lastY)
for var i=1 to 50
if lastX<>myX or lastY<>myY then
return 1
endif
wait(200)
next
return 0
end sub

Sub GoToTile( OX, OY, N, S )
   VAR myx, myy, MD, J
   VAR Lx1, Ly1
   VAR Lx2, Ly2
   VAR Sx, Sy
   VAR T
   VAR Des = N
   VAR MoveDelay = 300
   J = 1
   MD = MoveDelay * 1.5
   myx = uo.getx()
   myy = uo.gety()
   MoveOnce( GetDir( uo.getx(), uo.gety(), ox, oy), MD, False)
   Sx = 0
   Sy = 0
   Lx1 = uo.getx() / 2
   Ly1 = uo.gety() / 2
   Lx2 = Lx1 / 2
   Ly2 = Ly1 / 2
   T = UO.Timer()
   If (GetDistance(ox, oy) <> N) OR ( (NOT S) AND GetDistance(ox, oy) > N ) Then
      UO.Exec('exec PermResend')
   EndIf
   While ( (GetDistance(ox, oy) <> N) OR ((NOT S) and GetDistance(ox, oy) > N) ) and ( OX >= 0 ) and ( OY >= 0 )
      If ( (UO.Timer() - T) * 15 > MoveDelay ) Then
         T = UO.Timer()
         Lx2 = Lx1
         Ly2 = Ly1
         Lx1 = myx
         Ly1 = myy
         myx = uo.getx()
         myy = uo.gety()
      endIf
      MD=MoveDelay
      If ((OX-uo.getx())*(OX-uo.getx())+(OY-uo.gety())*(OY-uo.gety())>0) Then
         MD = MD * 3 / GetDistance( ox, oy )
      EndIf
      wait(MD)
      If GetDistance( OX, OY ) > Des Then
         MoveOnce(GetDir(uo.GetX(),uo.GetY(),ox,oy),MD,False)
      Else
         If S Then
            If GetDistance(OX,OY)<Des Then
               If GetDistance(OX,OY)<>0 Then
                  MoveOnce(GetDir(ox,oy,uo.GetX(),uo.GetY()),MD,False)
               Else
                  MoveOnce(GetDir(uo.GetX(),uo.GetY(),Lx2,Ly2),MD,False)
               EndIf
            EndIf
         EndIf
      EndIf
      If GetDistance(OX,OY)<>Des Then
         If (Lx2==uo.getx()) and (Ly2==uo.gety()) Then
            If (Sx<>uo.getx()) or (Sy<>uo.gety()) Then
               J=1
            EndIf
            J=J+1
            UO.Resend()
            Sx = uo.getx()
            Sy = uo.gety()
            Stun(ox,oy,J)
         EndIf
      EndIf
   Wend
   UO.Exec( 'terminate PermResend' )
   return 1
end sub
;
; ============ MOVEONCE ===
; Процедура MoveOnce - хождение в определённую сторону
; Направления:
; Система направлений по клавишам Нумпада
; 8 = 1 | 2 = -1
; 9 = 2 | 1 = -2
; 6 = 3 | 4 = -3
; 3 = 4 | 7 = -4
;
; Такая система позволяет с лёгкостью получать направление, обратное
; данному...
;
Sub MoveOnce( Dir, Del, Rev )
   VAR Num
   Var MoveNumber = 1
   If Rev Then
      Num = MoveNumber + 1
   Else
      Num = MoveNumber
   EndIf
   If ( Num > 0 ) and ( Dir <> 0 ) Then
      If Dir == 1 Then
         UO.Press( 38, Num, Del )
      EndIf
      If Dir == 2 Then
         UO.Press( 33, Num, Del )
      EndIf
      If Dir == 3 Then
         UO.Press( 39, Num, Del )
      EndIf
      If Dir == 4 Then
         UO.Press( 34, Num, Del )
      EndIf
      If Dir == -1 Then
         UO.Press( 40, Num-1, Del )
      EndIf
      If Dir == -2 Then
         UO.Press( 35, Num, Del )
      EndIf
      If Dir == -3 Then
         UO.Press( 37, Num, Del )
      EndIf
      If Dir == -4 Then
         UO.Press( 36, Num, Del )
      EndIf
      If Rev Then
         If Dir <> -1 Then
            UO.Press( 40, 1, Del )
         EndIf
      EndIf
   EndIf
end sub
;
; ============== GETDIR ===
; Функция GetDir возвращает направление, по которому надо идти
; к координате
;
Sub GetDir( myx, myy, ox, oy )
   VAR I, J
   J = 0
   VAR X = ox - myx
   VAR Y = oy - myy
   I = GetQDir( Abs(X), Abs(Y) )
   If X >= 0 Then
      If Y >= 0 Then
         If I == 1 Then
            J = -2
         Else
            If I == 2 Then
               J = -1
            Else
               If I == 3 Then
                  J = 4
               EndIf
            EndIf
         EndIf
      Else
         If I == 1 Then
            J = 2
         Else
            If I == 2 Then
               J = 3
            Else
               If I == 3 Then
                  J = 4
               EndIf
            EndIf
         EndIf
      EndIf
   Else
      If Y >= 0 Then
         If I == 1 Then
            J = -2
         Else
            If I == 2 Then
               J = -3
            Else
               If I == 3 Then
                  J = -4
               EndIf
            EndIf
         EndIf
      Else
         If I == 1 Then
            J = 2
         Else
            If I == 2 Then
               J = 1
            Else
               If I == 3 Then
                  J = -4
               EndIf
            EndIf
         EndIf
      EndIf
   EndIf
   RETURN J
end sub
;
; =============== GETQDIR ===
;
;
Sub GetQDir( x, y )
   VAR Ep = 0.172
   VAR J = 0
   If X == 0 Then
      J = 1
   Else
      If ( Y / X ) < Ep Then
         J = 3
      Else
         If ( X / Y ) < Ep Then
            J = 1
         Else
            J = 2
         EndIf
      EndIf
   EndIf
   RETURN J
end sub
;
; ============== GETDISTANCE ===
; Функция GetDistance возвращает расстояние до координат
; (как UO.GetDistance - до объекта)
;
; Почему так - потому что учим математику :)
;
Sub GetDistance( X, Y )
   VAR A, B, C
   A = abs( X - UO.GetX() )
   B = abs( Y - UO.GetY() )
   If A > B Then
      C = A
   Else
      C = B
   EndIf
   Return C
end sub
;
; ============= PERP ===
; Функция Perp возвращает направление, перпендикулярное введённому
;
Sub Perp( Dir )
   VAR D = Dir
   If Dir == 1 Then
      D = 3
   EndIf
   If Dir == 2 Then
      D = 4
   EndIf
   If Dir == 3 Then
      D = -1
   EndIf
   If Dir == 4 Then
      D = -2
   EndIf
   If Dir == -1 Then
      D = -3
   EndIf
   If Dir == -2 Then
      D = -4
   EndIf
   If Dir == -3 Then
      D = 1
   EndIf
   If Dir == -4 Then
      D = 2
   EndIf
   RETURN D
end sub
;
; =============== STUN ===
; Обход препятствий
;
Sub Stun( X, Y, N )
   VAR I
   VAR myx
   VAR myy
   VAR MoveDelay = 100
   myx = uo.getx()
   myy = uo.gety()
   For I=1 to N
      MoveOnce(perp(GetDir(myx,myy,x,y)),MoveDelay,False)
   Next
   Wait(MoveDelay)
   UO.Resend()
   If (myx==uo.getx()) and (myy==uo.gety()) Then
      For I=1 to N
         MoveOnce(-perp(GetDir(myx,myy,x,y)),MoveDelay,False)
      Next
      Wait(MoveDelay)
      UO.Resend()
   EndIf
   If (myx==uo.getx()) and (myy==uo.gety()) Then
      For I=1 to N
         MoveOnce(-GetDir(myx,myy,x,y),MoveDelay,False)
      Next
      Wait(MoveDelay)
      Stun(x,y,N)
   EndIf
end sub
;
; ============= ABS ===
; Убирает знак минуса в отрицательных числах
;
Sub abs( a )
   VAR b
   If a < 0 Then
      b = -a
   Else
      b = a
   endif
   return b
end sub
;
; ============== PERMRESEND ===
;
Sub PermResend()
   Var Mn = 9
   VAR MoveDelay = 100
   Repeat
      UO.Resend()
      Wait( MoveDelay * Mn )
   Until ( 1 > 2 )
End sub

##############################################
#######       СОХРАНЕНИЕ В ФАЙЛ
##############################################

sub SaveToFile(treeCount,TreeX,TreeY,TreeT)
var f=file("C:\trees3.dat")
var s=0,i=0
f.open()
f.create()
s=safe call f.writeln(treeCount)
for i=1 to treeCount
s=safe call f.writeln(str(TreeT[i])+' '+str(TreeX[i])+' '+str(TreeY[i]))
next
f.close()
end sub

#################################################
###########         ВЫБРАСЫВАЕМ ЛОГИ
#################################################

sub DropLogs()
####ToHide()
if uo.Waiting() then
uo.CancelTarget()
endif
var a,Exit
dim CLogs[3]
CLogs[1]='0x0000' ; log
CLogs[2]='0x01BF' ; good log
CLogs[3]='0x0602' ; hard log
# CLogs[4]='0x0455' ; excellent log
uo.Print('Выкладываем Логи по цвету.')
wait(500)
for a=1 to 3
Exit=0
repeat
UO.FindType('0x1BDD',CLogs[a],'backpack')
if uo.GetQuantity('finditem')>0 then
uo.exec("drop 0 0 0 0 finditem")
wait(1500)
else
Exit=1
endif
until Exit==1
next
uo.Print('Логи Выложены.')
end sub


sub Bankdrop()
uo.useobject(Banker)
var a,Exit
wait(1000)
uo.lclick(47,112)
wait(5000)
uo.setreceivingcontainer(BankingChest)
dim Logs[1]
Logs[0]=0x1BD7
uo.Print('Выкладываем доски.')
wait(500)
for a=0 to 0
Exit=0
repeat
uo.FindType(Logs[a])
if uo.GetQuantity('finditem')>0 then
uo.grab('0','finditem')
wait(1500)
else
Exit=1
endif
until Exit==1
next
uo.Print('Доски Выложены.')
uo.unsetreceivingcontainer(BankingChest)
end sub

sub DropToChest()
var a,Exit
uo.setreceivingcontainer(Sunduk)
dim Doski[1]
Doski[0]=0x1BD7
uo.Print('Выкладываем доски.')
wait(500)
for a=0 to 0
Exit=0
repeat
uo.FindType(Doski[a])
if uo.GetQuantity('finditem')>0 then
uo.grab('0','finditem')
wait(1500)
else
Exit=1
endif
until Exit==1
next
uo.Print('Доски Выложены.')
uo.unsetreceivingcontainer(Sunduk)
end sub

sub InfoLogs()
uo.Print('У вас всего '+str(uo.Count('0x1BDD'))+' логов в сумке')
uo.Print('Из них '+str(uo.Count('0x1BDD','0x0000'))+' простых и ' +str(uo.Count('0x1BDD')-uo.Count('0x1BDD','0x0000'))+' цветных')
end sub

sub RechargeBook()
ToRecharge()
DropScrolls()
end sub

sub ToRecharge()
uo.SetReceivingContainer('backpack')
Open(Sunduk2)
uo.FindType('0x1F4C','-1',Sunduk2)
uo.Grab('10','finditem')
wait(500)
Checklag()
uo.UnsetReceivingContainer()
uo.setreceivingcontainer('Runebook')
uo.FindType('0x1F4C','-1','backpack')
uo.Grab('10','finditem')
uo.UnsetReceivingContainer()
end sub

sub DropScrolls()
if uo.Waiting() then
uo.CancelTarget()
endif
uo.SetReceivingContainer(Sunduk2)
uo.FindType('0x1F4C','-1','backpack')
if uo.GetQuantity('finditem')>0 then
uo.Grab('-1','finditem')
wait(1500)
else
return 0
endif
uo.UnSetReceivingContainer(Sunduk2)
end sub

sub Open(Container)
uo.DeleteJournal()
uo.UseObject(Container)
repeat
wait(500)
until uo.InJournal('Contains')
end sub

sub EatingFood()
repeat
 Checklag()
 uo.FindType(TypeFood)
  if uo.GetQuantity('finditem')>0 then
   uo.UseType(TypeFood)
   wait(1000)
  else
   EatingFood=0
   wait(1000)
   return 1
  endif
until uo.InJournal("Вы сыты и довольны") or uo.injournal("Вы переели")
end sub

sub carp()
if uo.Waiting() then
uo.CancelTarget()
endif
var a,Exit, time
time=0
dim Logs[1]
Logs[0]=0x1BDD
uo.Print('Делаем доски.')
wait(500)
for a=0 to 0
Exit=0
repeat
uo.FindType(Logs[a])
if uo.GetQuantity('finditem')>0 then
uo.deletejournal()
uo.waittargettype('0x1BDD')
uo.exec("recall Rubanok 0x0401")
repeat
wait(1000)
time=time+1
until uo.injournal("Вы закончили") or time==60 or uo.InJournal("Вы уничтожили")
else
Exit=1
endif
until Exit==1
next
time=0
uo.Print('Доски сделаны.')
end sub

sub Reconnect()
var ReconnectTime,rFlag
ReconnectTime='0'
rFlag=1
repeat
while (uo.ObjAtLayer('Bpack')=='')
if rFlag then
ReconnectTime=MakeTime()
rFlag=0
endif
wait(20000)
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.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 Terminate()
uo.Print('Все функции скрипта выключены!')
uo.DeleteJournal()
uo.Exec('terminate all')
wait(100)
uo.Exec('terminate all')
wait(100)
uo.Exec('terminate all')
wait(100)
end sub

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


Top
   
 Post subject:
PostPosted: 2007-12-03 11:44:46 
Offline
User avatar

Joined: 2006-10-08 08:37:57
Posts: 87
Ап! только теперь другая задача с той помогли :) теперь надо чтобы из сундука брал еду после того как возьмёт кушал и другой итем клал обратно...


Top
   
 Post subject:
PostPosted: 2007-12-04 17:33:05 
Offline
User avatar

Joined: 2006-10-08 08:37:57
Posts: 87
АП! опять уже другая задача :) нужно чтобы открывал и закрывал сундук.. ключём который на связке..хелп плиз)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 3 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited