Page 1 of 2
инфо оре
Posted: 2011-03-21 18:27:36
by Irina E
Code: Select all
Sub InfoOre2()
var LogsTime=PrintTime()
UO.TextOpen()
UO.TextPrint('#####################')
UO.TextPrint('## Âðåìÿ: '+LogsTime+' ##')
UO.TextPrint('#####################')
UO.TextPrint('Acid Ore: '+STR(GetAmount('0x19B9','0x09B9',HiOreBox)))
UO.TextPrint('Cristalin Ore: '+STR(GetAmount('0x19B9','0x09A4',HiOreBox)))
UO.TextPrint('Dragon Ore: '+STR(GetAmount('0x19B9','0x0085',HiOreBox)))
UO.TextPrint('Steel Ore: '+STR(GetAmount('0x19B9','0x09D3',HiOreBox)))
UO.TextPrint('Elvin Ore: '+STR(GetAmount('0x19B9','0x09E6',HiOreBox)))
UO.TextPrint('Gorgan Ore: '+STR(GetAmount('0x19B9','0x09F0',HiOreBox)))
UO.TextPrint('Send rock Ore: '+STR(GetAmount('0x19B9','0x008F',HiOreBox)))
UO.TextPrint('Valorite Ore: '+STR(GetAmount('0x19B9','0x00CE',HiOreBox)))
UO.TextPrint('Vulcan Ore: '+STR(GetAmount('0x19B9','0x09DA',HiOreBox)))
UO.TextPrint('Plutonium Ore: '+STR(GetAmount('0x19B9','0x08AF',HiOreBox)))
UO.TextPrint('Obsidian Ore: '+STR(GetAmount('0x19B9','0x0028',HiOreBox)))
UO.TextPrint('Mytheril Ore: '+STR(GetAmount('0x19B9','0x052D',HiOreBox)))
UO.TextPrint('Blood crest Ore: '+STR(GetAmount('0x19B9','0x09EC',HiOreBox)))
UO.TextPrint('Black rock Ore: '+STR(GetAmount('0x19B9','0x0455',HiOreBox)))
UO.TextPrint('Krynite Ore: '+STR(GetAmount('0x19B9','0x010F',HiOreBox)))
UO.TextPrint('Eldar Ore: '+STR(GetAmount('0x19B9','0x0BA7',HiOreBox)))
UO.TextPrint('Verite Ore: '+STR(GetAmount('0x19B9','0x07D5',HiOreBox)))
UO.TextPrint('Aqua Ore: '+STR(GetAmount('0x19B9','0x0060',HiOreBox)))
UO.TextPrint('Blood rock: '+STR(GetAmount('0x19B9','0x04C2',HiOreBox)))
UO.TextPrint('#####################')
End sub
Sub GetAmount(Type, Color, Cont)
Var item_amount = 0
UO.IgnoreReset()
Repeat
UO.FindType(Type, Color, Cont)
If UO.FindCount() > 0 Then
If UO.GetQuantity('finditem')==0 Then
item_amount = item_amount + 1
Else
item_amount = item_amount + UO.GetQuantity('finditem')
EndIf
UO.Ignore('finditem')
UO.FindType(Type, Color, Cont)
EndIf
Until UO.FindCount() < 1 or UO.Dead()
UO.IgnoreReset()
Return item_amount
End sub
Sub PrintTime()
Var HR = ''
Var MIN = ''
Var SEC = ''
Var CurrentTime = UO.Time()
If CurrentTime>99999 Then
HR = Mid(STR(CurrentTime),0,2)
MIN = Mid(STR(CurrentTime),2,2)
SEC = Mid(STR(CurrentTime),4,2)
Else
If CurrentTime > 9999 Then
HR = '0'+Mid(STR(CurrentTime),0,1)
MIN = Mid(STR(CurrentTime),1,2)
SEC = Mid(STR(CurrentTime),3,2)
Else
If CurrentTime > 999 Then
HR = '00'
MIN = Mid(STR(CurrentTime),0,2)
SEC = Mid(STR(CurrentTime),2,2)
Else
If CurrentTime > 99 Then
HR = '00'
MIN = '0'+Mid(STR(CurrentTime),0,1)
SEC = Mid(STR(CurrentTime),1,2)
Else
If CurrentTime > 9 Then
HR = '00'
MIN = '00'
SEC = STR(CurrentTime)
Else
HR = '00'
MIN = '00'
SEC = '0'+STR(CurrentTime)
EndIf
EndIf
EndIf
EndIf
EndIf
UO.TextPrint(STR(CurrentTime ))
Return (HR+':'+MIN+':'+SEC)
End sub
ЕСТЬ ТАКОЙ Скрипт как зделать чтобы он показывал допустим в техте +1 или +2 ора того или иного ора
Re: инфо оре
Posted: 2011-03-22 08:52:23
by Mirage
Не понял что ты хочешь чтобы он делал.
Пример подробнее опиши.
Re: инфо оре
Posted: 2011-03-22 18:49:22
by Irina E
в этом скрипте что выше он как выгрузил руду после копки определяит с коко руды в мешке а я хотел чтобы если я выгрузил допустим аквы оре 3 ора то показал допустим так
Aqua 55 + 3 в итоге всего 58 оре
вот так должно выглядеть в техте
Re: инфо оре
Posted: 2011-03-22 19:16:21
by Mirage
можно сделать чтото типо:
присвоить x= количеству руды (тип, цвет) в сундуке
присвоить y = количеству руды (тип, цвет) в паке ПЕРЕД сбросом.
присвоить z = x+y
вывести сообщения x,y,z
соответственно тебе в вышепредставленном скрипте треба только 1 вещь замутить
UO.TextPrint('Acid Ore: '+STR(GetAmount('0x19B9','0x09B9',HiOreBox))+' '+STR(GetAmount('0x19B9','0x09B9','my')))

Re: инфо оре
Posted: 2011-03-22 19:26:53
by Irina E
Это если кучка больше 4 оре а если 1,2 или 3 то пишет 0
Code: Select all
var e
dim a[4],x[19]
a[0] = 0x19B9 ;4 and more ore
a[1] = 0x19B7 ;1 ore
a[2] = 0x19BA ;2 ore
a[3] = 0x19B8 ;3 ore
for e=0 to 3
UO.TextOpen()
UO.TextPrint('#####################')
UO.TextPrint('## Âðåìÿ: '+LogsTime+' ##')
UO.TextPrint('#####################')
UO.TextPrint('Acid Ore: '+STR(GetAmount('a[e]','0x09B9',HiOreBox))+' '+STR(GetAmount('a[e]','0x09B9','my')))
пробувал так не получаица
Re: инфо оре
Posted: 2011-03-22 20:31:26
by Irina E
Code: Select all
sub unloadore()
var Time,Space
var tColor = uo.getcolor('finditem')
Time = Time()
Space = ' '
VAR TempX,TempY,i,Exit, Exit1, ConTainer, j
VAR SundukX=5518
VAR SundukY=1088
VAR Index=16 ; количество элементов массива
DIM Ore[12], Colors[16]
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
Colors[14]="0x0455" ; BlackRock
Colors[15]="0x0028" ; Obsid
TempX=UO.GetX()
TempY=UO.GetY()
walkn(SundukX,SundukY,"")
ToHide()
UO.UseObject('Sunduk')
wait(500)
UO.UseObject('BESTBag')
wait(500)
UO.UseObject('IronBag')
Ore[0]=0x19B9 ; >3 ore
Ore[1]=0x19B7 ; 1 ore
Ore[2]=0x19BA ; 2 ore
Ore[3]=0x19B8 ; 3 ore
Ore[4]=0x0F11 ; saphires
Ore[5]=0x0F16 ; amethysts
Ore[6]=0x0F18 ; tourmalines
Ore[7]=0x0F15 ; citrines
Ore[8]=0x0F10 ; emeralds
Ore[9]=0x0F0F ; star sapphires
Ore[10]=0x0F26 ; diamonds
Ore[11]=0x1F4C ; recall scrolls
Ore[12]=0x0EED ; gold
For i=0 to 12
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
uo.click('finditem')
CheckLag()
tColor = uo.getcolor('finditem')
if (tColor>='0x09A4') or (tColor=='0x0060') or (tColor=='0x0085') or (tColor=='0x008F') or (tColor=='0x010F') then
uo.textopen()
UO.TextPrint('Выха: '+uo.getname('finditem'))
Endif
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
ToEat()
uo.textopen()
UO.TextPrint('Выгрузка произведена: '+Space +Time)
walkn(TempX,TempY,"")
ToHide()
end sub
Code: Select all
If UO.GetColor('finditem')==Colors[j] Then
uo.click('finditem')
CheckLag()
uo.textopen()
UO.TextPrint('Выха: '+uo.getname('finditem'))
Container=UO.GetSerial('BESTBag')
Re: инфо оре
Posted: 2011-03-22 22:06:37
by Irina E
Code: Select all
sub Dropore()
var Time,Space
var tColor = uo.getcolor('finditem')
Space = ' '
VAR TempX,TempY,i,Exit, Exit1, ConTainer, j
VAR Index=16 ; êîëè÷åñòâî ýëåìåíòîâ ìàññèâà
sbroska()
DIM Ore[12], Colors[16]
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
Colors[14]="0x0455" ; BlackRock
Colors[15]="0x0028" ; Obsid
UO.UseObject(Chest)
wait(500)
UO.UseObject(OreBox)
wait(500)
UO.UseObject(HiOreBox)
Ore[0]=0x19B9 ; >3 ore
Ore[1]=0x19B7 ; 1 ore
Ore[2]=0x19BA ; 2 ore
Ore[3]=0x19B8 ; 3 ore
Ore[4]=0x0F11 ; saphires
Ore[5]=0x0F16 ; amethysts
Ore[6]=0x0F18 ; tourmalines
Ore[7]=0x0F15 ; citrines
Ore[8]=0x0F10 ; emeralds
Ore[9]=0x0F0F ; star sapphires
Ore[10]=0x0F26 ; diamonds
Ore[11]=0x1F4C ; recall scrolls
Ore[12]=0x0EED ; gold
For i=0 to 12
Exit=0
repeat
UO.FindType(Ore[i])
if UO.GetQuantity('finditem')>0 then
If UO.GetColor('finditem')=='0x0000' Then
Container=UO.GetSerial(OreBox)
Else
Container=UO.GetSerial(Chest)
Exit1=0
j=0
While j<Index AND Exit1<>1
If UO.GetColor('finditem')==Colors[j] Then
uo.click('finditem')
CheckLag()
uo.textopen()
UO.TextPrint('#####################')
UO.TextPrint('Âûõà: '+uo.getname('finditem'))
UO.TextPrint('#####################')
Container=UO.GetSerial(HiOreBox)
Exit1=1
Endif
j=j+1
Wend
Endif
UO.MoveItem('finditem',0,Container)
CheckLag()
wait(500)
Else
Exit=1
endif
until Exit==1
Next
end sub
хз что надо делать не хочет сбрасавать выху в свой мешок а скидавает в судуке
Re: инфо оре
Posted: 2011-03-24 23:35:42
by Irina E
ну как там моЙ скрипт ?
Mirage
Re: инфо оре
Posted: 2011-03-25 07:12:39
by Mirage
ща до работы доеду скину вариант.
На вскидку ошибки:
DIM Ore[12]; надо 13
j<Index ; надо либо индекс = 17 либо знак тут ставить
<= (меньше или равно)
и самое главное (я не разобрался в алгоритме - сильно завернуто)
Code: Select all
Container=UO.GetSerial(Chest)
Exit1=0
j=0
While j<Index AND Exit1<>1
ты назначаешь контейнер, и тут же еще 16 раз назначаешь контейнер. Нужно if-else немного переделать.
Re: инфо оре
Posted: 2011-03-25 12:56:19
by Irina E
так ты зделай я проверЮ
Re: инфо оре
Posted: 2011-03-25 14:17:46
by Mirage
вот так попробуй:
Code: Select all
sub Dropore()
var Time,Space
var tColor = uo.getcolor('finditem')
Space = ' '
VAR TempX,TempY,i,Exit, ConTainer
DIM Ore[13]
Ore[0]='0x19B7' ; 1 ore
Ore[1]='0x19BA' ; 2 ore
Ore[2]='0x19B8' ; 3 ore
Ore[3]='0x19B9' ; >3 ore
Ore[4]='0x0F11' ; saphires
Ore[5]='0x0F16' ; amethysts
Ore[6]='0x0F18' ; tourmalines
Ore[7]='0x0F15' ; citrines
Ore[8]='0x0F10' ; emeralds
Ore[9]='0x0F0F' ; star sapphires
Ore[10]='0x0F26' ; diamonds
Ore[11]='0x1F4C' ; recall scrolls
Ore[12]='0x0EED' ; gold
UO.UseObject(Chest)
wait(500)
UO.UseObject(OreBox)
wait(500)
UO.UseObject(HiOreBox)
For i=0 to 15
Exit=0
repeat
UO.FindType(Ore[i], -1, 'my')
if UO.GetQuantity('finditem')>0 then
If UO.GetColor('finditem')=='0x0000' AND i<4 Then
Container=UO.GetSerial(OreBox)
Else
if i>3 then
Container=UO.GetSerial(Chest)
else
Container=UO.GetSerial(HiOreBox)
Endif
Endif
UO.MoveItem('finditem',0,Container)
CheckLag()
wait(500)
Else
Exit=1
endif
until Exit==1
Next
end sub
если скидывать будет нормально, добавим счетчик цвета.
Re: инфо оре
Posted: 2011-03-25 15:53:29
by Irina E
скидавает норм но ругаеца на Это после того как скинул
пишет line 492: Runtime error
да и мне надо чтобы всё то что в масиве тут чтобы скинул в OreBox он токо ирон туда скидавает надо всё что в масиве скинул (камни,гп, голд и ирон)
Re: инфо оре
Posted: 2011-03-25 17:47:26
by Mirage
аа я думал тебе надо в 3 сундука - камни и золото в 1 ирон вовторой а вышку в третий.
Щаз чегонибудь придумаем, зараз и счетчик попробую прикрутить.
Re: инфо оре
Posted: 2011-03-28 20:32:57
by Irina E
Re: инфо оре
Posted: 2011-03-30 08:33:11
by Irina E
Code: Select all
sub Dropore()
var Time,Space
var tColor = uo.getcolor('finditem')
Space = ' '
VAR TempX,TempY,i,Exit, Exit1, ConTainer, j
UO.TextPrint(MakeTime())
sbroska()
DIM Ore[12], Colors[16], col[1]
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
Colors[14]="0x0455" ; BlackRock
Colors[15]="0x0028" ; Obsid
UO.UseObject(Chest)
wait(500)
UO.UseObject(OreBox)
wait(500)
UO.UseObject(HiOreBox)
Ore[0]=0x19B9 ; >3 ore
Ore[1]=0x19B7 ; 1 ore
Ore[2]=0x19BA ; 2 ore
Ore[3]=0x19B8 ; 3 ore
Ore[4]=0x0F11 ; saphires
Ore[5]=0x0F16 ; amethysts
Ore[6]=0x0F18 ; tourmalines
Ore[7]=0x0F15 ; citrines
Ore[8]=0x0F10 ; emeralds
Ore[9]=0x0F0F ; star sapphires
Ore[10]=0x0F26 ; diamonds
Ore[11]=0x1F4C ; recall scrolls
Ore[12]=0x0EED ; gold
For j=0 to 16
For i=0 to 12
repeat
UO.FindType(Ore[i])
if UO.GetQuantity('finditem')>0 then
If UO.GetColor('finditem')=='0x0000' Then
Container=UO.GetSerial(OreBox)
Else
Container=UO.GetSerial(Chest)
If UO.GetColor(Colors[j]) Then
uo.click('finditem')
CheckLag()
uo.textopen()
UO.TextPrint('ÂûÕà ó ìåíÿ: '+uo.getname('finditem'))
Container=UO.GetSerial(HiOreBox)
Endif
Endif
UO.MoveItem('finditem',0,Container)
CheckLag()
wait(400)
Else
endif
until UO.findcount()==0
Next
UO.TextPrint('#####################')
end sub
зделал скрипт но есть одно но почемута голд скидавает тоже в мешок с выхой хоть он и не сосдан в Colors[]
цвет голда 0x0032
Re: инфо оре
Posted: 2011-03-30 19:23:24
by kuviCk
Irina E wrote:Code: Select all
sub Dropore()
var Time,Space
var tColor = uo.getcolor('finditem')
Space = ' '
VAR TempX,TempY,i,Exit, Exit1, ConTainer, j
UO.TextPrint(MakeTime())
sbroska()
DIM Ore[12], Colors[16], col[1]
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
Colors[14]="0x0455" ; BlackRock
Colors[15]="0x0028" ; Obsid
UO.UseObject(Chest)
wait(500)
UO.UseObject(OreBox)
wait(500)
UO.UseObject(HiOreBox)
Ore[0]=0x19B9 ; >3 ore
Ore[1]=0x19B7 ; 1 ore
Ore[2]=0x19BA ; 2 ore
Ore[3]=0x19B8 ; 3 ore
Ore[4]=0x0F11 ; saphires
Ore[5]=0x0F16 ; amethysts
Ore[6]=0x0F18 ; tourmalines
Ore[7]=0x0F15 ; citrines
Ore[8]=0x0F10 ; emeralds
Ore[9]=0x0F0F ; star sapphires
Ore[10]=0x0F26 ; diamonds
Ore[11]=0x1F4C ; recall scrolls
Ore[12]=0x0EED ; gold
For j=0 to 16
For i=0 to 12
repeat
UO.FindType(Ore[i])
if UO.GetQuantity('finditem')>0 then
If UO.GetColor('finditem')=='0x0000' Then
Container=UO.GetSerial(OreBox)
Else
Container=UO.GetSerial(Chest)
If UO.GetColor(Colors[j]) Then
uo.click('finditem')
CheckLag()
uo.textopen()
UO.TextPrint('ÂûÕà ó ìåíÿ: '+uo.getname('finditem'))
Container=UO.GetSerial(HiOreBox)
Endif
Endif
UO.MoveItem('finditem',0,Container)
CheckLag()
wait(400)
Else
endif
until UO.findcount()==0
Next
UO.TextPrint('#####################')
end sub
зделал скрипт но есть одно но почемута голд скидавает тоже в мешок с выхой хоть он и не сосдан в Colors[]
цвет голда 0x0032
Проще чтобы не мучаться, возми укажи его цвет и кидай к обычным орам... а так можно погеммороится и игнор на него повесить
Re: инфо оре
Posted: 2011-03-30 20:28:17
by Irina E
Проще чтобы не мучаться, возми укажи его цвет и кидай к обычным орам... а так можно погеммороится и игнор на него повесить
к обычной орам не получеца потому что
Code: Select all
If UO.GetColor('finditem')=='0x0000' Then
0х0000 это цвет вот Этих
Code: Select all
Ore[0]=0x19B9 ; >3 ore
Ore[1]=0x19B7 ; 1 ore
Ore[2]=0x19BA ; 2 ore
Ore[3]=0x19B8 ; 3 ore
Ore[4]=0x0F11 ; saphires
Ore[5]=0x0F16 ; amethysts
Ore[6]=0x0F18 ; tourmalines
Ore[7]=0x0F15 ; citrines
Ore[8]=0x0F10 ; emeralds
Ore[9]=0x0F0F ; star sapphires
Ore[10]=0x0F26 ; diamonds
Ore[11]=0x1F4C ; recall scrolls
Ore[12]=0x0EED ; gold
я пробовал одельна но он полюбому скидавает в сундук с вышкай
Re: инфо оре
Posted: 2011-03-30 20:39:16
by kuviCk
Irina E wrote:Проще чтобы не мучаться, возми укажи его цвет и кидай к обычным орам... а так можно погеммороится и игнор на него повесить
к обычной орам не получеца потому что
Code: Select all
If UO.GetColor('finditem')=='0x0000' Then
0х0000 это цвет вот Этих
Code: Select all
Ore[0]=0x19B9 ; >3 ore
Ore[1]=0x19B7 ; 1 ore
Ore[2]=0x19BA ; 2 ore
Ore[3]=0x19B8 ; 3 ore
Ore[4]=0x0F11 ; saphires
Ore[5]=0x0F16 ; amethysts
Ore[6]=0x0F18 ; tourmalines
Ore[7]=0x0F15 ; citrines
Ore[8]=0x0F10 ; emeralds
Ore[9]=0x0F0F ; star sapphires
Ore[10]=0x0F26 ; diamonds
Ore[11]=0x1F4C ; recall scrolls
Ore[12]=0x0EED ; gold
я пробовал одельна но он полюбому скидавает в сундук с вышкай
Попробуй тогда так. Ладно пусть он выкидывает к выхе. Потом просто открываем мешок с выхой и мешок с обычной и перебрасываем в него голд. Думаю ничего страшного в этом не будет.
Re: инфо оре
Posted: 2011-03-30 21:12:08
by Mirage
DIM Ore[12] ; 0-12=13, 12<>13.

Re: инфо оре
Posted: 2011-03-31 20:04:27
by Irina E
Mirage wrote:DIM Ore[12] ; 0-12=13, 12<>13.

если ставлю 13 то выдает ошибку в этой строке