Page 1 of 1

Расскалдкав паке

Posted: 2010-11-13 12:12:18
by antonia
Нужин скрипт, на расскалдку в паке алхимии регов.Например если упал то химия разбросана,потом нажали все по сваим местам перемесилась.

Re: Расскалдкав паке

Posted: 2010-11-13 14:10:29
by Mirage
А тут нет? :roll:

Re: Расскалдкав паке

Posted: 2010-11-14 08:52:17
by Razario
antonia wrote:Нужин скрипт, на расскалдку в паке алхимии регов.Например если упал то химия разбросана,потом нажали все по сваим местам перемесилась.


sub Sortreagenti()
DIM RESI[9]

RESI[1] = 0x0F8D # ss
RESI[2] = 0x0F8C # sa
RESI[3] = 0x0F88 # ns
RESI[4] = 0x0F86 # mr
RESI[5] = 0x0F85 # gs
RESI[6] = 0x0F84 # ga
RESI[7] = 0x0F7A # bp
RESI[8] = 0x0F7B # bm
RESI[9] = 0x0838 # stolbik

wait(100)
UO.FindType(RESI[1],-1,"backpack")
if UO.FindCount()>0 Then
UO.MoveItem("finditem","0","backpack","35","175","0")
wait(100)
Endif
wait(100)
UO.FindType(RESI[2],-1,"backpack")
if UO.FindCount()>0 Then
UO.MoveItem("finditem","0","backpack","35","175","0")
wait(100)
Endif
wait(100)
UO.FindType(RESI[3],-1,"backpack")
if UO.FindCount()>0 Then
UO.MoveItem("finditem","0","backpack","35","175","0")
wait(100)
Endif
wait(100)
UO.FindType(RESI[4],-1,"backpack")
if UO.FindCount()>0 Then
UO.MoveItem("finditem","0","backpack","35","175","0")
wait(100)
Endif
wait(100)
UO.FindType(RESI[5],-1,"backpack")
if UO.FindCount()>0 Then
UO.MoveItem("finditem","0","backpack","35","175","0")
wait(100)
Endif
wait(100)
UO.FindType(RESI[6],-1,"backpack")
if UO.FindCount()>0 Then
UO.MoveItem("finditem","0","backpack","35","175","0")
wait(100)
Endif
wait(100)
UO.FindType(RESI[7],-1,"backpack")
if UO.FindCount()>0 Then
UO.MoveItem("finditem","0","backpack","35","175","0")
wait(100)
Endif
wait(100)
UO.FindType(RESI[8],-1,"backpack")
if UO.FindCount()>0 Then
UO.MoveItem("finditem","0","backpack","35","175","0")
wait(100)
Endif
wait(100)
UO.FindType(RESI[9],-1,"backpack")
if UO.FindCount()>0 Then
UO.MoveItem("finditem","0","backpack","185","115","0")
wait(100)
Endif
wait(100)
end sub

на остальное я думаю сам доработаеш :roll:

Re: Расскалдкав паке

Posted: 2010-11-14 09:55:27
by antonia
Ок спасибо проверим

Re: Расскалдкав паке

Posted: 2010-11-14 23:24:46
by Mirage
Razario wrote:на остальное я думаю сам доработаеш :roll:

Злобно.
Зачем задавать массив чтобы потом его не использовать - что сократило бы скрипт в 3 раза? :mrgreen:

Re: Расскалдкав паке

Posted: 2010-11-15 00:13:34
by Sirocco
Скрипт сократило бы создание сторонней ф-ции с параметрами : (предмет, контейнер, координаты)

Re: Расскалдкав паке

Posted: 2010-11-15 08:42:27
by Razario
Ну как умею так и делаю, совет канечно порадовал, но рас уж такое дело выложи свое творение, у меня на то что вы написали мозгов нехватает грубо говоря. :)

Re: Расскалдкав паке

Posted: 2010-11-15 10:28:50
by Mirage
Я лично пользуюсь на коленке написанным но меня устраивающим:

Code: Select all

sub sort()
   uo.exec ("moveitem '_0x0EFA' '0' 'backpack' 25 20 0");spellbook
      wait(500)
   uo.exec ("moveitem '_0x0F9E' '0' 'backpack' 40 20 0");Silver Scissors
      wait(500)
   uo.exec ("moveitem '_0x1012' '0' 'backpack' 25 20 0");Key
      wait(500)
   uo.exec ("moveitem '_0x1012' '0' 'backpack' 25 23 0");Key
      wait(500)
   uo.exec ("moveitem '_0x0E9B' '0' 'backpack' 50 20 0");ступка
      wait(500)
   uo.exec ("moveitem '0x40380220' '0' 'backpack' 170 20 0");руна
      wait(500)
   uo.exec ("moveitem '0x40F03AEC' '0' 'backpack' 150 20 0");руна
      wait(500)
   uo.exec ("moveitem '0x40F03791' '0' 'backpack' 160 20 0");руна
      wait(500)
   uo.exec ("moveitem '^0x0A3E' '0' 'backpack' 160 170 0");сундук
end sub
Просто реги впишите

Есть готовый вариант расскладывалки гдето в этой теме.

А то что прозвучало как "создание сторонней ф-ции с параметрами" выглядит приблизительно вот так:

Code: Select all

Sub Looting(corps)
   var pack = 'backpack'
   Loot('0x13B1', '-1', corps, pack,'150','170','0')
   Loot('0x13B3', '-1', corps, pack,'150','160','0')
   Loot('0x0A3E', '-1', corps, pack,'160','170','0')
   Loot('0x9aa', '-1', corps, pack,10,170,0)
endsub
Sub Loot(Type, Color, SourceContainer, TargetContainer,X,Y,Z)
   ;uo.ignorereset()
   UO.FindType(Type, Color, SourceContainer)
   while UO.FindCount()
      timemove=UO.Timer()
      while UO.ContainerOf( UO.GetSerial('finditem') )==SourceContainer && timemove+20>UO.Timer()
         uo.MoveItem('finditem',0,TargetContainer,X,Y,Z)
         wait(lootwait)
      wend
      UO.FindType(Type, Color, SourceContainer)
   wend
end sub

PS это маленький кусок приведенный в качестве визуального примера.

Re: Расскалдкав паке

Posted: 2010-11-16 00:00:20
by durDom
Razario wrote:Ну как умею так и делаю, совет канечно порадовал, но рас уж такое дело выложи свое творение, у меня на то что вы написали мозгов нехватает грубо говоря. :)



странный ты человек вирус
взял мой же скрипт переделал и пишешь что это твоё творение
(с) тарик

Re: Расскалдкав паке

Posted: 2010-11-20 11:26:10
by Sirocco
Sub Loot(Type, Color, SourceContainer, TargetContainer,X,Y,Z)

а если нужно вещи в рюкзаке разложить в рюкзаке это же работать не будет.

Re: Расскалдкав паке

Posted: 2010-11-21 08:05:43
by Mirage
у меня он используется чтобы предметы вставали в нужные позиции при луте из тела.
Позже постараюсь протестить чтобы в одном контейнере работал и выложить полученный вариант.

Re: Расскалдкав паке

Posted: 2010-12-02 11:42:43
by durDom
Женя а есть лут с задержкой от 2 - 3 секунд?
чтоб каждый тайп дергал через данное время

Re: Расскалдкав паке

Posted: 2010-12-02 11:56:49
by Mirage
durDom wrote:Женя а есть лут с задержкой от 2 - 3 секунд?
чтоб каждый тайп дергал через данное время

не знаю как у Жени но решение достаточно простое
Если нужно чтобы время случайно выбиралось то можно используется функцию
random_wait()

Code: Select all

sub random_wait()
var x,i
i=1
x=i+uo.Random(20)
x=x*100
wait(x)
end sub

Если нужно чтобы с каждым шагом время увеличивалось то встраивается счетчик x=x+1
ИМХО нужен первый вариант - поиграй с цифрами и будет нормальный результат.