Требуется доработка! (Мининг)

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
asda
Posts: 4
Joined: 2006-02-02 00:51:20

Требуется доработка! (Мининг)

Post by asda »

Люди добрые. Вот скрипт. Он просто капает руду до фулл веса и останавливается. При появлении Элемента производит эррор звуки.
Не могли бы вы дописать в него, рекол из дома в пещеру, хидинг, убийство элементалей(хелинг костёр и убийство), рекол из пещеры домой при достижении 785 веса и складывания иноготов в сундук в доме(Рунка в доме, замаркерена перед входом, а сундук в доме).

Code: Select all

 sub mine() 
UO.DeleteJournal()
var x, y, i, tmp, inside, goto_x, st, first
st=0
first=UO.GetX()
start:
inside=0
for y=-2 to 2
for x=-2 to 2
try:
UO.Exec ("waittargettile "+" 1340 "+STR(UO.GEtX()+x)+" "+STR(UO.GetY()+y)+" 0")
UO.exec ("usetype 0x0E85")
#UO.Print (""+STR(x))
#UO.Print (""+STR(y))
i=0
while i< 100
if UO.InJournal("You loosen some rocks but fail to find any useable ore") then
wait (1000)
i=200
UO.DeleteJournal()
goto try
endif
if UO.InJournal("Try mining elsewhere") then
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You cant mine in this Region.") then
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You must wait to perform another action") then
wait (1000)
i=200
UO.DeleteJournal()
goto try
endif
if uo.InJournal("Elemental") or uo.InJournal("is attacking you") or uo.Dead() then
uo.playwav("C:\injection\alert.wav")
end if
;if UO.InJournal("You put") then
;wait (1000)
;i=200
;UO.DeleteJournal()
;goto try
;endif
if UO.InJournal("There is nothing here to mine for")  then
wait (1000)
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You have no line of sight to that location") then
wait (1000)
i=200
UO.DeleteJournal()
endif
wait (500)
i=i+1
if uo.weight > 785 then
uo.findtype(0x19B9,0x06D6,2)
UO.MoveItem('finditem', '0', 'ground')
wait (100)
endif
wend
next
next

if st == 0 then
goto_x=UO.GetX()+5
while inside < 10
while UO.GetX() < goto_x
UO.Press (39, 1, 500)
inside=0
wend
while UO.GetX() > goto_x
UO.Press (37, 1, 500)
inside=0
wend
inside=inside+1
wait (300)
wend
st=1
goto start
endif

if st == 1 then
while inside < 10
while UO.GetX() < first
UO.Press (39, 1, 500)
inside=0
wend
while UO.GetX() > first
UO.Press (37, 1, 500)
inside=0
wend
inside=inside+1
wait (300)
wend
st=0
endif
end sub


Заранее благодарен.
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

viewtopic.php?t=842
совсем народ обленился а кил элема делаешь так есть отдельная функция по убийству элей САМ ищи не все же за тебя делать и вставляй эту функцию вместо звука при появлении эля вуаля =)
asda
Posts: 4
Joined: 2006-02-02 00:51:20

Post by asda »

Question wrote:https://yoko.uokit.com/viewtopic.php?t=842
совсем народ обленился а кил элема делаешь так есть отдельная функция по убийству элей САМ ищи не все же за тебя делать и вставляй эту функцию вместо звука при появлении эля вуаля =)

Этот срипт не подходит для моего сервера. Мне нужно что бы именно доделали под мой скрипт. Очень прошу, так как сам в скриптах не шарю :(
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

asda wrote:
Question wrote:https://yoko.uokit.com/viewtopic.php?t=842
совсем народ обленился а кил элема делаешь так есть отдельная функция по убийству элей САМ ищи не все же за тебя делать и вставляй эту функцию вместо звука при появлении эля вуаля =)

Этот срипт не подходит для моего сервера. Мне нужно что бы именно доделали под мой скрипт. Очень прошу, так как сам в скриптах не шарю :(

Либо поиск, либо обучение, либо деньги.

Работы много.
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

проще самому разобраться скрипт то легких в принципе если ты играешь на этом шарде а так в воздух пальцем тыкать не хотца извени
asda
Posts: 4
Joined: 2006-02-02 00:51:20

Post by asda »

Вот скрипт нп мининг который мне подходит, но он не много глючит из за того, что здесь видимо надо прописывать руны(дом, пещера), сундук ккуда складывать руду и что то ещё. Не могли бы вы зотя бы указать мне, где нужно это вписать, и указать если тут есть какие либо ошибки.

Code: Select all

##===============================================================##
##========================Kopalka================================##
##===============================================================##
sub mine()
var x, y, i, tmp, inside, goto_x, st, first , posit
st=0
 while not UO.Hidden()
 UO.Warmode("0")
 uo.print("ķūźąåģń˙...")
  UO.UseSkill("Hiding")
  wait(4000)
   wend
first=UO.GetX()
 
start:
inside=0
for y=-2 to 2
for x=-2 to 2
try:
UO.Exec ("waittargettile "+" 1340 "+STR(UO.GEtX()+x)+" "+STR(UO.GetY()+y)+" 0")
UO.exec ("usetype 0x0E85")
#UO.Print (""+STR(x))
#UO.Print (""+STR(y))
i=0
while i< 100
if UO.InJournal("You loosen some rocks but fail to find any useable ore") then
wait (1000)
i=200
UO.DeleteJournal()
goto try
endif
if UO.InJournal("Try mining elsewhere") then
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You cant mine in this Region.") then
i=200
UO.DeleteJournal()
endif
if UO.InJournal("Your pickaxe is destroyed") then
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You must wait to perform another action") then
wait (1000)
i=200
UO.DeleteJournal()
goto try
endif
if uo.InJournal("Elemental") or uo.InJournal("is attacking you")then
uo.playwav("C:\injection\alert.wav")
killelem()
wait(1000)
loot()
i=200
UO.DeleteJournal()
goto try
endif
if uo.InJournal("till")then
uo.playwav("C:\injection\alert.wav")
gumpclick()
wait(1000)
i=200
UO.DeleteJournal()
goto try
endif
if UO.InJournal("There is nothing here to mine for")  then
wait (1000)
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You have no line of sight to that location") then
wait (1000)
i=200
UO.DeleteJournal()
endif
wait (500)
i=i+1
if UO.Weight>750 then
UO.print ( 'maxweight reached ' )
recalltohouse()
recalltohouse()
dropores()
recalltocave()
return 1
UO.print ("Your weight is "+STR(UO.Weight))
goto try
end if
wend
next
next

if st == 0 then
 posit=UO.GetX()
 posit=posit+5
 while UO.GetX() < posit
  UO.Press (39, 1, 500)
 wend 
 st=1
 goto start
endif

if st == 1 then
 posit=UO.GetY()
 posit=posit+5
 while UO.GetY() < posit
  UO.Press (40, 1, 500)
 wend 
 st=2
 goto start
endif

if st == 2 then
 posit=UO.GetX()
 posit=posit-5
 while UO.GetX() > posit
  UO.Press (37, 1, 500)
 wend 
 st=3
 goto start
endif

if st == 3 then
 posit=UO.GetY()
 posit=posit-5
 while UO.GetY() > posit
  UO.Press (38, 1, 500)
 wend 
 st=0
 goto start
endif


goto start
finish:
wait(1000)
recalltohouse()
wait(1000)
dropores()
wait(1000)
recalltocave()
end sub
sub recalltohouse()
uo.say ( ',recall 0x40015995 2' )
wait(25000)
end sub

sub recalltocave()
var Chest='0x4003532F'
uo.FindType('0x1F4C','-1',Chest)
uo.Grab('3','finditem')
wait(3000)
uo.say ( ',recall 0x40015995 1' )
wait(3000)
uo.say ( ',recall 0x40015995 1' )
wait(3000)
uo.say ( ',recall 0x40015995 1' )
wait(3000)
uo.say ( ',recall 0x40015995 3' )
wait(25000)
uo.Exec('exec mine')
wait(15000)
end sub

##==================================================================##
sub gumpclick()
repeat   
uo.deletejournal()
uo.Lclick(386,254)
uo.say(uo.lastgump('text', 1))
wait(500)
uo.Lclick(396,293)
wait(500)
until UO.InJournal("Correct")
endsub

##==================================================================##
sub DropOres()
if uo.Waiting() then
uo.CancelTarget()
end if
var a, Exit
var UnloadChest='0x4000F067' ## - ID noiaoea aey na?ina ?oau.
DIM Ore[5]
Ore[0]=0x19B9 ## - 4 and more ore
Ore[1]=0x19B7 ## - 1 ore
Ore[2]=0x19BA ## - 2 ore
Ore[3]=0x19B8 ## - 3 ore
uo.SetReceivingContainer(UnloadChest)
wait(500)
for a=0 to 3
exit=0
repeat
uo.FindType(Ore[a])
if uo.GetQuantity('finditem')>0 then
uo.Grab('0','finditem')
wait(1500)
else
exit=1
end if
until Exit==1
next
uo.UnSetReceivingContainer()
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(1000)
   Until UO.InJournal('backpack')
end sub

sub killelem()
   VAR Count,Elem
   
   uo.equipt('Rhand','0x0F60')
   UO.DeleteJournal()
   UO.Exec('warmode 1')

   UO.FindType('0x000E',-1,'ground')
   Elem=UO.GetSerial('finditem')
wait (300)
   UO.Attack(Elem)
   
   repeat
      wait(1000)
      If UO.Life<170 Then
        UO.WaitMenu('Camping','Healing Campfie')
        UO.UseType(0x0DE1)
      Endif
       If UO.Life<50 Then
        UO.UseType(0x182B)
      Endif
   until UO.IsNPC(Elem)==0
   wait(3000)
   UO.Exec('warmode 0')
   wait(1000)

   UO.Print("poka!")

end sub

sub loot()
 var corpse='0x2006' ; objtype ??? ???? ??????, ?????????? ?? ????, ??? ????.
 var waittime=1000
 var body,bodypack,i
 DIM Loot[12]
 Loot[0]=0x19B9
 Loot[1]=0x19BA
 Loot[2]=0x19B7
 Loot[3]=0x19B8
 Loot[4]=0x141A
 Loot[5]=0x1416
 Loot[6]=0x1410
 Loot[7]=0x1417
 Loot[8]=0x1418
 Loot[9]=0x1419
 Loot[10]=0x0E76
 Loot[11]=0x1413
 Loot[12]=0x1086
 uo.set('finddistance','2')
  while uo.countonground(corpse)>0
   uo.findtype(corpse,'-1','ground')
   body=uo.getserial('finditem')
#-----------????????? ???? ???
   uo.useobject('backpack')
#-----------???? ???????? ?????? ????
   repeat
    wait(100)
   until uo.getserial('lastcontainer')==uo.getserial('backpack')
#-----------????????? ????
   uo.useobject(body)
   repeat
    wait(100)
   until uo.getserial('lastcontainer')<>uo.getserial('backpack')
#------------
   bodypack=uo.getserial('lastcontainer')
   For i=0 to 12
    repeat
     UO.FindType(Loot[i],-1,bodypack)
     if UO.GetQuantity('finditem') then
      UO.MoveItem('finditem','backpack')
      repeat
       wait(100)
      until uo.containerof('finditem')==uo.getserial('backpack')
      wait(waittime)
     endif
    until uo.findcount()==0
   next
   uo.ignore(body)
  wend
endsub
RiFeX aka Maybek
Posts: 56
Joined: 2005-02-27 19:47:55
Contact:

Post by RiFeX aka Maybek »

Что за шард?
asda
Posts: 4
Joined: 2006-02-02 00:51:20

Post by asda »

Шард Latvian RPG канал #oldp
Post Reply