Page 1 of 1

Script

Posted: 2004-10-17 12:14:20
by Ramin
Я наверно уже всем надоел но очень надо :) скрипт на перекладывание руды в пак хорс ...

Posted: 2004-10-17 15:16:01
by AGRS
А перетаскивание на лошадь не пашет?

Posted: 2004-10-17 18:42:27
by Ramin
AGRS wrote:А перетаскивание на лошадь не пашет?

неа

Posted: 2004-10-17 20:08:24
by AGRS
А на пак лошади? :roll:

Posted: 2004-10-18 02:17:05
by GrayLord
если у вас на шарде пак "грузовой" лошади открывается по двойному клику на ней, то можно использовать примерно такую конструкцию:

Code: Select all

sub main()
    var packhorse='0x01234567' # заменить на сериал "грузовой"
лошадки
    var bpack, ore='0x0123' # заменить на objtype руды
    ...
    uo.useobject('backpack')
    bpack=uo.getserial('lastcontainer')
    uo.useobject(packhorse)
    repeat
        wait(100)
    until bpack<>uo.getserial('lastcontainer')
    bpack=uo.getserial('lastcontainer')
    while uo.count(ore)>0
         uo.waittargettype(ore)
         uo.addobject("ores")
         uo.moveitem("ores",uo.getquantity("ores"),bpack)
         repeat
             wait(100)
         until uo.containerof("ores")==bpack
    wend
    ....
end sub

Posted: 2004-10-18 11:36:29
by Ramin
Неработает , пак хорсы открывает а руду не ложит .

Posted: 2004-10-18 19:11:51
by GrayLord
Ramin wrote:Неработает , пак хорсы открывает а руду не ложит .

круто.
а если просто заменить
uo.moveitem("ores",uo.getquantity("ores"),bpack)
на
uo.moveitem("ores",uo.getquantity("ores"),packhorse)

Posted: 2004-10-18 19:46:49
by Ramin
GrayLord wrote:
Ramin wrote:Неработает , пак хорсы открывает а руду не ложит .

круто.
а если просто заменить
uo.moveitem("ores",uo.getquantity("ores"),bpack)
на
uo.moveitem("ores",uo.getquantity("ores"),packhorse)

он не добавляет даже обжект ores

Posted: 2004-10-18 19:55:26
by GrayLord
Ramin wrote:
GrayLord wrote:
Ramin wrote:Неработает , пак хорсы открывает а руду не ложит .

круто.
а если просто заменить
uo.moveitem("ores",uo.getquantity("ores"),bpack)
на
uo.moveitem("ores",uo.getquantity("ores"),packhorse)

он не добавляет даже обжект ores

а тип руды правильно прописал?

Posted: 2004-10-18 21:39:03
by AGRS
Боже! Что вы тут понамутили!
Это же одной строкой делается.

UO.MoveItem('_'+OreType, '0', Horse), где OreType - графический тип руды, а Horse - серийник лошади или ее рюкзака.

И все сразу будет видно. Работает, али нет.

Posted: 2004-10-18 21:40:22
by AGRS
И неплохо бы узнать для какого шарда, а то может мы зря тут колупаемся? :)

Posted: 2004-10-18 23:05:47
by GrayLord
AGRS wrote:И неплохо бы узнать для какого шарда, а то может мы зря тут колупаемся? :)

=)

Posted: 2004-10-19 21:32:11
by Ramin
AGRS wrote:И неплохо бы узнать для какого шарда, а то может мы зря тут колупаемся? :)

Сфера , WorldHearts

Posted: 2004-10-19 21:33:35
by AGRS
Ramin wrote:
AGRS wrote:И неплохо бы узнать для какого шарда, а то может мы зря тут колупаемся? :)

Сфера , WorldHearts


См мое предложение. Под сферой должно пахать.

Posted: 2004-10-20 17:58:00
by GrayLord
учитывая всё, сказанное выше, приведенный ранее скрипт можно изменить так:
1) если требуется открытие пака лошади:

Code: Select all

sub main() 
    var packhorse='0x01234567' # заменить на сериал "грузовой" лошадки
    var bpack, ore='0x0123' # заменить на objtype руды
    var tmp
    ...
    bpack=uo.getserial('lastcontainer')
    uo.useobject('backpack')     
    repeat
        wait(100)
    until uo.getserial('lastcontainer')==uo.getserial('backpack')
    uo.useobject(packhorse)
    repeat
        wait(100)
    until bpack<>uo.getserial('lastcontainer')
    bpack=uo.getserial('lastcontainer')
    while uo.count(ore)>0
         tmp=uo.count(ore)
         uo.moveitem('_'+ore,"0",bpack)
         repeat
             wait(100)
         until tmp<>uo.count(ore)
    wend
    ....
end sub

2) если оно нам сто лет не надо, и можно просто "таскать" предметы на лошадку:

Code: Select all

sub main() 
    var packhorse='0x01234567' # заменить на сериал "грузовой" лошадки
    var ore='0x0123' # заменить на objtype руды
    var tmp
    ...
    while uo.count(ore)>0
         tmp=uo.count(ore)
         uo.moveitem('_'+ore,"0",packhorse)
         repeat
             wait(100)
         until tmp<>uo.count(ore)
    wend
    ....
end sub