Yoko

All sides of Injection
It is currently 2025-11-04 22:33:11

All times are UTC+02:00




Post new topic  Reply to topic  [ 15 posts ] 
Author Message
 Post subject: Прицел =(
PostPosted: 2007-05-03 14:12:17 
Offline
User avatar

Joined: 2007-02-21 20:15:57
Posts: 479
Мне нужно ткнуть на гампе на кнопку, появляется прицел и этот прицел отправить на итем в паке.
Пробовал так, неполучается:
Code:
uo.waittargettype('finditem')
uo.LClick(28,572)
wait(500)


Дело в том что установить ловушку на итем вначале нельзя, нужно сначало дождатся появления прицела.

А второй вопрос про поиск объектов. Нужно искать реги в подсумках и кидать их в бекпак. Незнаю ниодной команды для поиска в подсумках игнорируя бекпак =(

В процессе написания скрипта еще вопросик возник. Я выставил
Code:
uo.set('finddistance','1')

потом ищу кровь и хиляюсь, но чар пытается хилятся кровью которая далеко. А можно только той что под ногами и в 1 тайле от чара. Да и как после исполнения скрипта, дистанцию выставить по дефаулту?

_________________
Шард Антарес
Ururu


Top
   
 Post subject:
PostPosted: 2007-05-03 17:20:35 
Offline

Joined: 2007-04-26 23:35:15
Posts: 220
Code:
 DIM reg[8] 
var c
reg[0]=0x0F7B ; BM
reg[1]=0x0F7A ; BP
reg[2]=0x0F86 ; MR
...........                    
for c=0 to 7
uo.findtype(reg[c],"-1","[color=red][b]my[/b][/color]") ; my искать во всех подсумках пака


на кровь думаю будет так:

Code:
var n
Dim Blood[6] ; вроде их 6 не помню
Blood[0] = '0x0000'
.......
Blood[5] = '0x0000
uo.set('finddistance','1')
For n = 0 TO 5
UO.FindType(Blood[n],'-1','ground')
If UO.FindCount() > 0 Then
UO.UseObject('finditem')
EndIf


и еще так вроде можно:
Code:
Dim Blood[6] ; 
Blood[0] = '0x0000'
.......
Blood[5] = '0x0000'
uo.set('finddistance','1')
For n = 0 TO 5
UO.FindType(Blood[n],'-1','ground')
if uo.GetDistance(Blood[n])<2 then
.......


попробуй оба, не тестить негде просто


Top
   
 Post subject:
PostPosted: 2007-05-03 18:07:17 
Offline
User avatar

Joined: 2007-02-21 20:15:57
Posts: 479
все не так
1) мне нужно только в подсумках искать а не в бекпаке и подсумках
2) и 3) кровь не юзается, он ищет не там где нужно

_________________
Шард Антарес

Ururu


Top
   
 Post subject:
PostPosted: 2007-05-03 18:25:16 
Offline

Joined: 2007-04-26 23:35:15
Posts: 220
ммм, а где он кровь ищет? на земле на растоянии 1 тайла, вроде даже юзать ее должен:)


Top
   
 Post subject:
PostPosted: 2007-05-03 20:02:35 
Offline
User avatar

Joined: 2007-02-21 20:15:57
Posts: 479
ааа все разобрался, кровь за кустиком была и он ее не доставал =)

но первые 2 вопроса актуальны

_________________
Шард Антарес

Ururu


Top
   
 Post subject:
PostPosted: 2007-05-03 20:18:27 
Offline

Joined: 2007-04-26 23:35:15
Posts: 220
а про первую поподробнее можно?

и чем тебе не вариант просто в отдельную сумку кинуть все что нужно, и если не секрет то зачем ето?


Top
   
 Post subject:
PostPosted: 2007-05-03 20:35:58 
Offline
User avatar

Joined: 2007-02-21 20:15:57
Posts: 479
Есть сейф для регов, я тыкаю в нем на кнопку(гамп) и прицел на рег, этор рег суется в сейф.

Если искать в сумках и выкладывать реги в пак не игнорируя поиск в нем, то получается бесконечный цыкл перекладывания из пака в пак.

_________________
Шард Антарес

Ururu


Top
   
 Post subject:
PostPosted: 2007-05-04 02:30:28 
Offline

Joined: 2007-04-26 23:35:15
Posts: 220
а напиши uo.ignor('sunduk')


Top
   
 Post subject:
PostPosted: 2007-05-04 02:56:15 
Offline
User avatar

Joined: 2007-02-21 20:15:57
Posts: 479
о_0 мне просто нужно в подсумках искать игнорируя бекпак

_________________
Шард Антарес

Ururu


Top
   
 Post subject:
PostPosted: 2007-05-04 05:47:41 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Code:
uo.waittargettype('finditem') 
uo.LClick(28,572)
wait(500)

Исправить логику и всё заработает.

Конкретно - первая строчка.

_________________
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Skype: d119060


Top
   
 Post subject:
PostPosted: 2007-05-04 09:36:12 
Offline
User avatar

Joined: 2007-02-21 20:15:57
Posts: 479
Code:
uo.waittargettype(finditem) 
uo.LClick(28,572)
wait(500)

_________________
Шард Антарес

Ururu


Top
   
 Post subject:
PostPosted: 2007-05-04 10:00:29 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Ururu wrote:
Code:
uo.waittargettype(finditem) 
uo.LClick(28,572)
wait(500)

Ещё хуже сделал, имхо 8)

finditem - объект..

_________________
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Skype: d119060


Top
   
 Post subject:
PostPosted: 2007-05-04 10:18:50 
Offline
User avatar

Joined: 2007-02-21 20:15:57
Posts: 479
спасибо, разобрался...

а вот тут еще 1 ньюансик :

скрипт выкладывает все реги из подсумок, в бекпак чара
Code:
for r=1 to 26
repeat
 uo.findtype(Meshok,-1,'backpack')
 MeshSer = UO.GetSerial( 'finditem' )
 uo.useobject(MeshSer)
 wait(500)
 repeat   
     uo.findtype(reg[r],-1,MeshSer)
     uo.moveitem('finditem',0,'backpack')
     wait(200)
 until not UO.GetQuantity('finditem')
 wait(200)
 uo.ignore(MeshSer)
until not UO.count(Meshok)
uo.ignorereset()
NEXT

проблема в том, что он медленный. Тоесть ищет вначале первый рег из массива во всех подсумках, потом второй рег и т.д. Если мешков 100 то скрипт затягивается на пол часа =)

_________________
Шард Антарес

Ururu


Top
   
 Post subject:
PostPosted: 2007-05-04 11:40:49 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Дык скрипт нелогичный, хоть и последовательный :)

Code:
uo.findtype( Meshok )
while uo.findcount()
   if uo.findcount() then
      MeshSer = uo.getserial( "finditem" )
      uo.useobject( "finditem" )
      checklag()
      for r=1 to 26
         uo.findtype( reg[ r ], "-1", MeshSer )
         while uo.findcount()
            uo.moveitem( "finditem" )
            uo.ignore( "finditem" )
         wend
      next
   end if
   uo.findtype( Meshok )
wend
uo.ignorereset()


Вроде всё верно описал, это с учётом, что при перемещении в рюкзаке нету паузы, иначе немного изменить надо :)

_________________
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Skype: d119060


Top
   
 Post subject:
PostPosted: 2007-05-04 13:41:34 
Offline
User avatar

Joined: 2007-02-21 20:15:57
Posts: 479
Не.. Не работает.
1) открывает кучу мешков и не закрыает их (весь экран в мешках). Но с этим можно разобратся переложив мешок в бекпаке.
2) как добирается до бекпака, начинает в нем с одного на дугое место перекладывать реги и на этом все =)

З.Ы. Если пытаюсь закрыть гамп, получается несовсем то что нужно. Закрывает все гампы что есть (даже ,morph 0x0000 сбрасывает), после чего успешно уходит в дисконект =)
Может есть принцип закрытия последнего открывшегося гампа не используя finditem (а если он уже закрыт, то другие не трогать)?

_________________
Шард Антарес

Ururu


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

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 3 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