Скрипт на мининг

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Shestak
Posts: 22
Joined: 2004-07-23 11:05:19

Скрипт на мининг

Post by Shestak »

Ребят, подскажите пожалуйста, в скрипте в переменно стоит максимальный вес после которого чар улетает и складывает руду. Но проблема в том, что чар не докапывает до данного веса. Подскажите где и что исправить, что бы чар скажем копал до веса 600.
Вот скрипт:

Code: Select all

Var RuneBook = "0x404A4437" # Бука по которой прыгаем по минам и к дому
var Marks = 10 # Количество марков в буке по минам
var WeightLimit = 1050 # Максимальный вес
var Container = "0x4056CE16" # Контейнер у дома в который сыпем
var ContainerLopat = "0x4056CE16" # Контейнер у дома с лопатами
var charkiller;
var MarkNo
var i
var TmpX
var TmpY
var CurX
var CurY
var CurZ
var TileX
var TileY
VAR X
sub main()
UO.Warmode(0)
uo.Exec('exec proverkagm')
uo.Exec('exec Reconnect')
uo.Exec("filterspeech on")
uo.Exec("filterspeech add 'Where do you want to use the pickaxe?'")
start:
for MarkNo = 1 to ( Marks )
RecallTo( MarkNo )
Wait( 1000 )

CurX = UO.GetX("self")
CurY = UO.GetY("self")
CurZ = UO.GetZ("self")

for TileX = -2 to 2
for TileY = -2 to 2
while UO.Dead()
UO.Playwav("C:\sound107.wav")
Wait(2500);
wend

tuktuk:
proverka_pk()
UO.DeleteJournal()
While not UO.Hidden()
UO.Useskill("Hiding")
Wait(9000)
Wend
if UO.Weight > WeightLimit then
GoHome()
Goto tocka_end
end if
UO.Exec("waittargettile * "+STR(CurX + TileX)+" "+STR(CurY + TileY)+" "+STR(CurZ))
UO.Exec("usetype 0x0E85")
X=0
rknd:
If UO.InJournal("There is no ore here to mine") OR UO.InJournal("Try mining in rock") OR UO.InJournal("There is no ore here to mine") OR UO.InJournal("That is too far away.") OR UO.InJournal("You have no line of sight to that location") or UO.InJournal("You put the Proto Ore in your pack.") OR UO.InJournal("You put the Common Ore in your pack.") OR UO.InJournal("You put the Elemental Ore in your pack") then
Wait(2000)
goto konec
End if
If UO.InJournal("You put the Arch Ore in your pack.") OR UO.InJournal("You put the Luxury Ore in your pack.") OR UO.InJournal("You loosen some rocks but fail to find any useable ore") OR X>225 then
;Wait(1000)
goto tuktuk
End if
X=X+1
Wait(100)
goto rknd
konec:
proverka_pk()
next
next
GoHome()
tocka_end:
next
Goto start
end sub

sub RecallTo( i )
TmpX = UO.GetX("self")
TmpY = UO.GetY("self")
UO.Exec("recall "+RuneBook+" "+STR( i ))
Wait (5000)
UO.UseSkill("Hiding")
while TmpX == UO.GetX("self") and TmpY == UO.GetY("self")
Wait(500)
wend
end sub
sub GoHome()
TmpX = UO.GetX("self")
TmpY = UO.GetY("self")
UO.Exec("recall "+RuneBook+" "+STR( 11 ));тут номер метки в тревеле к ДОМУ
Wait (2000)
while TmpX == UO.GetX("self") and TmpY == UO.GetY("self")
Wait(500)
wend
UO.Exec("setreceivingcontainer "+Container)
while not UO.Count("0x19b9") == 0
UO.Exec("waittargettype 0x19b9")
UO.Exec("grab 0")
Wait(2000)
wend
UO.Exec("unsetreceivingcontainer")
uo.Useobject(ContainerLopat)
While UO.Count(0x0E85) < 2
UO.Findtype("0x0E85", "-1",ContainerLopat)
UO.WaitTargetObject('finditem')
UO.Grab()
Wait (2000)
Wend
While UO.Count(0x1f4c) < 1
UO.Findtype("0x1f4c", "-1", ContainerLopat)
UO.WaitTargetObject('finditem')
UO.Exec("grab 30")
Wait (2000)
Wend
rechargeallbook()
While UO.Count(0x1f4c) > 0
Uo.Setreceivingcontainer(ContainerLopat)
Uo.Waittargettype(0x1f4c)
UO.Grab()
Wait(1000)
Wend
Uo.UnSetreceivingcontainer()
end sub
sub proverka_pk()
if uo.InJournal("attaking you") then
charkiller=uo.JournalSerial(uo.InJournal("attaking you")-1)
Uo.Print("killer = "+charkiller)
UO.Playwav("c:\Sound108.wav")
wait(3000)
UO.Playwav("c:\Sound108.wav")
wait(3000)
UO.Playwav("c:\Sound108.wav")
uo.exec("terminate all")
end if
end sub
sub rechargeallbook()
var recalls
var current_book
UO.IgnoreReset()
while 1
UO.FindType('0x1F4C')
if UO.FindCount() < 1 then
UO.Print("No recall scrolls left!")
#return
end if
recalls = UO.GetSerial('finditem')
UO.FindType('0x0EFA', '0x0127')
if UO.FindCount() < 1 then
UO.Print("All books are sucessfully charged!")
return
end if
current_book = UO.GetSerial('finditem')
UO.WaitTargetObject(recalls, current_book)
UO.Msg(".travelbook_recharge")
UO.Ignore(current_book)
Wait(1000)
wend
end sub
Shestak
Posts: 22
Joined: 2004-07-23 11:05:19

Post by Shestak »

А то он покопает примерно до 150 веса и летит скидывать. Вообщем он не летит с первой метки на вторую, а летит первая метка, дом, потом вторая метка и т.д.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

if UO.Weight > WeightLimit 

на

Code: Select all

if UO.Weight > UO.STR*4

:roll:

зы скрипт ужасный :roll:
Shestak
Posts: 22
Joined: 2004-07-23 11:05:19

Post by Shestak »

Спасибо за отзывчивость на мою просьбу.
Вот только почему-то и это не действует :( Он до 200 примерно веса докапывает и улетает. Где то 150 руды выкопает и летит сволочь в дом :(
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

Var RuneBook = "0x404A4437" # Áóêà ïî êîòîðîé ïðûãàåì ïî ìèíàì è ê äîìó
var Marks = 10 # Êîëè÷åñòâî ìàðêîâ â áóêå ïî ìèíàì
var WeightLimit = 1050 # Ìàêñèìàëüíûé âåñ
var Container = "0x4056CE16" # Êîíòåéíåð ó äîìà â êîòîðûé ñûïåì
var ContainerLopat = "0x4056CE16" # Êîíòåéíåð ó äîìà ñ ëîïàòàìè
var charkiller;
var MarkNo
var i
var TmpX
var TmpY
var CurX
var CurY
var CurZ
var TileX
var TileY
VAR X
sub main()
UO.Warmode(0)
uo.Exec('exec proverkagm')
uo.Exec('exec Reconnect')
uo.Exec("filterspeech on")
uo.Exec("filterspeech add 'Where do you want to use the pickaxe?'")
start:
for MarkNo = 1 to ( Marks )
RecallTo( MarkNo )
Wait( 1000 )

CurX = UO.GetX("self")
CurY = UO.GetY("self")
CurZ = UO.GetZ("self")

for TileX = -2 to 2
for TileY = -2 to 2
while UO.Dead()
UO.Playwav("C:\sound107.wav")
Wait(2500);
wend

tuktuk:
proverka_pk()
UO.DeleteJournal()
While not UO.Hidden()
UO.Useskill("Hiding")
Wait(9000)
Wend
if UO.Weight > WeightLimit then
GoHome()
end if
UO.Exec("waittargettile * "+STR(CurX + TileX)+" "+STR(CurY + TileY)+" "+STR(CurZ))
UO.Exec("usetype 0x0E85")
X=0
rknd:
If UO.InJournal("There is no ore here to mine") OR UO.InJournal("Try mining in rock") OR UO.InJournal("There is no ore here to mine") OR UO.InJournal("That is too far away.") OR UO.InJournal("You have no line of sight to that location") or UO.InJournal("You put the Proto Ore in your pack.") OR UO.InJournal("You put the Common Ore in your pack.") OR UO.InJournal("You put the Elemental Ore in your pack") then
Wait(2000)
goto konec
End if
If UO.InJournal("You put the Arch Ore in your pack.") OR UO.InJournal("You put the Luxury Ore in your pack.") OR UO.InJournal("You loosen some rocks but fail to find any useable ore") OR X>225 then
;Wait(1000)
goto tuktuk
End if
X=X+1
Wait(100)
goto rknd
konec:
proverka_pk()
next
next
next
Goto start
end sub

sub RecallTo( i )
TmpX = UO.GetX("self")
TmpY = UO.GetY("self")
UO.Exec("recall "+RuneBook+" "+STR( i ))
Wait (5000)
UO.UseSkill("Hiding")
while TmpX == UO.GetX("self") and TmpY == UO.GetY("self")
Wait(500)
wend
end sub
sub GoHome()
TmpX = UO.GetX("self")
TmpY = UO.GetY("self")
UO.Exec("recall "+RuneBook+" "+STR( 11 ));òóò íîìåð ìåòêè â òðåâåëå ê ÄÎÌÓ
Wait (2000)
while TmpX == UO.GetX("self") and TmpY == UO.GetY("self")
Wait(500)
wend
UO.Exec("setreceivingcontainer "+Container)
while not UO.Count("0x19b9") == 0
UO.Exec("waittargettype 0x19b9")
UO.Exec("grab 0")
Wait(2000)
wend
UO.Exec("unsetreceivingcontainer")
uo.Useobject(ContainerLopat)
While UO.Count(0x0E85) < 2
UO.Findtype("0x0E85", "-1",ContainerLopat)
UO.WaitTargetObject('finditem')
UO.Grab()
Wait (2000)
Wend
While UO.Count(0x1f4c) < 1
UO.Findtype("0x1f4c", "-1", ContainerLopat)
UO.WaitTargetObject('finditem')
UO.Exec("grab 30")
Wait (2000)
Wend
rechargeallbook()
While UO.Count(0x1f4c) > 0
Uo.Setreceivingcontainer(ContainerLopat)
Uo.Waittargettype(0x1f4c)
UO.Grab()
Wait(1000)
Wend
Uo.UnSetreceivingcontainer()
end sub
sub proverka_pk()
if uo.InJournal("attaking you") then
charkiller=uo.JournalSerial(uo.InJournal("attaking you")-1)
Uo.Print("killer = "+charkiller)
UO.Playwav("c:\Sound108.wav")
wait(3000)
UO.Playwav("c:\Sound108.wav")
wait(3000)
UO.Playwav("c:\Sound108.wav")
uo.exec("terminate all")
end if
end sub
sub rechargeallbook()
var recalls
var current_book
UO.IgnoreReset()
while 1
UO.FindType('0x1F4C')
if UO.FindCount() < 1 then
UO.Print("No recall scrolls left!")
#return
end if
recalls = UO.GetSerial('finditem')
UO.FindType('0x0EFA', '0x0127')
if UO.FindCount() < 1 then
UO.Print("All books are sucessfully charged!")
return
end if
current_book = UO.GetSerial('finditem')
UO.WaitTargetObject(recalls, current_book)
UO.Msg(".travelbook_recharge")
UO.Ignore(current_book)
Wait(1000)
wend
end sub

а так ?
Shestak
Posts: 22
Joined: 2004-07-23 11:05:19

Post by Shestak »

Стал нормально соблюдать вес, но!!!
Чар полетел на первую точку, начал копать, потом полел на втору и так далее до максимального веса, после этого полетел к дому скидывать руду. Скинул руду. Заправил реколами треволбуку и дальше(должен был улететь на следующую точку окпки) встал прям у сундука и начал якобы копать :(
Гдже косяк? :(

Заранее благодарен.
Post Reply