Yoko

All sides of Injection
It is currently 2026-01-03 05:42:10

All times are UTC+02:00




Post new topic  Reply to topic  [ 16 posts ] 
Author Message
PostPosted: 2004-05-05 23:45:21 
Offline

Joined: 2004-05-05 23:38:30
Posts: 13
ТО ЧТО НИЖЕ ! ! ! НЕ ОБРАЩАЙТЕ ВНИМАНИЯ ! ! !


Как зделать чтоб когда скрипт загружаеш тя спрашивали :

" Выберите мешок для складки ! "
И поевлялся таргет ! ! !
И на который ткнёш мешок того ID стане равным.......

MeshSer = (тут ID мешка на который ткнул !)


Last edited by Sinator on 2004-05-09 00:54:55, edited 2 times in total.

Top
   
 Post subject:
PostPosted: 2004-05-06 07:55:11 
Offline

Joined: 2004-05-05 23:38:30
Posts: 13
УРА ! ! ! ! ! ! ! ! !
У меня палучилось написать все кро одного :(

Как зделать чтоб он с координат 1654,1217 брал 100 ингов железа и клал в БэкПак ! ?

Я написал так :

sub ingot_chek()
VAR ingots=0x1BEF

if UO.Count(ingots)>30 then
BS()
endif


if UO.Count(ingots)<30 then
UO.Drag(1655,1216 65535,65535 100)
endif

end sub




ХЕЛП ! ! !


Top
   
 Post subject:
PostPosted: 2004-05-06 09:25:19 
Offline

Joined: 2004-04-12 13:16:17
Posts: 51
Sinator wrote:
УРА ! ! ! ! ! ! ! ! !
У меня палучилось написать все кро одного :(

Как зделать чтоб он с координат 1654,1217 брал 100 ингов железа и клал в БэкПак ! ?

Я написал так :

sub ingot_chek()
VAR ingots=0x1BEF

if UO.Count(ingots)>30 then
BS()
endif


if UO.Count(ingots)<30 then
UO.Drag(1655,1216 65535,65535 100)
endif

end sub




ХЕЛП ! ! !




UO.FindType("желозо ТИП его","-1","ground")
if UO.FindCount()>0 and Uo.GetDistance("0x0EED")<=4 then
UO.Grab("100","finditem")

НУ вот он ищет в пределах 4 клеток айрон тока ты ТИП айрона незабудь указать ,info команда и на всякий случай в инже в разле main незабуд галку поставить Track World Item.


Top
   
 Post subject:
PostPosted: 2004-05-06 12:51:27 
Offline

Joined: 2004-05-05 23:38:30
Posts: 13
Я и это смог сам настроить ! Но все равно СПАСИБО !
Теперь другая проблема ......

Как зделать чтоб из бек пака дагеры кидались в мешок рядом лежащий ???????

Вот мой вариант :

sub un1()
UO.FindType('ТИП ДАГЕРА','ID Мешка для даггеров','ID Моего бэкпака')
wait(500)
UO.Grab('1','finditem')
wait(500)
endif

;UO.SetReceivingContainer('DI Мешка для даггеров') ; А это незнаю нужно или ненужно :)


Top
   
 Post subject:
PostPosted: 2004-05-06 16:25:52 
Offline

Joined: 2004-04-04 21:04:43
Posts: 76
sub un1()
UO.FindType('ТИП ДАГЕРА')
if uo.findcount()>0
uo.moveitem('finditem',0,'ID Мешка для даггеров')
wait(500)
end if
end sub

setReceivingContainer использовать не рекомендуется.


Top
   
 Post subject:
PostPosted: 2004-05-06 20:48:01 
Offline

Joined: 2004-05-05 23:38:30
Posts: 13
СПАСИБО ! ! !

И самый последний вопрос ......
В мешок можно класть токо 255 айтема !
Я хочу зделать чтоб если один переполнен чтоб в другой клалось !
На два мешка получается , а если третий зделать также как и второй то скрипт воще не запускается :( Чё такое ?

Прозьба выложить скрипт на 6 мешков !
УМАЛЯЮ ПОМОГИТЕ ЛОХУ !


Top
   
 Post subject:
PostPosted: 2004-05-06 22:11:41 
Offline

Joined: 2004-05-05 23:38:30
Posts: 13
И еще !
Как зделать проверку сумки ? Лежит в ней 250 предметов или нет ?


Top
   
 Post subject:
PostPosted: 2004-05-07 19:10:20 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Вот, посмотри как у меня сделана прокачка карпы, и сделай также для даггеров:

; Carpentry. v.1.12b (c) Edred
;
; Чар берет из сундука 1 пустой мешок, кладет этот мешок в сундук 2,
; берет с пола логи, крафтит из них удочки и складывает эти удочки
; в этот мешок в сундуке 2. Если логи на полу или пустые мешки
; кончились - выход
;
sub carpentry()
VAR Sunduk1 = '0x4017439B' ; Сериал сундука с пустыми мешками
VAR Sunduk2 = '0x4000F46C' ; Сериал пустого сундука
VAR Meshok = '0x0E76' ; Тип мешка
VAR Logi = '0x1BDD' ; Тип логов
VAR Rubanok = '0x1031' ; Тип инструмента карпентера
VAR Udochka = '0xDBF' ; Тип удочки
VAR Kolvo = 460 ; Брать логов (2 лога = 1 удочка)
VAR MeshSer, j, k
While TRUE
UO.FindType( Logi, -1, 1 ) ; Ищем логи на полу
UO.Grab( Str( Kolvo ), 'finditem' ) ; Кладем логи в пак
wait( 2000 )
If UO.FindCount() == 0 Then
UO.Print("Logs not found, script terminated")
return
Endif
UO.FindType( Meshok, -1, Sunduk1 ) ; Ищем мешок в сундуке 1
MeshSer = UO.GetSerial( 'finditem' )
UO.Grab( '1', 'finditem' ) ; Кладем его в бэкпак
wait( 2000 )
UO.MoveItem( MeshSer, 0, Sunduk2 )
wait( 2000 )
While UO.Count( Logi ) > 0
; Пока в паке есть логи
UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' logov' )
UO.DeleteJournal()
UO.CancelMenu()
UO.WaitMenu ('Carpentry', 'Weapons & Tools', 'Weapons & Tools', 'fishing' )
UO.UseType( Rubanok )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
k = k + 1
wait(500)
wend
; Wait( 14000 )
; Скрафтили удочку
; Сразу переложим ее в мешок
if UO.Count( Udochka ) > 0 then
UO.FindType( Udochka, -1, 'backpack' )
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 2000 )
UO.Print( 'Udochka perelozhena' )
end if
Wend
Wend
end sub


Top
   
 Post subject:
PostPosted: 2004-05-08 21:55:03 
Offline

Joined: 2004-05-05 23:38:30
Posts: 13
СУПЕР СУПЕР СУПЕР ! ! ! ! ! ! ! ! !
У ТЯ ЗАДУМКА ДАЖЕ ЛУТШЕ ЧЕМ У МЕНЯ !!!!!!!!!!!
Тока два вопроса :
1й - А логи (ресурс) лежит на полу или в ундуке ?
2й - А скрипт слетает когда нибуть ??? Или смело можно идти спать ! ?


Top
   
 Post subject:
PostPosted: 2004-05-10 17:09:12 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Sinator wrote:
СУПЕР СУПЕР СУПЕР ! ! ! ! ! ! ! ! !
У ТЯ ЗАДУМКА ДАЖЕ ЛУТШЕ ЧЕМ У МЕНЯ !!!!!!!!!!!
Тока два вопроса :
1й - А логи (ресурс) лежит на полу или в ундуке ?
2й - А скрипт слетает когда нибуть ??? Или смело можно идти спать ! ?


Тебе нужны два сундука рядом с чаром - в одном куча пустых мешков, другой пустой (туда будут складываться мешки с скрафченным). Ресурсы на полу рядом с чаром. Скрипт работает стабильно, ресурсы закончатся (или мешки) - он остановится.


Top
   
 Post subject:
PostPosted: 2004-05-11 17:31:48 
Offline

Joined: 2004-05-05 23:38:30
Posts: 13
Я его переделал ! ! ! Теперь он лутше ! Он не с пола а из сундука берёт инги ! И говорит теперь больше !


Top
   
 Post subject:
PostPosted: 2004-05-11 20:01:12 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Sinator wrote:
Я его переделал ! ! ! Теперь он лутше ! Он не с пола а из сундука берёт инги ! И говорит теперь больше !


Это как кому удобнее. Мне удобнее с пола. Особенно в тех вариантах, когда он (легко переделывается) крафтит что-нибудь требующее нескольких ресурсов. Например карты - кожа и воск. Насчет говорливости - у меня уже давно вообще не говорит - зачем? Вывод надписей важен на этапе отладки, потом только мешает... ИМХО.


Top
   
 Post subject:
PostPosted: 2004-05-13 00:41:21 
Offline
User avatar

Joined: 2004-04-03 18:39:28
Posts: 173
Edred wrote:
Вот, посмотри как у меня сделана прокачка карпы, и сделай также для даггеров:

; Carpentry. v.1.12b (c) Edred
;
; Чар берет из сундука 1 пустой мешок, кладет этот мешок в сундук 2,
; берет с пола логи, крафтит из них удочки и складывает эти удочки
; в этот мешок в сундуке 2. Если логи на полу или пустые мешки
; кончились - выход
;
sub carpentry()
VAR Sunduk1 = '0x4017439B' ; Сериал сундука с пустыми мешками
VAR Sunduk2 = '0x4000F46C' ; Сериал пустого сундука
VAR Meshok = '0x0E76' ; Тип мешка
VAR Logi = '0x1BDD' ; Тип логов
VAR Rubanok = '0x1031' ; Тип инструмента карпентера
VAR Udochka = '0xDBF' ; Тип удочки
VAR Kolvo = 460 ; Брать логов (2 лога = 1 удочка)
VAR MeshSer, j, k
While TRUE
UO.FindType( Logi, -1, 1 ) ; Ищем логи на полу
UO.Grab( Str( Kolvo ), 'finditem' ) ; Кладем логи в пак
wait( 2000 )
If UO.FindCount() == 0 Then
UO.Print("Logs not found, script terminated")
return
Endif
UO.FindType( Meshok, -1, Sunduk1 ) ; Ищем мешок в сундуке 1
MeshSer = UO.GetSerial( 'finditem' )
UO.Grab( '1', 'finditem' ) ; Кладем его в бэкпак
wait( 2000 )
UO.MoveItem( MeshSer, 0, Sunduk2 )
wait( 2000 )
While UO.Count( Logi ) > 0
; Пока в паке есть логи
UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' logov' )
UO.DeleteJournal()
UO.CancelMenu()
UO.WaitMenu ('Carpentry', 'Weapons & Tools', 'Weapons & Tools', 'fishing' )
UO.UseType( Rubanok )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
k = k + 1
wait(500)
wend
; Wait( 14000 )
; Скрафтили удочку
; Сразу переложим ее в мешок
if UO.Count( Udochka ) > 0 then
UO.FindType( Udochka, -1, 'backpack' )
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 2000 )
UO.Print( 'Udochka perelozhena' )
end if
Wend
Wend
end sub



a peredelat nemozesh shtobi nanoch mozhno bilo ostovljat ? ja tvoj nemnoga peredelal postavil checklag() a to zbivalsja pri save !
Code:
sub carpentry() 
VAR Sunduk1 = '0x400634A4' ;
VAR Sunduk2 = '0x400C922A' ;
VAR Meshok = '0x0E76' ;
VAR Logi = '0x1BDD' ;sub carpentry()
VAR Sunduk1 = '0x400634A4' ; Ñåðèàë ñóíäóêà ñ ïóñòûìè ìåøêàìè
VAR Sunduk2 = '0x400C922A' ; Ñåðèàë ïóñòîãî ñóíäóêà
VAR Meshok = '0x0E76' ; Òèï ìåøêà
VAR Logi = '0x1BDD' ; Òèï ëîãîâ
VAR Rubanok = '0x1032' ; Òèï èíñòðóìåíòà êàðïåíòåðà
VAR Udochka = '0x13F8' ; Òèï óäî÷êè
VAR Kolvo = 620 ; Áðàòü ëîãîâ (2 ëîãà = 1 óäî÷êà)
VAR MeshSer, j, k
While TRUE
begin:
UO.FindType( Logi, -1, 1 ) ; Èùåì ëîãè íà ïîëó
UO.Grab( Str( Kolvo ), 'finditem' ) ; Êëàäåì ëîãè â ïàê
wait( 2000 )
If UO.FindCount() == 0 Then
UO.Print("Logs not found, script terminated")
return
Endif
checklag()
UO.FindType( Meshok, -1, Sunduk1 ) ; Èùåì ìåøîê â ñóíäóêå 1
MeshSer = UO.GetSerial( 'finditem' )
UO.Grab( '1', 'finditem' ) ; Êëàäåì åãî â áýêïàê
wait( 2000 )
UO.MoveItem( MeshSer, 0, Sunduk2 )
wait( 2000 )
While UO.Count( Logi ) > 0
; Ïîêà â ïàêå åñòü ëîãè
checklag()
UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' logov' )
UO.DeleteJournal()
UO.CancelMenu()
UO.WaitMenu ('Carpentry', 'Weapons & Tools', 'Weapons & Tools', 'gnarled staff' )
UO.UseType( Rubanok )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
k = k + 1
wait(500)
wend
; Wait( 14000 )
; Ñêðàôòèëè óäî÷êó
; Ñðàçó ïåðåëîæèì åå â ìåøîê
if UO.Count( Udochka ) > 0 then
UO.FindType( Udochka, -1, 'backpack' )
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 2000 )
UO.Print( 'Udochka perelozhena' )
end if

Wend
Wend
end sub

sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')

   repeat
      wait(50)
   until UO.InJournal('backpack')
end sub
VAR Rubanok = '0x1032' ; 
VAR Udochka = '0x13F8' ; 
VAR Kolvo = 620 ; 
VAR MeshSer, j, k
While TRUE
begin:
UO.FindType( Logi, -1, 1 ) ; 
UO.Grab( Str( Kolvo ), 'finditem' ) ; 
wait( 2000 )
If UO.FindCount() == 0 Then
UO.Print("Logs not found, script terminated")
return
Endif
checklag()
UO.FindType( Meshok, -1, Sunduk1 ) 
MeshSer = UO.GetSerial( 'finditem' )
UO.Grab( '1', 'finditem' ) ;
wait( 2000 )
UO.MoveItem( MeshSer, 0, Sunduk2 )
wait( 2000 )
While UO.Count( Logi ) > 0
; Ïîêà â ïàêå åñòü ëîãè
checklag()
UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' logov' )
UO.DeleteJournal()
UO.CancelMenu()
UO.WaitMenu ('Carpentry', 'Weapons & Tools', 'Weapons & Tools', 'gnarled staff' )
UO.UseType( Rubanok )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
k = k + 1
wait(500)
wend
; Wait( 14000 )
if UO.Count( Udochka ) > 0 then
UO.FindType( Udochka, -1, 'backpack' )
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 2000 )
UO.Print( 'Udochka perelozhena' )
end if

Wend
Wend
end sub

sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')

   repeat
      wait(50)
   until UO.InJournal('backpack')
end sub


Top
   
 Post subject:
PostPosted: 2004-05-13 16:23:21 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Kazoo wrote:
a peredelat nemozesh shtobi nanoch mozhno bilo ostovljat ? ja tvoj nemnoga peredelal postavil checklag() a to zbivalsja pri save !



У меня сутками стоял на карпе, счас сутками стоит на тейлоре (карты крафтит), ничего не сбивается... А на сэйв мира можно просто вставить доп проверку журнала на соответствующее сообщение... Но особой необходимости в этом не вижу - чар просто пропускает один цикл и продолжает крафтить. Собъется только в том случае если сэйв придется на тот момент, когда он мешок драгает... я так предполагаю. У меня ни разу такой ситуации не возникало. И то, потом постепенно ситуация выправится, потому что при физлах крафта скрафченные вещи будут постепенно перекладываться из пака в очередной мешок...


Top
   
 Post subject:
PostPosted: 2004-05-20 01:38:08 
Offline

Joined: 2004-04-16 00:56:28
Posts: 19
Code:
###################################
#        Скрипт для Крафтов       #
# (В данном случае для 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 ; Количество еды
RQ1=150 ; Количество ресурса 1
RQ2=20 ; Количество ресурса 2

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

VAR ContainerRes='0x416BFC21' ; Object Контейнер с ресурсами
VAR ContainerBag='0x4158965B' ; 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


Вот аналог, нигде не глючит, все даелает сам легко перенастраивается а главное сам открывает бегпаки и ведет подщет итемов в каждом, после 220 вещей в бегпаке грузит следующий.


Top
   
 Post subject:
PostPosted: 2004-05-26 14:37:41 
Offline

Joined: 2004-05-06 21:19:19
Posts: 5
RQ1=150 ; Количество ресурса 1
RQ2=20 ; Количество ресурса 2
Это количестов ресурсов которое будет брать из пака , или общее количество ?


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 16 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited