Page 2 of 2
Posted: 2007-07-13 18:37:36
by Scripts Writer
... и ещё вопрос а пичиму Sub main(), не виден в поле "Run function:", а вот если с маленькой буковки - "sub" - тады пжалста?
Зачем доказывать то что уже доказано? Надо просто прочитать всю доступную информацию и возможно там есть ответ.
Это сделано специально чтобы скрывать из списка функций те, которые не будут использоваться на прямую. (Чеклаг, прототипы функций, зачастую пвп скрипты используемые только на хоткеи)
Posted: 2007-07-13 18:43:48
by ADEPT_ABP
Code: Select all
Зачем доказывать то что уже доказано? Надо просто прочитать всю доступную информацию и возможно там есть ответ.
Ммм... "...
всю доступную..", "...
...возможно....???
Вы меня напугали, перспективой работать ислючительно на интернет и провести остаток своей жизни у монитора.

Posted: 2007-07-13 18:45:54
by Scripts Writer
ADEPT_ABP wrote:Code: Select all
Зачем доказывать то что уже доказано? Надо просто прочитать всю доступную информацию и возможно там есть ответ.
Ммм... "...
всю доступную..", "...
...возможно....???
Вы меня напугали, перспективой работать ислючительно на интернет и провести остаток своей жизни у монитора.

Её не так уж и много
Posted: 2007-07-13 18:54:53
by ADEPT_ABP
Её не так уж и много
Я лень-тяй. Поделись ссылкой.

Или хотя бы, просвяти - из какой, это области? Если из области программирования, то - какой язык?
Posted: 2007-07-13 19:02:48
by Scripts Writer
ФАК+Уроки в подписи ссылки есть.
Posted: 2007-07-13 19:06:28
by ADEPT_ABP
Scripts Writer wrote:ФАК+Уроки в подписи ссылки есть.
Пофлудили, и хватит. Хорошего по-немножку. Пиду уроки, с факом пересматривать... В прошлый раз, видать, пропустил.
З.Ы. Добавлю-ка я сюда свой скрипт на перекладку.
Code: Select all
sub main()
UO.AddObject('Bout')
UO.Print('Откуда перемещаем?')
while UO.Targeting()
wait(10)
wend
wait(1000)
uo.useobject('Bout')
wait(1000)
UO.AddObject('Item')
UO.Print('Что перемещаем?')
while UO.Targeting()
wait(10)
wend
wait(1000)
UO.AddObject('Bin')
UO.Print('Куда перемещаем?')
while UO.Targeting()
wait(10)
wend
wait(1000)
uo.useobject('Bin')
wait(1000)
if uo.weight < uo.str*4+20 then
uo.findtype(uo.GetGraphic('Item'),uo.GetColor('Item'),'Bout')
while uo.findcount()
uo.moveitem('finditem',uo.str*4-uo.weight,'Bin',50,0,50)
wait(850)
uo.findtype(uo.GetGraphic('Item'),uo.GetColor('Item'),'Bout')
wend
end if
end sub
Руководство пользователя.
1) Запускаем скрипт
2) Первым прицелом указываем откуда перемещаем
3) Вторым прицелом указываем вещь которую перемещаем.(Если нажать Esc то будет перемещать все вещи)
4) Третьим прицелом указываем куда перемещаем
Posted: 2009-09-17 11:12:18
by Gromiz
А можно скрипт немного переделать?:
суть такова:
при запуске скрипта:
ищем вещи в паке и:
1) вещи определенного типа перекладываются в 1 мешок
2) вещи определенного типа перекладываются в другой мешок
вещи нужно указать обязательно какие
примерно догадываюсь, что надо это использовать:
часть скрипта:
Code: Select all
VAR i,Exit
DIM Loot[20]
Loot[0]=0x0EED ; gp
Loot[1]=0x0F7B ; BM
Loot[2]=0x0F7A ; BP
Loot[3]=0x0F84 ; GA
Loot[4]=0x0F85 ; GI
Loot[5]=0x0F86 ; MR
Loot[6]=0x0F88 ; NS
Loot[7]=0x0F8C ; SA
Loot[8]=0x0F8D ; SS
Loot[9]=0x13FA ;two handed axe
Loot[10]=0x1413 ;arm
Loot[11]=0x1415 ;arm
Loot[12]=0x1411 ;arm
Loot[13]=0x1410 ;arm
Loot[14]=0x1414 ;arm
Loot[15]=0x0E21 ;ban
Loot[16]=0x0F78 ;batw
Loot[17]=0x0F8B ;pumise
Loot[18]=0x1bd1 ;feathers
Loot[19]=0x0f3f ;arrow
UO.SetReceivingContainer('0x4000C313') ;ID backpacka
For i=0 to 19
Exit=0
repeat
UO.FindType(Loot[i],-1,'lastcontainer')
if UO.GetQuantity('finditem') then
UO.Grab('0','finditem')
wait(100)
Else
Exit=1
endif
until Exit==1 OR uo.injournal("loot")
Next
UO.UnSetReceivingContainer()
end sub
А хотелось бы совместить с этим:Code: Select all
sub main()
UO.AddObject('Bout')
UO.Print('Откуда перемещаем?')
while UO.Targeting()
wait(10)
wend
wait(1000)
uo.useobject('Bout')
wait(1000)
UO.AddObject('Item')
UO.Print('Что перемещаем?')
while UO.Targeting()
wait(10)
wend
wait(1000)
UO.AddObject('Bin')
UO.Print('Куда перемещаем?')
while UO.Targeting()
wait(10)
wend
wait(1000)
uo.useobject('Bin')
wait(1000)
if uo.weight < uo.str*4+20 then
uo.findtype(uo.GetGraphic('Item'),uo.GetColor('Item'),'Bout')
while uo.findcount()
uo.moveitem('finditem',uo.str*4-uo.weight,'Bin',50,0,50)
wait(850)
uo.findtype(uo.GetGraphic('Item'),uo.GetColor('Item'),'Bout')
wend
end if
end sub
Posted: 2009-09-17 11:17:02
by Nmy
Gromiz wrote:А можно скрипт немного переделать?:
суть такова:
при запуске скрипта:
ищем вещи в паке и:
1) вещи определенного типа перекладываются в 1 мешок
2) вещи определенного типа перекладываются в другой мешок
вещи нужно указать обязательно какиепримерно догадываюсь, что надо это использовать:
часть скрипта:
Code: Select all
VAR i,Exit
DIM Loot[20]
Loot[0]=0x0EED ; gp
Loot[1]=0x0F7B ; BM
Loot[2]=0x0F7A ; BP
Loot[3]=0x0F84 ; GA
Loot[4]=0x0F85 ; GI
Loot[5]=0x0F86 ; MR
Loot[6]=0x0F88 ; NS
Loot[7]=0x0F8C ; SA
Loot[8]=0x0F8D ; SS
Loot[9]=0x13FA ;two handed axe
Loot[10]=0x1413 ;arm
Loot[11]=0x1415 ;arm
Loot[12]=0x1411 ;arm
Loot[13]=0x1410 ;arm
Loot[14]=0x1414 ;arm
Loot[15]=0x0E21 ;ban
Loot[16]=0x0F78 ;batw
Loot[17]=0x0F8B ;pumise
Loot[18]=0x1bd1 ;feathers
Loot[19]=0x0f3f ;arrow
UO.SetReceivingContainer('0x4000C313') ;ID backpacka
For i=0 to 19
Exit=0
repeat
UO.FindType(Loot[i],-1,'lastcontainer')
if UO.GetQuantity('finditem') then
UO.Grab('0','finditem')
wait(100)
Else
Exit=1
endif
until Exit==1 OR uo.injournal("loot")
Next
UO.UnSetReceivingContainer()
end sub
А хотелось бы совместить с этим:Code: Select all
sub main()
UO.AddObject('Bout')
UO.Print('Откуда перемещаем?')
while UO.Targeting()
wait(10)
wend
wait(1000)
uo.useobject('Bout')
wait(1000)
UO.AddObject('Item')
UO.Print('Что перемещаем?')
while UO.Targeting()
wait(10)
wend
wait(1000)
UO.AddObject('Bin')
UO.Print('Куда перемещаем?')
while UO.Targeting()
wait(10)
wend
wait(1000)
uo.useobject('Bin')
wait(1000)
if uo.weight < uo.str*4+20 then
uo.findtype(uo.GetGraphic('Item'),uo.GetColor('Item'),'Bout')
while uo.findcount()
uo.moveitem('finditem',uo.str*4-uo.weight,'Bin',50,0,50)
wait(850)
uo.findtype(uo.GetGraphic('Item'),uo.GetColor('Item'),'Bout')
wend
end if
end sub
типов много? если нет, тогда запусти просто ,massmove 666 и все.
Posted: 2009-09-17 12:23:33
by Gromiz
да, хватает.
просто после лута все скидываеся в пака, а хотелосьбы, чтобы потом по сумкам кидало
да и его можно потом переделать, чтобы руду различную в каждую сумку кидало
Posted: 2009-09-17 14:02:23
by Mirage
можно (если коротко) делать вот так
Code: Select all
var Container1 = 'ID сундука 1'
var Container2 = 'ID сундука 2'
VAR i,Exit
DIM Loot[20]
Loot[0]=0x0EED ; gp
Loot[1]=0x0F7B ; BM
Loot[2]=0x0F7A ; BP
Loot[3]=0x0F84 ; GA
Loot[4]=0x0F85 ; GI
Loot[5]=0x0F86 ; MR
Loot[6]=0x0F88 ; NS
Loot[7]=0x0F8C ; SA
Loot[8]=0x0F8D ; SS
Loot[9]=0x13FA ;two handed axe
Loot[10]=0x1413 ;arm
Loot[11]=0x1415 ;arm
Loot[12]=0x1411 ;arm
Loot[13]=0x1410 ;arm
Loot[14]=0x1414 ;arm
Loot[15]=0x0E21 ;ban
Loot[16]=0x0F78 ;batw
Loot[17]=0x0F8B ;pumise
Loot[18]=0x1bd1 ;feathers
Loot[19]=0x0f3f ;arrow
For i=0 to 10
repeat
UO.FindType(Loot[i],-1,'lastcontainer')
If uo.FindCount()>0 Then
uo.MoveItem('finditem',0,Container1)
wait(100)
end if
Until uo.FindCount()<1 or uo.Dead()
Next
For i=9 to 19
repeat
UO.FindType(Loot[i],-1,'lastcontainer')
If uo.FindCount()>0 Then
uo.MoveItem('finditem',0,Container2)
wait(100)
end if
Until uo.FindCount()<1 or uo.Dead()
Next
end sub
Или более "длинно" и наверное более правильней по алгоритму:
Code: Select all
sub main()
loot('тип1', 'цвет', 'куда кидать')
loot('тип2', 'цвет', 'куда кидать')
loot('тип3', 'цвет', 'куда кидать')
endsub
sub loot(Type, Color, Container)
Repeat
UO.FindType(Type, Color, 'lastcontainer')
If uo.FindCount()>0 Then
uo.MoveItem('finditem',0,Container)
wait(100)
end if
Until uo.FindCount()<1 or uo.Dead()
end sub
в main забить просто параметры, loot не трогать и все.
Posted: 2009-09-17 14:38:37
by Gromiz
спасибо за ответ.
вышло что-то типо этого, но ничего не перетаскивает:
параметры вроде правильно вбил(узнавал через ,info)
Code: Select all
sub massmoveinpack()
loot('0x0EED', '0x0000', '0x4000D86A'); gp
loot('0x0F7B', '0x0000', '0x4000D86A'); BM
loot('0x1078', '0x0000', '0x4000DC19'); kobolt
loot('0x1bd1', '0x0000', '0x4000DC19'); feathers
loot('0x0f3f', '0x0000', '0x4000B40A'); arrow
loot('0x0F51', '0x0000', '0x4000B40A'); dagger
endsub
sub loot(Type, Color, Container)
Repeat
UO.FindType(Type, Color, 'lastcontainer')
If uo.FindCount()>0 Then
uo.MoveItem('finditem',0,Container)
wait(100)
end if
Until uo.FindCount()<1 or uo.Dead()
end sub
Все отлично работает скрипт, только нужно сначала 2 раза кликнуть по бекпаку, чтобы скрипт заработал
Posted: 2009-09-17 15:33:14
by Mirage
Это уж я из твоего вариант брал. Он просто либо с бэкапа либо с трупа расчитан. У меня примерно вот так работает:
Code: Select all
sub massmoveinpack()
loot('0x0EED', '0x0000', 'backpack', '0x4000D86A'); gp
endsub
Sub loot(Type, Color, GETContainer, PUTContainer)
Repeat
UO.FindType(Type, Color, GETContainer)
If uo.FindCount()>0 Then
uo.MoveItem('finditem',0,PUTContainer)
wait(100)
end if
Until uo.FindCount()<1 or uo.Dead()
end sub
Posted: 2009-09-17 16:22:37
by Gromiz
спасибо, работает )