Yoko
http://forum.yoko.com.ua/

копание драгоценных металов
http://forum.yoko.com.ua/viewtopic.php?f=20&t=7229
Page 1 of 1

Author:  ghost_hnt [ 2006-04-01 20:58:54 ]
Post subject:  копание драгоценных металов

дело в том, что мне надо помочь чуток доработать этот скрипт, а именно мне надо чтобы чар копал руду, если он выкапывал ирон, тин, купер, то он выкидывал его под ноги
вот вроде и вся просьба
заранее блгодарен

:D
Code:
sub mining() 
VAR x,y,z='0',TileNum='1339'
VAR Last=0,LastTimer
For x=-4 to 4
For y=-4 to 4
Repeat
CheckLag()
ToHide()
UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
UO.UseType('0x0e86')
LastTimer=UO.Timer()
repeat
wait(2000)
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+150<UO.Timer()
if UO.InJournal('You loosen') then
repeat
wait (500)
until UO.InJournal("You put") OR LastTimer+105<UO.Timer()
endif
until UO.InJournal("There is no") OR UO.InJournal("That is too") OR UO.InJournal("Try mining")

Next
Next
mining()
end sub


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')
UO.Exec('warmode 0')
wait(2000)
else
UO.Exec('warmode 0')
UO.UseSkill('Hiding')
repeat
wait(50)
until UO.InJournal('You have hidden') OR UO.InJournal('вам не удалось') OR UO.InJournal('preoccupied')
endif
wend
end sub
 
sub CheckLag()
UO.DeleteJournal()


Author:  Scripts Writer [ 2006-04-02 06:34:06 ]
Post subject: 

создай массив с типами руды которую ты выкидывать будешь, и после удачного сообщения в журнале вставь туда,с проверкой: если руды > 0 (аирона,купера) тогда выкинуть. Эт нетрудно

Author:  ghost_hnt [ 2006-04-02 19:02:06 ]
Post subject: 

You Must Die wrote:
создай массив с типами руды которую ты выкидывать будешь, и после удачного сообщения в журнале вставь туда,с проверкой: если руды > 0 (аирона,купера) тогда выкинуть. Эт нетрудно

ну так 'n я понял как надо сделать:
чтобы например искал в бекпаке такой-то тип руды и если она есть, то выкинуть ее
а вот как на скриптах это проделать я не знаю((!!
напишите кто-нить плз!!!

Author:  ghost_hnt [ 2006-04-03 14:28:00 ]
Post subject: 

вот написал, но выкидывает всего 3, а не всю руду((
и тем более надо как-то сделать, чтобы проверку делал после того как что-нить выкопал, а то только когда включаю скрипт выкидывает что-нить одно из трех руд(да и то всего 3 рудинки :( )
не очень получилось
подправьте!!!
Code:
sub mining() 
VAR x,y,z='0',TileNum='1339'
VAR Last=0,LastTimer
For x=-4 to 4
For y=-4 to 4
Repeat
CheckLag()
ToHide()
UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
UO.UseType('0x0e86')
LastTimer=UO.Timer()
repeat
wait(2000)
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+150<UO.Timer()
if UO.InJournal('You loosen') then
repeat
wait (500)
until UO.InJournal("You put") OR LastTimer+105<UO.Timer()
endif
until UO.InJournal("There is no") OR UO.InJournal("That is too") OR UO.InJournal("Try mining")

Next
Next
mining()
end sub


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')
UO.Exec('warmode 0')
wait(2000)
else
UO.Exec('warmode 0')
UO.UseSkill('Hiding')
repeat
wait(50)
until UO.InJournal('You have hidden') OR UO.InJournal('вам не удалось') OR UO.InJournal('preoccupied')
endif
wend
end sub
 
UO.FindType('0x19B8',-1,'backpack') #купер
wait(500)
If UO.GetQuantity('finditem') then
UO.WaitTargetObject('finditem')
uo.drophere('finditem')
Endif
UO.FindType('0x19B9',-1,'backpack') #тин
wait(500)
If UO.GetQuantity('finditem') then
UO.WaitTargetObject('finditem')
uo.drophere('finditem')
Endif
UO.FindType('0x19B9',-1,'backpack') #айрон
wait(500)
If UO.GetQuantity('finditem') then
UO.WaitTargetObject('finditem')
uo.drophere('finditem')
Endif   

sub CheckLag()
UO.DeleteJournal()


Author:  Scripts Writer [ 2006-04-03 15:57:30 ]
Post subject: 

ghost_hnt wrote:
вот написал, но выкидывает всего 3, а не всю руду((
и тем более надо как-то сделать, чтобы проверку делал после того как что-нить выкопал, а то только когда включаю скрипт выкидывает что-нить одно из трех руд(да и то всего 3 рудинки :( )
не очень получилось
подправьте!!!
Code:
sub mining() 
VAR x,y,z='0',TileNum='1339'
VAR Last=0,LastTimer
For x=-4 to 4
For y=-4 to 4
Repeat
CheckLag()
ToHide()
UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
UO.UseType('0x0e86')
LastTimer=UO.Timer()
repeat
wait(2000)
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+150<UO.Timer()
if UO.InJournal('You loosen') then
repeat
wait (500)
until UO.InJournal("You put") OR LastTimer+105<UO.Timer()
endif
until UO.InJournal("There is no") OR UO.InJournal("That is too") OR UO.InJournal("Try mining")

Next
Next
mining()
end sub


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')
UO.Exec('warmode 0')
wait(2000)
else
UO.Exec('warmode 0')
UO.UseSkill('Hiding')
repeat
wait(50)
until UO.InJournal('You have hidden') OR UO.InJournal('вам не удалось') OR UO.InJournal('preoccupied')
endif
wend
end sub
 
UO.FindType('0x19B8',-1,'backpack') #купер
wait(500)
If UO.GetQuantity('finditem') then
UO.WaitTargetObject('finditem')
uo.drophere('finditem')
Endif
UO.FindType('0x19B9',-1,'backpack') #тин
wait(500)
If UO.GetQuantity('finditem') then
UO.WaitTargetObject('finditem')
uo.drophere('finditem')
Endif
UO.FindType('0x19B9',-1,'backpack') #айрон
wait(500)
If UO.GetQuantity('finditem') then
UO.WaitTargetObject('finditem')
uo.drophere('finditem')
Endif   

sub CheckLag()
UO.DeleteJournal()





если у вас руда различается типами то вставляй и клей это:


Code:
sub off()
 DIM ruda[3]
 
     ruda[0]=' '   ;Сюда и ниже вставляй типы руд
     ruda[1]=' '
     ruda[2]=' '

for i = 0 to 2
  UO.FindType(ruda[i],-1,'backpack')
  If UO.GetQuantity('finditem') then
    UO.WaitTargetObject('finditem')
    uo.drophere('finditem')
    wait(500)
  end if
next
end sub

Author:  ghost_hnt [ 2006-06-14 17:54:07 ]
Post subject: 

о отрыл этот топ!!
не руда в типах Одинакова, различается по цвету
viewtopic.php?p=15452#15452
вот нашел топик там есть на счет копания выделенных металлов
но как сделать чтобы он проверял , выкопанную руду по цвету и если это не нужная руда- кидал ее себе под ноги

ХЕЛП ПЛЗ ЛЮДИ)! :D

Author:  ghost_hnt [ 2006-06-14 21:50:29 ]
Post subject: 

че никто помочь не может? :( :( :(

Author:  Scripts Writer [ 2006-06-14 22:38:34 ]
Post subject: 

В массив цвета впиши ненужной руды, и:

Code:
for i = 0 to ...
  uo.FindType(ore,color[i],'backpack')


если найдено-выкинуть.

Author:  Askaneli [ 2006-06-15 08:33:58 ]
Post subject: 

1,2,3,4 и более руды имеют разный тип.
На вашем месте я бы сделал выкидываение по весу чара.
То есть достиг крического веса например 4*STR запускается выкидывалка по массиву цветов оров.
Получится что выкинутся все что больше 4 и соответствуют определённым в массиве цветам. А те что меньше 4х не создают многа веса и выкинутся в следующий заход, если канечна в количестве зашкалят таки за 4.

Code:
Sub SbrosOre()
var i
Dim OreColor[10] ## массив цветов трешевой руды
OreColor[1] = ''
OreColor[2] = ''
...
OreColor[10] = ''
for i=1 to 10
uo.findtype('тут тип 4 и более оров',OreColor[i],'backpack')
while uo.findcount()>0
uo.moveitem('finditem','-1','ground')
wait(700)
uo.findtype('тут тип 4 и более оров',OreColor[i],'backpack')
wend
next
end sub

Author:  ghost_hnt [ 2006-06-15 09:36:29 ]
Post subject: 

тип вроде одинаковый- руда отличается только по цвету

Author:  Scripts Writer [ 2006-06-15 09:37:23 ]
Post subject: 

ghost_hnt wrote:
тип вроде одинаковый- руда отличается только по цвету


Я же тебе написал пример ... Че вы в самом деле, не видите ?

И асканели так же тебе всё по твоему вопросу ответил-ты просто не можешь понять.

Author:  ghost_hnt [ 2006-06-15 09:54:01 ]
Post subject: 

You Must Die wrote:
ghost_hnt wrote:
тип вроде одинаковый- руда отличается только по цвету


Я же тебе написал пример ... Че вы в самом деле, не видите ?

И асканели так же тебе всё по твоему вопросу ответил-ты просто не можешь понять.

ты прав- что-то не ососбо понимаю, сейчас сервер в дауне, заработает - проверю и отпишу!

Author:  Askaneli [ 2006-06-15 11:13:44 ]
Post subject: 

ghost_hnt wrote:
тип вроде одинаковый- руда отличается только по цвету


Вазми кучку таго же айрона
отдели 1 ор, посмари тип
отдели 2 ора, посмари тип
отдели 3 ора, посмари тип
отдели 4 ора, посмари тип
И у большой кучки пасмари тип и поймёшь о чём я.


Code:
DIM Ore[4] 
Ore[01]='0x19B7'  ## 1 ore
Ore[02]='0x19BA'  ## 2 ore
Ore[03]='0x19B8'  ## 3 ore
Ore[04]='0x19B9'  ## 4 and more ore


Вот. Нуна тока цвета прописать на соответствующее количество трешевых руд и размерность массива утрясти.

Code:
Sub SbrosOre() 
var i,j

Dim OreType[4]
OreType[01]='0x19B7'  ## 1 ore
OreType[02]='0x19BA'  ## 2 ore
OreType[03]='0x19B8'  ## 3 ore
OreType[04]='0x19B9'  ## 4 and more ore

Dim OreColor[10] ## массив цветов трешевой руды
OreColor[1] = ''
OreColor[2] = ''
...
OreColor[10] = ''
for j=1 to 4
for i=1 to 10
uo.findtype(OreType[j],OreColor[i],'backpack')
while uo.findcount()>0
uo.moveitem('finditem','-1','ground')
wait(700)
uo.findtype(OreType[j],OreColor[i],'backpack')
wend
next
next
end sub

Author:  ghost_hnt [ 2006-06-15 12:00:08 ]
Post subject: 

вроде бы понял
но выдается ошибка
unhandled exeption in parser
Code:
Sub sbroska() 
var i,j
Dim OreType[4]
OreType[01]='0x19B7'  ## 1 ore
OreType[02]='0x19BA'  ## 2 ore
OreType[03]='0x19B8'  ## 3 ore
OreType[04]='0x19B9'  ## 4 and more ore

Dim OreColor[2] ## массив цветов трешевой руды
OreColor[1] = '0x0000'
OreColor[2] = '0x0641'

for j=1 to 4
for i=1 to 10
uo.findtype(OreType[j],OreColor[i],'backpack')
while uo.findcount()>0
uo.moveitem('finditem','-1','ground')
wait(700)
uo.findtype(OreType[j],OreColor[i],'backpack')
wend
next
next
end sub

Author:  Askaneli [ 2006-06-15 12:01:55 ]
Post subject: 

Code:
for i=1 to 10


поменяй на

Code:
for i=1 to 2

Author:  ghost_hnt [ 2006-06-15 12:27:40 ]
Post subject: 

все работает
вот если кому понадобится, ТОЛЬКО НЕ ЗАБУДЬТЕ ПОМЕНЯТЬ СООБЩЕНИЯ ЖУРНАЛА- НА СООБЩЕНИЯ ВАШЕГО ШАРДА
Code:
sub mining() 
VAR x,y,z='0',TileNum='1339'
VAR Last=0,LastTimer
For x=-4 to 4
For y=-4 to 4
Repeat
CheckLag()
ToHide()
UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
UO.UseType('0x0e85')
LastTimer=UO.Timer()
repeat
wait(2000)
until UO.InJournal("Try mining") OR UO.InJournal("You put") OR UO.InJournal("Раздолбив") OR UO.InJournal("Тут не") OR UO.InJournal("Это слишком") OR UO.InJournal("OOPS") OR UO.InJournal("attacking you") OR LastTimer+150<UO.Timer()
if UO.InJournal('You loosen') then
repeat
wait (500)
until UO.InJournal("You put") OR LastTimer+105<UO.Timer()
endif
until UO.InJournal("Тут не осталось") OR UO.InJournal("Это слишком") OR UO.InJournal("Раздолбив")

Next
Next
mining()
end sub


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')
UO.Exec('warmode 0')
wait(2000)
else
UO.Exec('warmode 0')
UO.UseSkill('Hiding')
repeat
wait(50)
until UO.InJournal('You have hidden') OR UO.InJournal('Вам не удалось') OR UO.InJournal('preoccupied')
endif
wend
end sub

sub CheckLag()
UO.DeleteJournal()



sub mining()
VAR x,y,z='0',TileNum='1339'
VAR Last=0,LastTimer
For x=-4 to 4
For y=-4 to 4
Repeat
CheckLag()
ToHide()
UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
UO.UseType('0x0e85')
LastTimer=UO.Timer()
repeat
wait(2000)
until UO.InJournal("Try mining") OR UO.InJournal("You put") OR UO.InJournal("Раздолбив") OR UO.InJournal("Тут не") OR UO.InJournal("Это слишком") OR UO.InJournal("OOPS") OR UO.InJournal("attacking you") OR LastTimer+150<UO.Timer()
if UO.InJournal('You loosen') then
repeat
wait (500)
sbroska()
until UO.InJournal("You put") OR LastTimer+105<UO.Timer()
endif
until UO.InJournal("Тут не осталось") OR UO.InJournal("Это слишком") OR UO.InJournal("Раздолбив")

Next
Next
mining()
end sub


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')
UO.Exec('warmode 0')
wait(2000)
else
UO.Exec('warmode 0')
UO.UseSkill('Hiding')
repeat
wait(50)
until UO.InJournal('You have hidden') OR UO.InJournal('Вам не удалось') OR UO.InJournal('preoccupied')
endif
wend
end sub

sub CheckLag()
UO.DeleteJournal()

Sub sbroska()
var i,j
Dim OreType[4]
OreType[01]='0x19B7'  ## 1 ore
OreType[02]='0x19BA'  ## 2 ore
OreType[03]='0x19B8'  ## 3 ore
OreType[04]='0x19B9'  ## 4 and more ore

Dim OreColor[3] ## массив цветов трешевой руды
OreColor[1] = '0x0000'
OreColor[2] = '0x0641'
OreColor[3] = '0x077A'

for j=1 to 4
for i=1 to 3
uo.findtype(OreType[j],OreColor[i],'backpack')
while uo.findcount()>0
uo.moveitem('finditem','-1','ground')
wait(700)
uo.findtype(OreType[j],OreColor[i],'backpack')
wend
next
next
end sub


СПАСИБО БОЛЬШОЕ АСКАНЕЛИ и You must die

pS У меня возник еще небольшое вопросик :) :
по этому скрипту - он стоит на месте и перекапывает всю шахту, т.е он будет кидать на 1 тайл всю руду - со временем тайл будет по-просту забит => надо чтобы он выкидывал руду не только под себя или выкилдывал ее на производный тайл :?

Author:  Askaneli [ 2006-06-15 12:31:41 ]
Post subject: 

ghost_hnt wrote:
все работает
вот если кому понадобится, ТОЛЬКО НЕ ЗАБУДЬТЕ ПОМЕНЯТЬ СООБЩЕНИЯ ЖУРНАЛА- НА СООБЩЕНИЯ ВАШЕГО ШАРДА
Code:
sub mining()


СПАСИБО БОЛЬШОЕ АСКАНЕЛИ и You must die

pS У меня возник еще небольшое вопросик :) :
по этому скрипту - он стоит на месте и перекапывает всю шахту, т.е он будет кидать на 1 тайл всю руду - со временем тайл будет по-просту забит => надо чтобы он выкидывал руду не только под себя или выкилдывал ее на производный тайл :?


Если выбрасывать как я сказал по факту набора определённого веса , то пока ты копаешь полный вес, то что выбросил успеет исчезнуть ...

Да тебя грохнут раньше чем ты нароешь что нить на этом скрипте ...

Author:  ghost_hnt [ 2006-06-15 13:12:53 ]
Post subject: 

Askaneli wrote:
Да тебя грохнут раньше чем ты нароешь что нить на этом скрипте ...

посмотрим посмотрим)

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/