Page 1 of 1

Pomagite pozhalusta

Posted: 2004-12-20 03:42:32
by XpyCmuK
Vot vizde ishu no nemogu naiti script na Teloring na shard DRW :(
Esli u kagota est' daite pozhalusta ego,a to uzhe nechego kochat i Teloring ochen nuzhen. Spasibo vam.

Posted: 2004-12-20 07:09:14
by 666Man666
Хм, а этот не подходит?

Posted: 2004-12-20 09:06:46
by MitAl
666Man666 wrote:Хм, а этот не подходит?


Неа, не подходит. У нас невозможно крафтить бланки и карты.

Я вот такой где-то нашел, но не знаю работает или нет

Code: Select all

################################### 
#        Скрипт для Крафтов       #
# (В данном случае для Tailoring) #
###################################

;|---------------------------|
;| Описание переменных Items |
;|---------------------------|

VAR EQ,RQ1,RQ2,QB
VAR Eat='0x097B' ; Type Еда (Рыба)
VAR Res1='0x175D' ; Type Ресурс 1 (Ткань)
VAR Res2='0x0FA0' ; Type Ресурс 2 (Нитки)
VAR Kit='0x0F9D' ; Type Инструмента крафта (Sewing Kit)
VAR Items='0x1F03' ; Type Выходного материала
EQ=50 ; Количество ресурса 1
RQ1=150 ; Количество ресурса 1
RQ2=20 ; Количество ресурса 1
QB=32 ; Количество сумок в ContainerBag

;|---------------------------------|
;| Описание переменных контейнеров |
;|---------------------------------|

VAR ContainerRes='0x4007CDB0' ; Object Контейнер с ресурсами
VAR ContainerBag='0x401D179E' ; Object Контейнер с сумками
VAR BagCount='0x0E76' ; Type сумок в контейнере ContainerBag


sub main()
   UO.Set('quiet','1')
   UO.Exec('exec Craft')
   UO.IgnoreReset()
end sub

sub OpenBag()
   VAR i,BagID
   UO.UseObject(ContainerBag)
   UO.UseObject(ContainerRes)
   UO.IgnoreReset()
   Repeat
      UO.DeleteJournal()
      Wait(1000)
      UO.FindType(BagCount,'-1',ContainerBag)
      If UO.FindCount('finditem') > 1 Then
         i = (UO.FindCount('finditem') +1)
         UO.Click('finditem')
         If UO.InJournal("a bag") Then
            BagID=UO.JournalSerial(UO.InJournal("a bag")-1)
            UO.SetJournalLine(UO.InJournal("a bag")-1,"")
            UO.FindType(Items,'-1',BagID)
            UO.UseObject(BagID)
            Wait(2000)
            UO.Hide(BagID)
            UO.Ignore(BagID,'on')
         EndIF
      EndIf
      i = (i - 1)
   Until i == 0
   UO.Hide(ContainerBag)
   UO.Hide(ContainerRes)
   UO.Resend()
   Wait(3000)
   UO.IgnoreReset()
end sub


sub Craft()
VAR Last=0,LastTimer
   OpenBag()
   While NOT UO.Dead()

;|-----------------------------------|
;| Search of resources and Take them |
;|-----------------------------------|

      UO.FindType(Eat,'-1','me')
      If UO.GetQuantity('finditem') < 1 then
         UO.FindType(Eat,'-1',ContainerRes)
         If UO.GetQuantity('finditem') > 1 then
            ToTake(3)
         Else
            UO.Exec ('Terminate Craft')
         EndIf
      Else
         ToEat()
      EndIf
      UO.FindType(Res1,'-1','me')
      If UO.GetQuantity('finditem') < 16 then
         UO.FindType(Res1,'-1',ContainerRes)
         If UO.GetQuantity('finditem') > 1 then
            ToTake(1)
         Else
            UO.Exec ('Terminate Craft')
         EndIf
      EndIf
      UO.FindType(Res2,'-1','me')
      If UO.GetQuantity('finditem') < 1 then
         UO.FindType(Res2,'-1',ContainerRes)
         If UO.GetQuantity('finditem') > 1 then
            ToTake(2)
         Else
            UO.Exec ('Terminate Craft')
         EndIf
      EndIf

;|-------------|
;| Craft Items |
;|-------------|

      UO.DeleteJournal()
      UO.WaitTargetType(Res1)
      UO.UseType(Kit)
      UO.WaitMenu ('Cloth','Shirts','Shirts','robe') ; Название КрафтМеню1(Cloth),ПодМеню2(Shirts) -> КрафтМеню2(Shirts),ПодМеню2(Robe)
      LastTimer=UO.Timer()
      Repeat
         wait(100)
      Until UO.InJournal("You put") OR UO.InJournal("Tailoring") OR LastTimer+150<UO.Timer()
      UnLoadItem()
   Wend
end sub

sub ToTake(i)
VAR G,F
   If i == 1 Then
      G = RQ1
      F = Res1
   EndIf
   If i == 2 Then
      G = RQ2
      F = Res2
   EndIf
   If i == 3 Then
      G = EQ
      F = Eat
   EndIf
   UO.FindType(F,'-1',ContainerRes)
   if UO.GetQuantity('finditem') > 1 then
         UO.Grab(''+str(G)+'','finditem')
         UO.DeleteJournal()
      Repeat
         UO.FindType(F,'-1','me')
         Wait(1500)
      Until UO.InJournal("That is too") OR UO.GetQuantity('finditem') > 1
   endif
end sub   
         
sub ToEat()
   UO.UseType(Eat)
end sub

sub UnLoadItem()
   VAR BagID
   VAR i=0
   VAR m=0
   Repeat
      UO.DeleteJournal()
      UO.FindType(BagCount,'-1',ContainerBag)
      UO.Click('finditem')
      m = 0
      Repeat
         Wait(1000)
      Until UO.InJournal("a bag")
      If UO.InJournal("a bag") Then
         BagID=UO.JournalSerial(UO.InJournal("a bag")-1)
         UO.SetJournalLine(UO.InJournal("a bag")-1,"")
         UO.FindType('-1','-1',BagID)
         If UO.FindCount('finditem') < 220 then
            m = UO.FindCount('finditem')
            UO.SetReceivingContainer(BagID)
            UO.FindType(Items,'-1','me')
            UO.Grab('0','finditem')
            UO.ConColor('0x0021')
            UO.Set('quiet','0')
            UO.Print(UO.Print('In BagPack#'+Str(i+1)+' items '+Str(m)+''))   
            UO.Set('quiet','1')
            UO.ConColor('0x0035')
            Wait(1000)
            UO.UnSetReceivingContainer()
         Else
            i = i + 1
            UO.Ignore(BagID, 'on')
         EndIf
      EndIf       
      If i == QB Then
         UO.IgnoreReset()
         i = 0
      EndIf
      UO.FindType(Items,'-1','me')
   Until UO.FindCount('finditem') < 1
end sub

Re: Pomagite pozhalusta

Posted: 2004-12-20 09:08:47
by MitAl
XpyCmuK wrote:Vot vizde ishu no nemogu naiti script na Teloring na shard DRW :(
Esli u kagota est' daite pozhalusta ego,a to uzhe nechego kochat i Teloring ochen nuzhen. Spasibo vam.


Воо, точно работает :lol:

Code: Select all

sub tailoring()
VAR Tkan = "0x175D"
VAR Kit = "0x0F9D"
UO.CancelMenu()
q7:
   uo.exec ("waitmenu 'Cloth' 'Headwear' 'Headwear' 'bandana'")
   uo.waittargettype(Tkan)
   uo.usetype (Kit)
   wait(4000)
goto q7
end sub


Posted: 2004-12-20 12:19:11
by AGRS
MitAl wrote:Неа, не подходит. У нас невозможно крафтить бланки и карты.


Такая уж проблема заменить 1 тип и 1 строку...

Posted: 2004-12-20 14:34:48
by MitAl
AGRS wrote:
MitAl wrote:Неа, не подходит. У нас невозможно крафтить бланки и карты.


Такая уж проблема заменить 1 тип и 1 строку...


Вообще то ты прав, что-то я не подумал ....

Re: Pomagite pozhalusta

Posted: 2004-12-21 16:47:14
by MitAl
XpyCmuK wrote:Vot vizde ishu no nemogu naiti script na Teloring na shard DRW :(
Esli u kagota est' daite pozhalusta ego,a to uzhe nechego kochat i Teloring ochen nuzhen. Spasibo vam.


Вот более интересный скрипт.
Крафтит бодисеши из тряпок, которые лежат в сундуке SourceContainer. А DestContainer - твой бекпак.
После того как сшил несколько бодисешей - режет их на бинты (ну не продовать же их по 16 гп за штуку :-) ).
Откопан случайно на ДРВ. Кто написал - не знаю, я только с шитья роб на сеши переправил.

Code: Select all

##
#крафтит боди сеши и режет на бинтики. Ткань берётся из сейфа. При себе необходимо иметь Sewering Kir и ножницы Scissors
##

sub tailor()
var count
VAR SourceContainer='0x40048498';Id сейфа
VAR DestContainer='0x40151E67';Id бекпека
VAR TType='0x1541';Тип вещи, которую крафтите (необходимо для резания ножницами на бинтики)
UO.CancelMenu()
UO.FindType('0x175D','0x0000',SourceContainer)
UO.AutoMenu('Cloth','Misc.');Скрипт делает робы, но если хотите делать что-нибудь другое,
UO.AutoMenu('Misc.','body sash') ;то менять надо именно тут (и не забудте изменить тип TType)
repeat
count=0
UO.DeleteJournal()
uo.usetype(0x0F9D)
uo.waittargettype(0x175D)
while not UO.InJournal("You put")and not UO.InJournal("ruined") and count<40
wait(200)
count=count+1
wend

if uo.Count(0x175D)<16 then
while not uo.Count(TType)==0
uo.usetype(0x0F9E)
uo.waittargettype(TType)
wait(1000)
wend
UO.FindType('0x175D','0x0000',SourceContainer)
      If UO.GetQuantity('finditem')>0 Then
         CheckLag()
         UO.MoveItem('finditem','200',DestContainer)
      endif
endif
until UO.GetQuantity('finditem')==0
UO.CancelMenu()
#UO.exec('exec healing')
end sub

sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')
   repeat
      wait(500)
   until UO.InJournal('backpack')
end sub