скрипти саваджа

Anything and all.

Moderators: Murderator+, Murderator

Dma
Posts: 15
Joined: 2004-06-13 16:43:14

Post by Dma »

А что еще надо включить чтоб после убийства поднимал все что упало?:)
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

В скрипте killelem() внимательно посмотреть на типы руды перед командой grab и сравнить со своими.
Dma
Posts: 15
Joined: 2004-06-13 16:43:14

Post by Dma »

Savage wrote:В скрипте killelem() внимательно посмотреть на типы руды перед командой grab и сравнить со своими.

А можеш мне скинуть все как у тебя сделано в killelem()?
у меня так
;----------- Morf in Daemon, kill elem and loot him -----------
sub killelem()
VAR Count, LastTimer, Elem


UO.UseType('0x0F0E','0x0631') ; inviz potion
While UO.STR<201 ; U'r not morfed char max Strength + 1
If UO.Mana>=50 then
UO.WaitMenu('What','Daemon')
UO.Cast('Polymorph')
wait(8000)
else
UO.UseType('0x0F0E','0x09DF') ; total mana potion
wait(3000)
endif
Wend

LastTimer=UO.Timer()

repeat
UO.BandageSelf()
wait(4000)
until UO.Life==UO.STR OR LastTimer+300<UO.Timer()

UO.UseType(0x1B76) ; heater shield
UO.UseType(0x1413) ; platemail gorget

UO.DeleteJournal()
UO.Exec('warmode 1')

UO.FindType('0x0010',-1,'ground')
Elem=UO.GetSerial('finditem')

UO.Attack(Elem)

repeat
wait(1000)
If UO.Life<50 Then
UO.UseType('0x0F0E','0x09BB') ;GH
Endif

If UO.GetDistance(Elem)>1 Then
walkn(0,0,Elem)
Endif

until UO.IsNPC(Elem)==0
UO.WaitTargetGround('0x19B9') ; 4 and more ore
wait(1500)
UO.Grab('all')
UO.WaitTargetGround('0x0EED') ; gold coins
wait(500)
UO.Grab('all')


UO.FindType('0x0010',-1,'ground')
If UO.GetQuantity('finditem')>0 Then
KillElem()
Endif

UO.Exec('warmode 0')
wait(1000)

UO.Print("Sdoh skotina!")
UO.SetEasyUO(99,'0')

LastTimer=UO.Timer()
if UO.Life<200 then ; U'r max HP
repeat
UO.BandageSelf()
wait(4000)
until UO.Life>200 OR LastTimer+300<UO.Timer()
endif
UO.DeleteJournal()

end sub
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Code: Select all

;----------- Morf in Daemon, kill elem and loot him -----------
sub killelem()
   VAR Count, LastTimer, Elem
   

   UO.UseType('0x0F0E','0x0631') ; inviz potion
   While UO.STR<201 ; U'r not morfed char max Strength + 1
      If UO.Mana>=50 then
         UO.WaitMenu('What','Daemon')
         UO.Cast('Polymorph')
         wait(8000)
      else
         UO.UseType('0x0F0E','0x09DF') ; total mana potion
         wait(3000)
      endif
   Wend
   
   LastTimer=UO.Timer()

   repeat
      UO.BandageSelf()
      wait(4000)
   until UO.Life==UO.STR OR LastTimer+300<UO.Timer()

   UO.UseType(0x1B76) ; heater shield
   UO.UseType(0x1413) ; platemail gorget
   
   UO.DeleteJournal()
   UO.Exec('warmode 1')

   UO.FindType('0x0010',-1,'ground')
   Elem=UO.GetSerial('finditem')

   UO.Attack(Elem)
   
   repeat
      wait(1000)
      If UO.Life<50 Then
         UO.UseType('0x0F0E','0x09BB') ;GH
      Endif

      If UO.GetDistance(Elem)>1 Then
         walkn(0,0,Elem)
      Endif

   until UO.IsNPC(Elem)==0
   wait(3000)


   UO.WaitTargetGround('0x19B9') ; 4 and more ore
   wait(1500)
   UO.Grab('all')
   UO.WaitTargetGround('0x19B8') ; 3 ore
   wait(1500)
   UO.Grab('all')
   UO.WaitTargetGround('0x0EED') ; gold coins
   wait(500)
   UO.Grab('all')


   UO.FindType('0x0010',-1,'ground')
   If UO.GetQuantity('finditem')>0 Then
      KillElem()
   Endif

   UO.Exec('warmode 0')
   wait(1000)

   UO.Print("Sdoh skotina!")
   UO.SetEasyUO(99,'0')

   LastTimer=UO.Timer()
   if UO.Life<200 then ; U'r max HP
      repeat
         UO.BandageSelf()
         wait(4000)
      until UO.Life>200 OR LastTimer+300<UO.Timer()
   endif
   UO.DeleteJournal()
end sub
Dma
Posts: 15
Joined: 2004-06-13 16:43:14

Post by Dma »

не получаеться=(((
а в main надо какую небудь галочку ставить?
Kazoo
Posts: 173
Joined: 2004-04-03 18:39:28
Contact:

Post by Kazoo »

Dma wrote:не получаеться=(((
а в main надо какую небудь галочку ставить?

Permit Vars Loopback
Track World Items
Dma
Posts: 15
Joined: 2004-06-13 16:43:14

Post by Dma »

Kazoo wrote:
Dma wrote:не получаеться=(((
а в main надо какую небудь галочку ставить?

Permit Vars Loopback
Track World Items

угу спасибо=)но я сам уже разобрался!
Jerry
Posts: 28
Joined: 2004-11-10 15:50:26

Post by Jerry »

################################################## #############
#===---====----===---===---= Mining =---=-=-=-=-=--=-=-=-=-=-=#
# Single char mining for VIP Mine. DRW Shard www.drw.ru #
# Scripted by Savage (c) 2005 ICQ:33336141 #
#""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""#
#""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""#
# To start script use ",exec mine" command from client window #
################################################## #############

;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""
;==================== Main mining script ======================
;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""
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='Num' - Use ",infotile" command on the floor
; Íîìåð òàéëà â êîòîðîì ìîæíî êîïàòü ,ïîòûêàéòå êîìàíäîé
; ",infotile" ïî ðàçíâì òàéëàì è ïîñìîòðèòå íå îòëè÷àþòñÿ ëè èõ
; íîìåðà.
;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""
TileNum='1339'


;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""
; Ìàêñèìàëüíûé âåñ, êîòîðûé ìîæåò ïîäíÿòü ÷àð. Ñòàâüòå åãî
; íåìíîãî ìåíüøå ðåàëüíîãî. Òî åñòü åñëè ÷àð ïîäíèìàåò 760, òî
; ñòàâèì 730.
;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""
MaxWeight=730

;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Ðàäèóñ êðóãà ïî êîòîðîìó áóäåò êîïàòü ÷àð, òî åñòü ðàññòîÿíèå
; äî êëåòêè êóäà ìîæíî äîòÿíóòüñÿ êèðêîé.
;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""
DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Åñëè ÷àð äîñòàòî÷íî ïðîêà÷åí ÷òîá áèòü ýëåìîâ, ñòàâüòå 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""
KillElemental='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Îïîâåøàòü ïðè ïîÿâëåíèè ýëåìà
;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""
ElemSignal='On'


;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""
; Çäåñü óêàçûâàåì êîîðäèíàòû òî÷åê êîïàíèÿ. Íóæíî âñòàòü íà
; ïîçèöèþ è ïîñìîòðåòü êîîðäèíàòû â èíæåêòå. Èõ è íóæíî
; ïîäñòàâèòü âìåñòî ìîèõ. ×àðà ñòàâüòå íà 4 êëåòêè îò ñòåí.
;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""

BaseX[0]=5851
BaseY[0]=1053
BaseZ=0

BaseX[1]=5842
BaseY[1]=1053



;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""
; Óêàçûâàåì êîëè÷åñòâî òî÷åê êîïàíèÿ
;""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""

WayPoints=2


CheckLag()
UO.UseObject('Sunduk')
LastTimer=UO.Timer()
Repeat
wait(500)
Until UO.InJournal('You can') OR UO.InJournal('What is the') OR UO.Timer()>LastTimer+100

If UO.InJournal('see the') Then
UO.Say("Podoydi k sunduku i tkni v ~ ricelom!")
UO.AddObject('Sunduk')
While UO.Targeting()==2
wait(500)
Wend
UO.SaveConfig()
UO.UseObject('Sunduk')
Else
; UO.Say("Ok! Viju sunduk.")
Endif


CheckLag()
UO.UseObject('IronBag')
LastTimer=UO.Timer()
Repeat
wait(500)
Until UO.InJournal('You can') OR UO.InJournal('What is the')OR UO.Timer()>LastTimer+100

If UO.InJournal('see the') Then
UO.Say("V kakoy meshok kidat' Iron Ore")
UO.AddObject('IronBag')
While UO.Targeting()==2
wait(500)
Wend
UO.SaveConfig()
Else
; UO.Say("Meshok dlya Iron Ore viju")
Endif


CheckLag()
UO.UseObject('OtherBag')
LastTimer=UO.Timer()
Repeat
wait(500)
Until UO.InJournal('You can') OR UO.InJournal('What is the')OR UO.Timer()>LastTimer+100

If UO.InJournal('see the') Then
UO.Say("V kakoy meshok kidat' rudu?")
UO.AddObject('OtherBag')
While UO.Targeting()==2
wait(500)
Wend
UO.SaveConfig()
Else
; UO.Say("Meshok dlya rudy viju.")
Endif


CheckLag()
UO.UseObject('BestBag')
LastTimer=UO.Timer()
Repeat
wait(500)
Until UO.InJournal('You can') OR UO.InJournal('What is the')OR UO.Timer()>LastTimer+100

If UO.InJournal('see the') Then
UO.Say("V kakoy meshok kidat' vihu?")
UO.AddObject('BestBag')
While UO.Targeting()==2
wait(500)
Wend
UO.SaveConfig()
Else
; UO.Say("Meshok dlya vihi viju.")
Endif

While NOT UO.Dead()

For WayPoint=0 to WayPoints-1
walkn(BaseX[WayPoint],BaseY[WayPoint],"")
digitstay(MaxWeight,DigDistance,KillElemental,ElemSignal,BaseX[WayPoint],BaseY[WayPoint])
Next
wend
end sub


; Ïðîâåðêà íóæíîñòè ðóäû. Çàêîìåíòèðîâàòü òî ÷òî íóæíî êîïàòü.
sub CheckOre()
VAR Cont=1, i=0, Exit=0
VAR Count=7 ; Ñêîëüêî ýëåìåíòîâ â ìàññèâå.
DIM Ores[15]

Ores[0]="Iron"
Ores[1]="Rusty"
Ores[2]="Old Copper"
Ores[3]="Dull Copper"
Ores[4]="Copper"
Ores[5]="Bronze"
Ores[6]="Silver"
; Ores[7]="Shadow"
; Ores[8]="Rose"
; Ores[9]="Gold"
; Ores[10]="Agapite"
; Ores[11]="Blood Rock"
; Ores[12]="Verite"
; Ores[13]="Valorite"
; Ores[14]="Mytheril"

While i<Count AND Exit==0
If UO.InJournal(Ores[i]) Then
Cont=0
Exit=1
Endif
; UO.Print(STR(i))
; UO.Print(Ores[i])
i=i+1
Wend

return Cont
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
ToHide()

UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
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 NOT UO.InJournal('There is no') then
ContFlag=CheckOre()
Endif

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

If UO.InJournal('something with ore') OR UO.InJournal("attacking you") then
If ElemSignal=='On' Then
Gong(2)
Endif

If KillElemental=='Yes' Then
KillElem()
walkn(BaseX,BaseY,"")
Else
; any user defined command when char digget elemental

Endif
Endif

If UO.InJournal("attacking you") then
gong(3)
Endif

If UO.Weight>=MaxWeight then
unloadore()
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


;------------------------- Unload ore -------------------------
sub unloadore()
VAR TempX,TempY,i,Exit, Exit1, ConTainer, j
VAR SundukX=5838
VAR SundukY=1056
VAR Index=14 ; êîëè÷åñòâî ýëåìåíòîâ ìàññèâà
DIM Ore[5], Colors[20]

Colors[0]="0x09F0" ; Gorgan
Colors[1]="0x09D3" ; Steel
Colors[3]="0x0BA7" ; Eldar
Colors[4]="0x08AF" ; Plut
Colors[5]="0x0085" ; Dragon
Colors[6]="0x0060" ; Aqua
Colors[7]="0x09E6" ; Elvin
Colors[8]="0x010F" ; Krinit
Colors[9]="0x09DA" ; Vulkan
Colors[10]="0x09EC" ; Blood Crest
Colors[11]="0x008F" ; Sand Rock
Colors[12]="0x09B9" ; Acid
Colors[13]="0x09A4" ; Crystaline


TempX=UO.GetX()
TempY=UO.GetY()

walkn(SundukX,SundukY,"")
ToHide()
UO.UseObject("Sunduk")

Ore[0]=0x19B9 ; 4 and more ore
Ore[1]=0x19B7 ; 1 ore
Ore[2]=0x19BA ; 2 ore
Ore[3]=0x19B8 ; 3 ore

For i=0 to 3
Exit=0
repeat
UO.FindType(Ore[i])

if UO.GetQuantity('finditem')>0 then
If UO.GetColor('finditem')=='0x0000' Then
Container=UO.GetSerial('IronBag')
Else
Container=UO.GetSerial('OtherBag')
Exit1=0
j=0
While j<Index AND Exit1<>1
If UO.GetColor('finditem')==Colors[j] Then
Container=UO.GetSerial('BestBag')
Exit1=1
Endif
j=j+1
Wend
Endif
UO.MoveItem('finditem',0,Container)
CheckLag()
wait(1000)
Else
Exit=1
endif
until Exit==1
Next

walkn(TempX,TempY,"")
ToHide()
end sub
;----------- Morf in Daemon, kill elem and loot him -----------
sub killelem()
VAR Count, LastTimer, Elem


UO.UseType('0x0F0E','0x0631') ; inviz potion
While UO.STR<201 ; U'r not morfed char max Strength + 1
If UO.Mana>=50 then
UO.WaitMenu('What','Daemon')
UO.Cast('Polymorph')
wait(8000)
else
UO.UseType('0x0F0E','0x09DF') ; total mana potion
wait(3000)
endif
Wend

LastTimer=UO.Timer()

repeat
UO.BandageSelf()
wait(4000)
until UO.Life==UO.STR OR LastTimer+300<UO.Timer()

UO.UseType(0x1B76) ; heater shield
UO.UseType(0x1413) ; platemail gorget

UO.DeleteJournal()
UO.Exec('warmode 1')

UO.FindType('0x0010',-1,'ground')
Elem=UO.GetSerial('finditem')

UO.Attack(Elem)

repeat
wait(1000)
If UO.Life<70 Then
UO.UseType('0x0F0E','0x09BB') ;GH
Endif

If UO.GetDistance(Elem)>1 Then
walkn(0,0,Elem)
Endif

until UO.IsNPC(Elem)==0
wait(3000)


UO.WaitTargetGround('0x19B9') ; 4 and more ore
wait(1500)
UO.Grab('all')
UO.WaitTargetGround('0x19B8') ; 3 ore
wait(1500)
UO.Grab('all')
UO.WaitTargetGround('0x0EED') ; gold coins
wait(500)
UO.Grab('all')


UO.FindType('0x0010',-1,'ground')
If UO.GetQuantity('finditem')>0 Then
KillElem()
Endif

UO.Exec('warmode 0')
wait(1000)

UO.Print("Sdoh skotina!")
UO.SetEasyUO(99,'0')

LastTimer=UO.Timer()
if UO.Life<200 then ; U'r max HP
repeat
UO.BandageSelf()
wait(4000)
until UO.Life>200 OR LastTimer+300<UO.Timer()
endif
UO.DeleteJournal()
end sub


################################################## #############
################################################## #############
;
; Shared Subs
;
################################################## #############
################################################## #############

#================================================= =============
# tohide() - try hidding char. When char lose HP, drink inviz
# potion if it found in backpack
#
# Journal has been deleted!!!
#------------------------------------------------- -------------
sub tohide()
while NOT UO.Hidden()
UO.DeleteJournal()
UO.FindType('0x0F0E','0x0631','my')

if UO.Life<UO.STR/2 AND UO.GetQuantity('finditem')>0 then
UO.UseType('0x0F0E','0x0631') ; inviz potion
UO.Exec('warmode 0')
wait(2000)
else
UO.Exec('warmode 0')
UO.UseSkill('Stealth')
repeat
wait(50)
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied')
endif
wend
end sub


#================================================= =============
# CheckLag() - click on backpack and awaiting "backpack"
# message in journal.
#
# Journal has been deleted!!!
#------------------------------------------------- -------------
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')

repeat
wait(500)
until UO.InJournal('backpack')
end sub


#================================================= =============
# Gong(counter) - playing wav-file 'counter'-times
# http://www.jetta.ru/cow.wav
#------------------------------------------------- -------------
sub Gong(times) ; play wav-file
VAR i
for i=1 to times
UO.Exec("playwav d:\game\uo\injection\cow")
wait(1200) ; time to play sample at once
next
end sub


#================================================= =============
# Alarm() - when char lose some HP, U are informed :)
#------------------------------------------------- -------------
sub Alarm()
VAR CharHP=150
while 1==1
wait(1000)
if UO.Life<CharHP then
gong(1)
endif
wend
end sub

;---------------- Õîäèëêà -----------------------
sub GoW()
VAR walkwait=300
VAR x,y,dir=6
VAR key=36 ; Home key
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)

wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If UO.GetX()+1==x Then
return -1
Else
return 1
Endif
end sub


sub GoN()
VAR walkwait=300
VAR x,y,dir=0
VAR key=33 ; PgUp
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)

wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If UO.GetY()+1==y Then
return -1
Else
return 1
Endif
end sub


sub GoE()
VAR walkwait=300
VAR x,y,dir=2
VAR key=34 ; PgDown
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)

wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If UO.GetX()-1==x Then
return -1
Else
return 1
Endif
end sub


sub GoS()
VAR walkwait=300
VAR x,y,dir=4
VAR key=35 ; End
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)

wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If UO.GetY()-1==y Then
return -1
Else
return 1
Endif
end sub


sub GoWN()
VAR walkwait=300
VAR x,y,dir=7
VAR key=38 ; UpArrow
x=UO.GetX()
y=UO.GetY()

If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif

If UO.GetDir()==dir Then
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetDir()==dir Then
return -1
Else
return UO.GetDir()
Endif
Else
return UO.GetDir()
Endif
end sub


sub GoNE()
VAR walkwait=300
VAR x,y,dir=1
VAR key=39 ; RightArrow
x=UO.GetX()
y=UO.GetY()

If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif

If UO.GetDir()==dir Then
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetDir()==dir Then
return -1
Else
return UO.GetDir()
Endif
Else
return UO.GetDir()
Endif
end sub


sub GoSE()
VAR walkwait=300
VAR x,y,dir=3
VAR key=40 ; DownArrow
x=UO.GetX()
y=UO.GetY()

If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif

If UO.GetDir()==dir Then
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetDir()==dir Then
return -1
Else
return UO.GetDir()
Endif
Else
return UO.GetDir()
Endif
end sub


sub GoSW()
VAR walkwait=300
VAR x,y,dir=5
VAR key=37 ; LeftArrow
x=UO.GetX()
y=UO.GetY()

If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif

If UO.GetDir()==dir Then
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetDir()==dir Then
return -1
Else
return UO.GetDir()
Endif
Else
return UO.GetDir()
Endif
end sub


#================================================= =============
# WalkN(X,Y,Serial) - char is walking by dX and dY step
# sub using Home, End, PgUp, PgDown keys
# d'not rebind this key from default action!
# walkwait - delay after keypress
#------------------------------------------------- -------------
sub WalkN(x,y,Target)
VAR i
VAR dx,dy,Exit=0

While Exit<>1
If Target<>"" Then
dx=UO.GetX(Target)-UO.GetX()
dy=UO.GetY(Target)-UO.GetY()
; UO.Print("Target locked!")
If UO.GetDistance(Target)<2 Then
Exit=1
Endif
Else
dx=x-UO.GetX()
dy=y-UO.GetY()
If dx==0 AND dy==0 Then
Exit=1
Endif

Endif

If dx<>0 AND dy<>0 Then
If dx>0 AND dy>0 Then
GoSE()
Endif

If dx>0 AND dy<0 Then
GoNE()
Endif

If dx<0 AND dy>0 Then
GoSW()
Endif

If dx<0 AND dy<0 Then
GoWN()
Endif

Endif

If dx<>0 AND dy==0 Then
If dx>0 Then
GoE()
Endif

If dx<0 Then
GoW()
Endif
Endif


If dx==0 AND dy<>0 Then
If dy>0 Then
GoS()
Endif

If dy<0 Then
GoN()
Endif
Endif
Wend
end sub



вот скрипт, почему он не берёт то, что осталось после элементаля, за ранее спасибо[/list]
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

TWI включён?
Jerry
Posts: 28
Joined: 2004-11-10 15:50:26

Post by Jerry »

а что это такое? :lol: (извините за неотёсонность)
Так что скорее всего не включён, а как его включить?
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

на закладочке Main халочка должна стоять напротив Track World Items... как то так...
Jerry
Posts: 28
Joined: 2004-11-10 15:50:26

Post by Jerry »

стоит...
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

тогда скрипт надо смотреть... ;)
мб там grab стоит тодыть можно попробывать заменить на moveitem
Jerry
Posts: 28
Joined: 2004-11-10 15:50:26

Post by Jerry »

хмм, я в инже плохо разбираюсь... можешь посмотреть?

;----------- Morf in Daemon, kill elem and loot him -----------
sub killelem()
VAR Count, LastTimer, Elem


UO.UseType('0x0F0E','0x0631') ; inviz potion
While UO.STR<201 ; U'r not morfed char max Strength + 1
If UO.Mana>=50 then
UO.WaitMenu('What','Daemon')
UO.Cast('Polymorph')
wait(8000)
else
UO.UseType('0x0F0E','0x09DF') ; total mana potion
wait(3000)
endif
Wend

LastTimer=UO.Timer()

repeat
UO.BandageSelf()
wait(4000)
until UO.Life==UO.STR OR LastTimer+300<UO.Timer()

UO.UseType(0x1B76) ; heater shield
UO.UseType(0x1413) ; platemail gorget

UO.DeleteJournal()
UO.Exec('warmode 1')

UO.FindType('0x0010',-1,'ground')
Elem=UO.GetSerial('finditem')

UO.Attack(Elem)

repeat
wait(1000)
If UO.Life<70 Then
UO.UseType('0x0F0E','0x09BB') ;GH
Endif

If UO.GetDistance(Elem)>1 Then
walkn(0,0,Elem)
Endif

until UO.IsNPC(Elem)==0
wait(3000)


UO.WaitTargetGround('0x19B9') ; 4 and more ore
wait(1500)
UO.Grab('all')
UO.WaitTargetGround('0x19B8') ; 3 ore
wait(1500)
UO.Grab('all')
UO.WaitTargetGround('0x0EED') ; gold coins
wait(500)
UO.Grab('all')


UO.FindType('0x0010',-1,'ground')
If UO.GetQuantity('finditem')>0 Then
KillElem()
Endif

UO.Exec('warmode 0')
wait(1000)

UO.Print("Sdoh skotina!")
UO.SetEasyUO(99,'0')

LastTimer=UO.Timer()
if UO.Life<200 then ; U'r max HP
repeat
UO.BandageSelf()
wait(4000)
until UO.Life>200 OR LastTimer+300<UO.Timer()
endif
UO.DeleteJournal()
end sub
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

Code: Select all

UO.WaitTargetGround('0x19B9') ; 4 and more ore 
wait(1500)
UO.Grab('all')
UO.WaitTargetGround('0x19B8') ; 3 ore
wait(1500)
UO.Grab('all')
UO.WaitTargetGround('0x0EED') ; gold coins
wait(500)
UO.Grab('all')
это меняем на:

Code: Select all

DIM Item[5]
Item[0]=0x0EED ; gold
Item[1]=0x19B9 ; >3 ore
Item[2]=0x19B7 ; 1 ore
Item[3]=0x19BA ; 2 ore
Item[4]=0x19B8 ; 3 ore
   UO.Set('finddistance','2')
   for i = 0 to 4
      UO.FindType(Item[i], '-1', 'gorund')
      while UO.findcount() > 0
         UO.MoveItem('finditem','-1','backpack')
         CheckLag()
         UO.FindType(Item[i], '-1', 'gorund')
      wend
   next
   UO.Set('finddistance','14')
Jerry
Posts: 28
Joined: 2004-11-10 15:50:26

Post by Jerry »

Line387: varible undefined - i
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

Jerry wrote:Line387: varible undefined - i
var i
добавь
Jerry
Posts: 28
Joined: 2004-11-10 15:50:26

Post by Jerry »

куда? =) 5 руды тоже можт выпасть...
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Jerry wrote:куда? =) 5 руды тоже можт выпасть...

Просто в ижекте переменную надо обязательно объявить (через var) причем тока один раз, если переменная не объявлена, то юзать ею ессно незя.
Вывод: В начало скрипта надо ставить.
Jerry
Posts: 28
Joined: 2004-11-10 15:50:26

Post by Jerry »

Спасибо, ща проверять буду... пока элементалей не появлялось, и вообще что то давно их не видно, уже больше чем 14 часов прошло с момента появления последнего элема...
Post Reply